[go: nahoru, domu]

Merge "Incrementing release versions for CameraX Beta08 and Alpha15" into androidx-master-dev
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 102a6f5..4dd58da 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -128,7 +128,7 @@
 
 Here is what a typical pull request workflow looks like:
 
-1.  Create a GitHub pull request from **your forked repository **to the androidx-master-dev branch on GitHub.
+1.  Create a GitHub pull request from **your forked repository** to the androidx-master-dev branch on GitHub.
 2.  Sign the Contributor’s License Agreement at https://cla.developers.google.com/ to get @googlebot to give you the `cla: yes` label.
 3.  Your PR will be reviewed using the GitHub pull request flow. You can address the comments / suggestions in your forked repository and update the pull request as normal.
 4.  Once the changes look good, a Googler will Approve your pull request on GitHub.
diff --git a/activity/activity/api/1.2.0-alpha07.txt b/activity/activity/api/1.2.0-alpha07.txt
index e2b5aed..6883231 100644
--- a/activity/activity/api/1.2.0-alpha07.txt
+++ b/activity/activity/api/1.2.0-alpha07.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -17,6 +18,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -46,6 +48,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/api/current.txt b/activity/activity/api/current.txt
index e2b5aed..6883231 100644
--- a/activity/activity/api/current.txt
+++ b/activity/activity/api/current.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -17,6 +18,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -46,6 +48,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/api/public_plus_experimental_1.2.0-alpha07.txt b/activity/activity/api/public_plus_experimental_1.2.0-alpha07.txt
index 1daf641..c40287f 100644
--- a/activity/activity/api/public_plus_experimental_1.2.0-alpha07.txt
+++ b/activity/activity/api/public_plus_experimental_1.2.0-alpha07.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -16,6 +17,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -45,6 +47,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/api/public_plus_experimental_current.txt b/activity/activity/api/public_plus_experimental_current.txt
index 1daf641..c40287f 100644
--- a/activity/activity/api/public_plus_experimental_current.txt
+++ b/activity/activity/api/public_plus_experimental_current.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -16,6 +17,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -45,6 +47,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/api/restricted_1.2.0-alpha07.txt b/activity/activity/api/restricted_1.2.0-alpha07.txt
index 1daf641..c40287f 100644
--- a/activity/activity/api/restricted_1.2.0-alpha07.txt
+++ b/activity/activity/api/restricted_1.2.0-alpha07.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -16,6 +17,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -45,6 +47,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/api/restricted_current.txt b/activity/activity/api/restricted_current.txt
index 1daf641..c40287f 100644
--- a/activity/activity/api/restricted_current.txt
+++ b/activity/activity/api/restricted_current.txt
@@ -1,9 +1,10 @@
 // Signature format: 3.0
 package androidx.activity {
 
-  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+  public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
     ctor public ComponentActivity();
     ctor @ContentView public ComponentActivity(@LayoutRes int);
+    method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
     method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
     method @Deprecated public Object? getLastCustomNonConfigurationInstance();
@@ -16,6 +17,7 @@
     method public final Object? onRetainNonConfigurationInstance();
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
     method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+    method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int);
     method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
     method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
@@ -45,6 +47,26 @@
 
 }
 
+package androidx.activity.contextaware {
+
+  public interface ContextAware {
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public final class ContextAwareHelper {
+    ctor public ContextAwareHelper(androidx.activity.contextaware.ContextAware);
+    method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+    method public void dispatchOnContextAvailable(android.content.Context, android.os.Bundle?);
+    method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+  }
+
+  public interface OnContextAvailableListener {
+    method public void onContextAvailable(androidx.activity.contextaware.ContextAware, android.content.Context, android.os.Bundle?);
+  }
+
+}
+
 package androidx.activity.result {
 
   public final class ActivityResult implements android.os.Parcelable {
diff --git a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt
index 09de5e3..d8ac2bf 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/ComponentActivityLifecycleTest.kt
@@ -28,6 +28,7 @@
 import org.junit.runner.RunWith
 
 internal enum class LifecycleSource {
+    CONTEXT_AWARE,
     ACTIVITY,
     ACTIVITY_CALLBACK
 }
@@ -48,6 +49,7 @@
         // followed by the activity's lifecycle observers
         assertThat(events)
             .containsExactly(
+                LifecycleSource.CONTEXT_AWARE to Lifecycle.Event.ON_CREATE,
                 LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_CREATE,
                 LifecycleSource.ACTIVITY to Lifecycle.Event.ON_CREATE,
                 LifecycleSource.ACTIVITY_CALLBACK to Lifecycle.Event.ON_START,
@@ -69,6 +71,9 @@
     internal val events = mutableListOf<Pair<LifecycleSource, Lifecycle.Event>>()
 
     init {
+        addOnContextAvailableListener { _, _, _ ->
+            events.add(LifecycleSource.CONTEXT_AWARE to Lifecycle.Event.ON_CREATE)
+        }
         lifecycle.addObserver(LifecycleEventObserver { _, event ->
             events.add(LifecycleSource.ACTIVITY to event)
         })
diff --git a/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt b/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
new file mode 100644
index 0000000..3087989
--- /dev/null
+++ b/activity/activity/src/androidTest/java/androidx/activity/contextaware/ContextAwareHelperTest.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.activity.contextaware
+
+import android.content.Context
+import android.os.Bundle
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class ContextAwareHelperTest {
+    private val contextAware = TestContextAware()
+
+    @Test
+    fun addOnContextAvailableListener() {
+        var receivedContextAware: ContextAware? = null
+        val listener = OnContextAvailableListener { contextAware, _, _ ->
+            receivedContextAware = contextAware
+        }
+        contextAware.addOnContextAvailableListener(listener)
+        contextAware.dispatchOnContextAvailable()
+
+        assertThat(receivedContextAware).isSameInstanceAs(contextAware)
+    }
+
+    @Test
+    fun removeOnContextAvailableListener() {
+        var callbackCount = 0
+        val listener = OnContextAvailableListener { _, _, _ ->
+            callbackCount++
+        }
+        contextAware.addOnContextAvailableListener(listener)
+        contextAware.dispatchOnContextAvailable()
+
+        assertThat(callbackCount).isEqualTo(1)
+
+        // Now remove the listener and check that the count doesn't increase
+        contextAware.removeOnContextAvailableListener(listener)
+        contextAware.dispatchOnContextAvailable()
+
+        assertThat(callbackCount).isEqualTo(1)
+    }
+
+    @Test
+    fun reentrantRemove() {
+        var callbackCount = 0
+        val listener = object : OnContextAvailableListener {
+            override fun onContextAvailable(
+                contextAware: ContextAware,
+                context: Context,
+                savedInstanceState: Bundle?
+            ) {
+                callbackCount++
+                contextAware.removeOnContextAvailableListener(this)
+            }
+        }
+        contextAware.addOnContextAvailableListener(listener)
+        contextAware.dispatchOnContextAvailable()
+
+        assertThat(callbackCount).isEqualTo(1)
+
+        callbackCount = 0
+        contextAware.dispatchOnContextAvailable()
+
+        assertThat(callbackCount).isEqualTo(0)
+    }
+}
+
+class TestContextAware : ContextAware {
+    private val contextAwareHelper = ContextAwareHelper(this)
+
+    override fun addOnContextAvailableListener(listener: OnContextAvailableListener) {
+        contextAwareHelper.addOnContextAvailableListener(listener)
+    }
+
+    override fun removeOnContextAvailableListener(listener: OnContextAvailableListener) {
+        contextAwareHelper.removeOnContextAvailableListener(listener)
+    }
+
+    fun dispatchOnContextAvailable(savedInstanceState: Bundle? = null) {
+        contextAwareHelper.dispatchOnContextAvailable(
+            ApplicationProvider.getApplicationContext(), savedInstanceState)
+    }
+}
\ No newline at end of file
diff --git a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java b/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
index 24a4863..60ddd6b 100644
--- a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
+++ b/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
@@ -43,6 +43,9 @@
 import android.view.ViewGroup;
 import android.view.Window;
 
+import androidx.activity.contextaware.ContextAware;
+import androidx.activity.contextaware.ContextAwareHelper;
+import androidx.activity.contextaware.OnContextAvailableListener;
 import androidx.activity.result.ActivityResultCallback;
 import androidx.activity.result.ActivityResultCaller;
 import androidx.activity.result.ActivityResultLauncher;
@@ -87,6 +90,7 @@
  * without enforcing a deep Activity class hierarchy or strong coupling between components.
  */
 public class ComponentActivity extends androidx.core.app.ComponentActivity implements
+        ContextAware,
         LifecycleOwner,
         ViewModelStoreOwner,
         HasDefaultViewModelProviderFactory,
@@ -100,6 +104,7 @@
         ViewModelStore viewModelStore;
     }
 
+    private final ContextAwareHelper mContextAwareHelper = new ContextAwareHelper(this);
     private final LifecycleRegistry mLifecycleRegistry = new LifecycleRegistry(this);
     private final SavedStateRegistryController mSavedStateRegistryController =
             SavedStateRegistryController.create(this);
@@ -279,6 +284,7 @@
      */
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        mContextAwareHelper.dispatchOnContextAvailable(this, savedInstanceState);
         super.onCreate(savedInstanceState);
         mSavedStateRegistryController.performRestore(savedInstanceState);
         mActivityResultRegistry.onRestoreInstanceState(savedInstanceState);
@@ -397,6 +403,26 @@
 
     /**
      * {@inheritDoc}
+     *
+     * Any listener added here will receive a callback as part of
+     * <code>super.onCreate()</code>, but importantly <strong>before</strong> any other
+     * logic is done (including calling through to the framework
+     * {@link Activity#onCreate(Bundle)}.
+     */
+    @Override
+    public final void addOnContextAvailableListener(
+            @NonNull OnContextAvailableListener listener) {
+        mContextAwareHelper.addOnContextAvailableListener(listener);
+    }
+
+    @Override
+    public final void removeOnContextAvailableListener(
+            @NonNull OnContextAvailableListener listener) {
+        mContextAwareHelper.removeOnContextAvailableListener(listener);
+    }
+
+    /**
+     * {@inheritDoc}
      * <p>
      * Overriding this method is no longer supported and this method will be made
      * <code>final</code> in a future version of ComponentActivity. If you do override
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java
new file mode 100644
index 0000000..a8dde12
--- /dev/null
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAware.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.activity.contextaware;
+
+import androidx.annotation.NonNull;
+
+/**
+ * A <code>ContextAware</code> class is associated with a {@link android.content.Context} as
+ * a part of its lifecycle.
+ *
+ * @see ContextAwareHelper
+ */
+public interface ContextAware {
+
+    /**
+     * Add a new {@link OnContextAvailableListener} for receiving a callback for when
+     * this class is associated with a {@link android.content.Context}.
+     * <p>
+     * This will only receive a callback when associated with a new Context: no callback
+     * will be triggered if this is already associated with a Context.
+     *
+     * @param listener The listener that should be added.
+     * @see #removeOnContextAvailableListener(OnContextAvailableListener)
+     */
+    void addOnContextAvailableListener(@NonNull OnContextAvailableListener listener);
+
+    /**
+     * Remove a {@link OnContextAvailableListener} previously added via
+     * {@link #addOnContextAvailableListener(OnContextAvailableListener)}.
+     *
+     * @param listener The listener that should be removed.
+     * @see #addOnContextAvailableListener(OnContextAvailableListener)
+     */
+    void removeOnContextAvailableListener(@NonNull OnContextAvailableListener listener);
+}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java
new file mode 100644
index 0000000..3e21c20
--- /dev/null
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/ContextAwareHelper.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.activity.contextaware;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+/**
+ * Helper class for implementing {@link ContextAware}. Classes using this helper should
+ * call {@link #addOnContextAvailableListener(OnContextAvailableListener)} and
+ * {@link #removeOnContextAvailableListener(OnContextAvailableListener)} as the respective
+ * methods of {@link ContextAware} are called.
+ * <p>
+ * You must call {@link #dispatchOnContextAvailable(Context, Bundle)} once the
+ * {@link Context} is available to dispatch the callbacks to all registered listeners.
+ */
+public final class ContextAwareHelper {
+
+    private final ContextAware mContextAware;
+
+    private final Set<OnContextAvailableListener> mListeners = new CopyOnWriteArraySet<>();
+
+    /**
+     * Construct a new ContextAwareHelper for the given {@link ContextAware} instance.
+     *
+     * @param contextAware The ContextAware instance that listeners are being added to.
+     */
+    public ContextAwareHelper(@NonNull ContextAware contextAware) {
+        mContextAware = contextAware;
+    }
+
+    /**
+     * Add a new {@link OnContextAvailableListener} for receiving a callback for when
+     * this class is associated with a {@link android.content.Context}.
+     *
+     * @param listener The listener that should be added.
+     * @see #removeOnContextAvailableListener(OnContextAvailableListener)
+     */
+    public void addOnContextAvailableListener(@NonNull OnContextAvailableListener listener) {
+        mListeners.add(listener);
+    }
+
+    /**
+     * Remove a {@link OnContextAvailableListener} previously added via
+     * {@link #addOnContextAvailableListener(OnContextAvailableListener)}.
+     *
+     * @param listener The listener that should be removed.
+     * @see #addOnContextAvailableListener(OnContextAvailableListener)
+     */
+    public void removeOnContextAvailableListener(@NonNull OnContextAvailableListener listener) {
+        mListeners.remove(listener);
+    }
+
+    /**
+     * Dispatch the callback of {@link OnContextAvailableListener#onContextAvailable} to
+     * all currently added listeners.
+     *
+     * @param context The {@link Context} the {@link ContextAware} object is now associated with.
+     * @param savedInstanceState The saved instance state, if any.
+     */
+    public void dispatchOnContextAvailable(@NonNull Context context,
+            @Nullable Bundle savedInstanceState) {
+        for (OnContextAvailableListener listener : mListeners) {
+            listener.onContextAvailable(mContextAware, context, savedInstanceState);
+        }
+    }
+}
diff --git a/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java b/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java
new file mode 100644
index 0000000..00614a2
--- /dev/null
+++ b/activity/activity/src/main/java/androidx/activity/contextaware/OnContextAvailableListener.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.activity.contextaware;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+/**
+ * Listener for receiving a callback at the first moment a {@link Context} is made
+ * available to the {@link ContextAware} class.
+ *
+ * @see ContextAware#addOnContextAvailableListener(OnContextAvailableListener)
+ */
+public interface OnContextAvailableListener {
+
+    /**
+     * Called when the given {@link ContextAware} object is associated to a {@link Context}.
+     *
+     * @param contextAware The object that this listener for added to.
+     * @param context The {@link Context} the {@link ContextAware} object is now associated with.
+     * @param savedInstanceState The saved instance state, if any.
+     */
+    void onContextAvailable(@NonNull ContextAware contextAware,
+            @SuppressLint("ContextFirst") /* The object being operated on should be first */
+            @NonNull Context context,
+            @Nullable Bundle savedInstanceState);
+}
diff --git a/annotation/annotation/api/restricted_1.1.0-alpha03.txt b/annotation/annotation/api/restricted_1.1.0-alpha03.txt
deleted file mode 100644
index 917e705..0000000
--- a/annotation/annotation/api/restricted_1.1.0-alpha03.txt
+++ /dev/null
@@ -1,444 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
-    method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
-    method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
-    method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children = {}, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawScope,? super androidx.ui.painting.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawScope implements androidx.ui.core.DensityReceiver {
-    method public void drawChildren();
-    method public androidx.ui.core.Density getDensity();
-    property public androidx.ui.core.Density density;
-  }
-
-  public final class EditorStyle {
-    ctor public EditorStyle(androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color compositionColor, androidx.ui.graphics.Color selectionColor);
-    ctor public EditorStyle();
-    method public androidx.ui.text.TextStyle? component1();
-    method public androidx.ui.graphics.Color component2();
-    method public androidx.ui.graphics.Color component3();
-    method public androidx.ui.core.EditorStyle copy(androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color compositionColor, androidx.ui.graphics.Color selectionColor);
-    method public androidx.ui.graphics.Color getCompositionColor();
-    method public androidx.ui.graphics.Color getSelectionColor();
-    method public androidx.ui.text.TextStyle? getTextStyle();
-  }
-
-  public final class InputFieldKt {
-    ctor public InputFieldKt();
-    method public static void InputField(androidx.ui.input.EditorState value, androidx.ui.core.EditorStyle editorStyle, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorState,kotlin.Unit>  kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> >
-  }
-
-  public final class IntrinsicMeasurementsReceiver implements androidx.ui.core.DensityReceiver {
-    method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    property public androidx.ui.core.Density density;
-  }
-
-  public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
-    method public androidx.ui.core.Density getDensity();
-    method public void layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    property public androidx.ui.core.Density density;
-  }
-
-  public interface LayoutCoordinates {
-    method public androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutCoordinates child, androidx.ui.core.PxPosition childLocal);
-    method public androidx.ui.core.LayoutCoordinates? getParentCoordinates();
-    method public androidx.ui.core.PxPosition getPosition();
-    method public androidx.ui.core.PxSize getSize();
-    method public androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.PxPosition global);
-    method public androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.PxPosition local);
-    property public abstract androidx.ui.core.PxPosition position;
-    property public abstract androidx.ui.core.PxSize size;
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutReceiver implements androidx.ui.core.DensityReceiver {
-    method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Density getDensity();
-    method public void layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
-  }
-
-  public interface Measurable {
-    method public Object? getParentData();
-    property public abstract Object? parentData;
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public abstract class Placeable {
-    ctor public Placeable();
-    method public abstract androidx.ui.core.IntPx getHeight();
-    method public abstract androidx.ui.core.IntPx getWidth();
-    method protected abstract void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    property public abstract androidx.ui.core.IntPx height;
-    property public abstract androidx.ui.core.IntPx width;
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static void PointerInputWrapper(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PositioningBlockReceiver {
-    ctor public PositioningBlockReceiver();
-    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void place(androidx.ui.core.Placeable, androidx.ui.core.Px x, androidx.ui.core.Px y);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, Boolean? enabled = null, Boolean? checked = null, Boolean? selected = null, Boolean? button = null, Boolean? inMutuallyExclusiveGroup = null, Boolean? hidden = null, String? label = null, String? value = null, androidx.ui.text.style.TextDirection? textDirection = null, String? testTag = null, java.util.List<? extends androidx.ui.core.semantics.SemanticsAction<?>> actions = emptyList(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void CraneWrapper(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityReceiver,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.CompositionContext? composeIntoActivity(android.app.Activity activity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method @CheckResult(suggest="+") public static <R> androidx.compose.Effect<R> withDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityReceiver,? extends R> block);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DragGestureDetectorKt {
-    ctor public DragGestureDetectorKt();
-    method public static void DragGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, androidx.ui.core.gesture.DragObserver? dragObserver = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart();
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.engine.geometry.Rect startOffset, androidx.ui.engine.geometry.Rect endOffset, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.engine.geometry.Rect component1();
-    method public androidx.ui.engine.geometry.Rect component2();
-    method public androidx.ui.core.LayoutCoordinates? component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.engine.geometry.Rect startOffset, androidx.ui.engine.geometry.Rect endOffset, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public androidx.ui.engine.geometry.Rect getEndOffset();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public androidx.ui.engine.geometry.Rect getStartOffset();
-  }
-
-  public final class SelectionContainerKt {
-    ctor public SelectionContainerKt();
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, androidx.ui.core.selection.SelectionMode mode = SelectionMode.Vertical, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-}
-
-package androidx.ui.core.vectorgraphics {
-
-  public interface Brush {
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class BrushKt {
-    ctor public BrushKt();
-    method public static androidx.ui.core.vectorgraphics.Brush getEmptyBrush();
-    method public static androidx.ui.core.vectorgraphics.Brush obtainBrush(Object? brush);
-  }
-
-  public final class LinearGradient implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public LinearGradient(kotlin.Pair<androidx.ui.graphics.Color,java.lang.Float>![] colorStops, float startX, float startY, float endX, float endY, androidx.ui.painting.TileMode tileMode);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-    method public float getEndX();
-    method public float getEndY();
-    method public float getStartX();
-    method public float getStartY();
-    method public androidx.ui.painting.TileMode getTileMode();
-  }
-
-  public final class PathBuilder {
-    ctor public PathBuilder();
-    method public androidx.ui.core.vectorgraphics.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder arcToRelative(float a, float b, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder close();
-    method public androidx.ui.core.vectorgraphics.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
-    method public androidx.ui.core.vectorgraphics.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
-    method public androidx.ui.core.vectorgraphics.PathNode![] getNodes();
-    method public androidx.ui.core.vectorgraphics.PathBuilder horizontalLineTo(float x);
-    method public androidx.ui.core.vectorgraphics.PathBuilder horizontalLineToRelative(float x);
-    method public androidx.ui.core.vectorgraphics.PathBuilder lineTo(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder lineToRelative(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder moveTo(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder moveToRelative(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder quadTo(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder quadToRelative(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveCurveToRelative(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveQuadTo(float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveQuadToRelative(float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder verticalLineTo(float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder verticalLineToRelative(float y);
-  }
-
-  public enum PathCommand {
-    method public final char toKey();
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ArcTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand Close;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand CurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand HorizontalLineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand LineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand MoveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand QuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ReflectiveCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ReflectiveQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeArcTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeClose;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeHorizontalTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeLineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeMoveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeReflectiveCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeReflectiveQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeVerticalTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand VerticalLineTo;
-  }
-
-  public final class PathCommandKt {
-    ctor public PathCommandKt();
-    method public static androidx.ui.core.vectorgraphics.PathCommand toPathCommand(char) throws java.lang.IllegalArgumentException;
-  }
-
-  public final class PathDelegate {
-    ctor public PathDelegate(kotlin.jvm.functions.Function1<? super androidx.ui.core.vectorgraphics.PathBuilder,kotlin.Unit> delegate);
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.vectorgraphics.PathBuilder,kotlin.Unit> getDelegate();
-  }
-
-  public final class PathNode {
-    ctor public PathNode(androidx.ui.core.vectorgraphics.PathCommand command, float[] args);
-    method public androidx.ui.core.vectorgraphics.PathCommand component1();
-    method public float[] component2();
-    method public androidx.ui.core.vectorgraphics.PathNode copy(androidx.ui.core.vectorgraphics.PathCommand command, float[] args);
-    method public float[] getArgs();
-    method public androidx.ui.core.vectorgraphics.PathCommand getCommand();
-  }
-
-  public final class PathNodeKt {
-    ctor public PathNodeKt();
-    method public static operator StringBuilder plus(StringBuilder, androidx.ui.core.vectorgraphics.PathNode node);
-  }
-
-  public final class PathParser {
-    ctor public PathParser();
-    method public androidx.ui.core.vectorgraphics.PathParser addPathNodes(androidx.ui.core.vectorgraphics.PathNode![] nodes);
-    method public void clear();
-    method public androidx.ui.core.vectorgraphics.PathParser parsePathString(String pathData) throws java.lang.IllegalArgumentException, java.lang.NumberFormatException;
-    method public androidx.ui.core.vectorgraphics.PathNode![] toNodes();
-    method public androidx.ui.painting.Path toPath(androidx.ui.painting.Path target = Path());
-  }
-
-  public final class PathParserKt {
-    ctor public PathParserKt();
-  }
-
-  public final class RadialGradient implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public RadialGradient(kotlin.Pair<androidx.ui.graphics.Color,java.lang.Float>![] colorStops, float centerX, float centerY, float radius, androidx.ui.painting.TileMode tileMode);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class SolidColor implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public SolidColor(androidx.ui.graphics.Color value);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class VectorKt {
-    ctor public VectorKt();
-    method public static androidx.ui.core.vectorgraphics.PathNode![] addPathNodes(String? pathStr);
-    method public static android.view.View? adoptVectorGraphic(Object? parent, Object? child);
-    method public static androidx.ui.painting.StrokeCap getDefaultStrokeLineCap();
-    method public static androidx.ui.painting.StrokeJoin getDefaultStrokeLineJoin();
-    method public static androidx.ui.core.vectorgraphics.PathNode![] getEmptyPath();
-    method public static void group(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translateX = 0.0f, float translateY = 0.0f, Object? clipPathData = EmptyPath, kotlin.jvm.functions.Function0<kotlin.Unit> childNodes);
-    method public static void path(Object? pathData, String name = "", Object fill = EmptyBrush, float fillAlpha = 1.0f, Object stroke = EmptyBrush, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.painting.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.painting.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static void vector(String name = "", float viewportWidth, float viewportHeight, float defaultWidth = viewportWidth, float defaultHeight = viewportHeight, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    field public static final float DefaultAlpha = 1.0f;
-    field public static final String DefaultGroupName = "";
-    field public static final String DefaultPathName = "";
-    field public static final float DefaultPivotX = 0.0f;
-    field public static final float DefaultPivotY = 0.0f;
-    field public static final float DefaultRotate = 0.0f;
-    field public static final float DefaultScaleX = 1.0f;
-    field public static final float DefaultScaleY = 1.0f;
-    field public static final float DefaultStrokeLineMiter = 4.0f;
-    field public static final float DefaultStrokeLineWidth = 0.0f;
-    field public static final float DefaultTranslateX = 0.0f;
-    field public static final float DefaultTranslateY = 0.0f;
-  }
-
-}
-
-package androidx.ui.core.vectorgraphics.compat {
-
-  public final class VectorResourceKt {
-    ctor public VectorResourceKt();
-    method public static void vectorResource(android.content.res.Resources res, int resId);
-  }
-
-}
-
diff --git a/annotation/annotation/api/restricted_1.1.0-beta02.txt b/annotation/annotation/api/restricted_1.1.0-beta02.txt
deleted file mode 100644
index 917e705..0000000
--- a/annotation/annotation/api/restricted_1.1.0-beta02.txt
+++ /dev/null
@@ -1,444 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
-    method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
-    method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
-    method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementsReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children = {}, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawScope,? super androidx.ui.painting.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawScope implements androidx.ui.core.DensityReceiver {
-    method public void drawChildren();
-    method public androidx.ui.core.Density getDensity();
-    property public androidx.ui.core.Density density;
-  }
-
-  public final class EditorStyle {
-    ctor public EditorStyle(androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color compositionColor, androidx.ui.graphics.Color selectionColor);
-    ctor public EditorStyle();
-    method public androidx.ui.text.TextStyle? component1();
-    method public androidx.ui.graphics.Color component2();
-    method public androidx.ui.graphics.Color component3();
-    method public androidx.ui.core.EditorStyle copy(androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color compositionColor, androidx.ui.graphics.Color selectionColor);
-    method public androidx.ui.graphics.Color getCompositionColor();
-    method public androidx.ui.graphics.Color getSelectionColor();
-    method public androidx.ui.text.TextStyle? getTextStyle();
-  }
-
-  public final class InputFieldKt {
-    ctor public InputFieldKt();
-    method public static void InputField(androidx.ui.input.EditorState value, androidx.ui.core.EditorStyle editorStyle, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorState,kotlin.Unit>  kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> >
-  }
-
-  public final class IntrinsicMeasurementsReceiver implements androidx.ui.core.DensityReceiver {
-    method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    property public androidx.ui.core.Density density;
-  }
-
-  public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
-    method public androidx.ui.core.Density getDensity();
-    method public void layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
-    property public androidx.ui.core.Density density;
-  }
-
-  public interface LayoutCoordinates {
-    method public androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutCoordinates child, androidx.ui.core.PxPosition childLocal);
-    method public androidx.ui.core.LayoutCoordinates? getParentCoordinates();
-    method public androidx.ui.core.PxPosition getPosition();
-    method public androidx.ui.core.PxSize getSize();
-    method public androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.PxPosition global);
-    method public androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.PxPosition local);
-    property public abstract androidx.ui.core.PxPosition position;
-    property public abstract androidx.ui.core.PxSize size;
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,kotlin.Unit> layoutBlock);
-    method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutReceiver implements androidx.ui.core.DensityReceiver {
-    method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Density getDensity();
-    method public void layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
-  }
-
-  public interface Measurable {
-    method public Object? getParentData();
-    property public abstract Object? parentData;
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public abstract class Placeable {
-    ctor public Placeable();
-    method public abstract androidx.ui.core.IntPx getHeight();
-    method public abstract androidx.ui.core.IntPx getWidth();
-    method protected abstract void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    property public abstract androidx.ui.core.IntPx height;
-    property public abstract androidx.ui.core.IntPx width;
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static void PointerInputWrapper(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PositioningBlockReceiver {
-    ctor public PositioningBlockReceiver();
-    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void place(androidx.ui.core.Placeable, androidx.ui.core.Px x, androidx.ui.core.Px y);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, Boolean? enabled = null, Boolean? checked = null, Boolean? selected = null, Boolean? button = null, Boolean? inMutuallyExclusiveGroup = null, Boolean? hidden = null, String? label = null, String? value = null, androidx.ui.text.style.TextDirection? textDirection = null, String? testTag = null, java.util.List<? extends androidx.ui.core.semantics.SemanticsAction<?>> actions = emptyList(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void CraneWrapper(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityReceiver,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.CompositionContext? composeIntoActivity(android.app.Activity activity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method @CheckResult(suggest="+") public static <R> androidx.compose.Effect<R> withDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityReceiver,? extends R> block);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DragGestureDetectorKt {
-    ctor public DragGestureDetectorKt();
-    method public static void DragGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, androidx.ui.core.gesture.DragObserver? dragObserver = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart();
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.engine.geometry.Rect startOffset, androidx.ui.engine.geometry.Rect endOffset, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.engine.geometry.Rect component1();
-    method public androidx.ui.engine.geometry.Rect component2();
-    method public androidx.ui.core.LayoutCoordinates? component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.engine.geometry.Rect startOffset, androidx.ui.engine.geometry.Rect endOffset, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public androidx.ui.engine.geometry.Rect getEndOffset();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public androidx.ui.engine.geometry.Rect getStartOffset();
-  }
-
-  public final class SelectionContainerKt {
-    ctor public SelectionContainerKt();
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, androidx.ui.core.selection.SelectionMode mode = SelectionMode.Vertical, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-}
-
-package androidx.ui.core.vectorgraphics {
-
-  public interface Brush {
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class BrushKt {
-    ctor public BrushKt();
-    method public static androidx.ui.core.vectorgraphics.Brush getEmptyBrush();
-    method public static androidx.ui.core.vectorgraphics.Brush obtainBrush(Object? brush);
-  }
-
-  public final class LinearGradient implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public LinearGradient(kotlin.Pair<androidx.ui.graphics.Color,java.lang.Float>![] colorStops, float startX, float startY, float endX, float endY, androidx.ui.painting.TileMode tileMode);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-    method public float getEndX();
-    method public float getEndY();
-    method public float getStartX();
-    method public float getStartY();
-    method public androidx.ui.painting.TileMode getTileMode();
-  }
-
-  public final class PathBuilder {
-    ctor public PathBuilder();
-    method public androidx.ui.core.vectorgraphics.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder arcToRelative(float a, float b, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder close();
-    method public androidx.ui.core.vectorgraphics.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
-    method public androidx.ui.core.vectorgraphics.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
-    method public androidx.ui.core.vectorgraphics.PathNode![] getNodes();
-    method public androidx.ui.core.vectorgraphics.PathBuilder horizontalLineTo(float x);
-    method public androidx.ui.core.vectorgraphics.PathBuilder horizontalLineToRelative(float x);
-    method public androidx.ui.core.vectorgraphics.PathBuilder lineTo(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder lineToRelative(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder moveTo(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder moveToRelative(float x, float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder quadTo(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder quadToRelative(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveCurveToRelative(float x1, float y1, float x2, float y2);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveQuadTo(float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder reflectiveQuadToRelative(float x1, float y1);
-    method public androidx.ui.core.vectorgraphics.PathBuilder verticalLineTo(float y);
-    method public androidx.ui.core.vectorgraphics.PathBuilder verticalLineToRelative(float y);
-  }
-
-  public enum PathCommand {
-    method public final char toKey();
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ArcTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand Close;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand CurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand HorizontalLineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand LineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand MoveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand QuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ReflectiveCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand ReflectiveQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeArcTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeClose;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeHorizontalTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeLineTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeMoveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeReflectiveCurveTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeReflectiveQuadTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand RelativeVerticalTo;
-    enum_constant public static final androidx.ui.core.vectorgraphics.PathCommand VerticalLineTo;
-  }
-
-  public final class PathCommandKt {
-    ctor public PathCommandKt();
-    method public static androidx.ui.core.vectorgraphics.PathCommand toPathCommand(char) throws java.lang.IllegalArgumentException;
-  }
-
-  public final class PathDelegate {
-    ctor public PathDelegate(kotlin.jvm.functions.Function1<? super androidx.ui.core.vectorgraphics.PathBuilder,kotlin.Unit> delegate);
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.vectorgraphics.PathBuilder,kotlin.Unit> getDelegate();
-  }
-
-  public final class PathNode {
-    ctor public PathNode(androidx.ui.core.vectorgraphics.PathCommand command, float[] args);
-    method public androidx.ui.core.vectorgraphics.PathCommand component1();
-    method public float[] component2();
-    method public androidx.ui.core.vectorgraphics.PathNode copy(androidx.ui.core.vectorgraphics.PathCommand command, float[] args);
-    method public float[] getArgs();
-    method public androidx.ui.core.vectorgraphics.PathCommand getCommand();
-  }
-
-  public final class PathNodeKt {
-    ctor public PathNodeKt();
-    method public static operator StringBuilder plus(StringBuilder, androidx.ui.core.vectorgraphics.PathNode node);
-  }
-
-  public final class PathParser {
-    ctor public PathParser();
-    method public androidx.ui.core.vectorgraphics.PathParser addPathNodes(androidx.ui.core.vectorgraphics.PathNode![] nodes);
-    method public void clear();
-    method public androidx.ui.core.vectorgraphics.PathParser parsePathString(String pathData) throws java.lang.IllegalArgumentException, java.lang.NumberFormatException;
-    method public androidx.ui.core.vectorgraphics.PathNode![] toNodes();
-    method public androidx.ui.painting.Path toPath(androidx.ui.painting.Path target = Path());
-  }
-
-  public final class PathParserKt {
-    ctor public PathParserKt();
-  }
-
-  public final class RadialGradient implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public RadialGradient(kotlin.Pair<androidx.ui.graphics.Color,java.lang.Float>![] colorStops, float centerX, float centerY, float radius, androidx.ui.painting.TileMode tileMode);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class SolidColor implements androidx.ui.core.vectorgraphics.Brush {
-    ctor public SolidColor(androidx.ui.graphics.Color value);
-    method public void applyBrush(androidx.ui.painting.Paint p);
-  }
-
-  public final class VectorKt {
-    ctor public VectorKt();
-    method public static androidx.ui.core.vectorgraphics.PathNode![] addPathNodes(String? pathStr);
-    method public static android.view.View? adoptVectorGraphic(Object? parent, Object? child);
-    method public static androidx.ui.painting.StrokeCap getDefaultStrokeLineCap();
-    method public static androidx.ui.painting.StrokeJoin getDefaultStrokeLineJoin();
-    method public static androidx.ui.core.vectorgraphics.PathNode![] getEmptyPath();
-    method public static void group(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translateX = 0.0f, float translateY = 0.0f, Object? clipPathData = EmptyPath, kotlin.jvm.functions.Function0<kotlin.Unit> childNodes);
-    method public static void path(Object? pathData, String name = "", Object fill = EmptyBrush, float fillAlpha = 1.0f, Object stroke = EmptyBrush, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.painting.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.painting.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static void vector(String name = "", float viewportWidth, float viewportHeight, float defaultWidth = viewportWidth, float defaultHeight = viewportHeight, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    field public static final float DefaultAlpha = 1.0f;
-    field public static final String DefaultGroupName = "";
-    field public static final String DefaultPathName = "";
-    field public static final float DefaultPivotX = 0.0f;
-    field public static final float DefaultPivotY = 0.0f;
-    field public static final float DefaultRotate = 0.0f;
-    field public static final float DefaultScaleX = 1.0f;
-    field public static final float DefaultScaleY = 1.0f;
-    field public static final float DefaultStrokeLineMiter = 4.0f;
-    field public static final float DefaultStrokeLineWidth = 0.0f;
-    field public static final float DefaultTranslateX = 0.0f;
-    field public static final float DefaultTranslateY = 0.0f;
-  }
-
-}
-
-package androidx.ui.core.vectorgraphics.compat {
-
-  public final class VectorResourceKt {
-    ctor public VectorResourceKt();
-    method public static void vectorResource(android.content.res.Resources res, int resId);
-  }
-
-}
-
diff --git a/appcompat/appcompat/build.gradle b/appcompat/appcompat/build.gradle
index bdd7054..1afec62 100644
--- a/appcompat/appcompat/build.gradle
+++ b/appcompat/appcompat/build.gradle
@@ -15,7 +15,10 @@
     api(project(":core:core"))
     implementation("androidx.collection:collection:1.0.0")
     api("androidx.cursoradapter:cursoradapter:1.0.0")
-    api("androidx.fragment:fragment:1.1.0")
+    api(project(":activity:activity"))
+    // Activity 1.2 requires depending on Fragment 1.3, so we need project dependencies on both
+    // despite only directly requiring new APIs in Activity 1.2
+    api(project(":fragment:fragment"))
     api(project(":appcompat:appcompat-resources"))
     api("androidx.drawerlayout:drawerlayout:1.0.0")
     implementation(project(":lifecycle:lifecycle-runtime"))
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/KeyEventsTestCaseWithWindowDecor.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/KeyEventsTestCaseWithWindowDecor.java
index 49a9488..e830b1e 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/KeyEventsTestCaseWithWindowDecor.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/KeyEventsTestCaseWithWindowDecor.java
@@ -46,7 +46,7 @@
         final HandlerView mockView2 = new HandlerView(mActivityTestRule.getActivity());
         Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
 
-        // Sanity check: should work before any unhandled stuff is used. This just needs to run
+        // Validity check: should work before any unhandled stuff is used. This just needs to run
         // without causing a crash
         mActivityTestRule.runOnUiThread(new Runnable() {
             @Override
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatActivity.java b/appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatActivity.java
index 664d69f..8c35ee4 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatActivity.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatActivity.java
@@ -30,6 +30,8 @@
 import android.view.ViewGroup;
 import android.view.Window;
 
+import androidx.activity.contextaware.ContextAware;
+import androidx.activity.contextaware.OnContextAvailableListener;
 import androidx.annotation.CallSuper;
 import androidx.annotation.ContentView;
 import androidx.annotation.IdRes;
@@ -88,6 +90,7 @@
      */
     public AppCompatActivity() {
         super();
+        initDelegate();
     }
 
     /**
@@ -103,6 +106,19 @@
     @ContentView
     public AppCompatActivity(@LayoutRes int contentLayoutId) {
         super(contentLayoutId);
+        initDelegate();
+    }
+
+    private void initDelegate() {
+        addOnContextAvailableListener(new OnContextAvailableListener() {
+            @Override
+            public void onContextAvailable(@NonNull ContextAware contextAware,
+                    @NonNull Context context, @Nullable Bundle savedInstanceState) {
+                final AppCompatDelegate delegate = getDelegate();
+                delegate.installViewFactory();
+                delegate.onCreate(savedInstanceState);
+            }
+        });
     }
 
     @Override
@@ -111,14 +127,6 @@
     }
 
     @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        final AppCompatDelegate delegate = getDelegate();
-        delegate.installViewFactory();
-        delegate.onCreate(savedInstanceState);
-        super.onCreate(savedInstanceState);
-    }
-
-    @Override
     public void setTheme(@StyleRes final int resId) {
         super.setTheme(resId);
         getDelegate().setTheme(resId);
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/app/ToolbarActionBar.java b/appcompat/appcompat/src/main/java/androidx/appcompat/app/ToolbarActionBar.java
index 819f56c..f898efc 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/app/ToolbarActionBar.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/app/ToolbarActionBar.java
@@ -532,7 +532,7 @@
         public View onCreatePanelView(int featureId) {
             if (featureId == Window.FEATURE_OPTIONS_PANEL) {
                 // This gets called by PhoneWindow.preparePanel. Since this already manages
-                // its own panel, we return a dummy view here to prevent PhoneWindow from
+                // its own panel, we return a placeholder view here to prevent PhoneWindow from
                 // preparing a default one.
                 return new View(mDecorToolbar.getContext());
             }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java
index 79e129d..3190ebc 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatAutoCompleteTextView.java
@@ -22,7 +22,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.ActionMode;
 import android.view.inputmethod.EditorInfo;
@@ -123,9 +122,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -154,9 +150,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatButton.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatButton.java
index 5169d2a..7f3a37e 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatButton.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatButton.java
@@ -23,7 +23,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.ActionMode;
 import android.view.accessibility.AccessibilityEvent;
@@ -110,9 +109,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -141,9 +137,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java
index 4c2c159..1adf364 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatCheckBox.java
@@ -22,7 +22,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.CheckBox;
@@ -111,9 +110,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportButtonTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mCompoundButtonHelper != null) {
             mCompoundButtonHelper.setSupportButtonTintList(tint);
         }
@@ -165,9 +161,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -196,9 +189,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatEditText.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatEditText.java
index 6b1fcb2..73874b8 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatEditText.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatEditText.java
@@ -137,9 +137,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -168,9 +165,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
index 16d10bc..fe65b79 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
@@ -24,7 +24,6 @@
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.widget.ImageButton;
 import android.widget.ImageView;
@@ -139,9 +138,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -170,9 +166,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
index 473b2bb..ba964d9 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
@@ -24,7 +24,6 @@
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.widget.ImageView;
 
@@ -149,9 +148,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -180,9 +176,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
@@ -211,9 +204,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportImageTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mImageHelper != null) {
             mImageHelper.setSupportImageTintList(tint);
         }
@@ -242,9 +232,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportImageTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mImageHelper != null) {
             mImageHelper.setSupportImageTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java
index 4b00138..3910f28 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatMultiAutoCompleteTextView.java
@@ -22,7 +22,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputConnection;
@@ -121,9 +120,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -152,9 +148,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java
index bc9fcc9..2550334 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatRadioButton.java
@@ -22,7 +22,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.RadioButton;
@@ -161,9 +160,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -192,9 +188,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatSpinner.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatSpinner.java
index 43ef5ec..a7751b1 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatSpinner.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatSpinner.java
@@ -498,9 +498,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -530,9 +527,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextView.java
index b140c87..3edf849 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextView.java
@@ -138,9 +138,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -169,9 +166,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatToggleButton.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatToggleButton.java
index f2b61fb..f03aab1 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatToggleButton.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatToggleButton.java
@@ -22,7 +22,6 @@
 import android.content.res.ColorStateList;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.widget.ToggleButton;
 
@@ -99,9 +98,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintList(@Nullable ColorStateList tint) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintList(tint);
         }
@@ -130,9 +126,6 @@
     @RestrictTo(LIBRARY_GROUP_PREFIX)
     @Override
     public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode tintMode) {
-        if (Build.VERSION.SDK_INT >= 21) {
-            return;
-        }
         if (mBackgroundTintHelper != null) {
             mBackgroundTintHelper.setSupportBackgroundTintMode(tintMode);
         }
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ContentFrameLayout.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ContentFrameLayout.java
index fcefd9e..f654893 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ContentFrameLayout.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ContentFrameLayout.java
@@ -21,7 +21,6 @@
 import static android.view.View.MeasureSpec.getMode;
 
 import static androidx.annotation.RestrictTo.Scope.LIBRARY;
-import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
 
 import android.content.Context;
 import android.graphics.Rect;
@@ -74,7 +73,7 @@
     /**
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public void dispatchFitSystemWindows(Rect insets) {
         fitSystemWindows(insets);
     }
@@ -89,7 +88,7 @@
      *
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public void setDecorPadding(int left, int top, int right, int bottom) {
         mDecorPadding.set(left, top, right, bottom);
         if (ViewCompat.isLaidOut(this)) {
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java
index e02541f..8343040 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/LinearLayoutCompat.java
@@ -798,7 +798,7 @@
 
                 float childExtra = lp.weight;
                 if (childExtra > 0) {
-                    // Child said it could absorb extra space -- give him his share
+                    // Child said it could absorb extra space -- give them their share
                     int share = (int) (childExtra * delta / weightSum);
                     weightSum -= childExtra;
                     delta -= share;
@@ -1186,7 +1186,7 @@
 
                 float childExtra = lp.weight;
                 if (childExtra > 0) {
-                    // Child said it could absorb extra space -- give him his share
+                    // Child said it could absorb extra space -- give them their share
                     int share = (int) (childExtra * delta / weightSum);
                     weightSum -= childExtra;
                     delta -= share;
diff --git a/appcompat/appcompat/src/main/res/drawable/abc_cab_background_top_material.xml b/appcompat/appcompat/src/main/res/drawable/abc_cab_background_top_material.xml
index f20add7..0922395 100644
--- a/appcompat/appcompat/src/main/res/drawable/abc_cab_background_top_material.xml
+++ b/appcompat/appcompat/src/main/res/drawable/abc_cab_background_top_material.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 
-<!-- This is a dummy drawable so that we can refer to the drawable ID -->
+<!-- This is a fake drawable so that we can refer to the drawable ID -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <solid android:color="@android:color/white"/>
 </shape>
diff --git a/appsearch/appsearch/build.gradle b/appsearch/appsearch/build.gradle
index adb893e..92dc7b3 100644
--- a/appsearch/appsearch/build.gradle
+++ b/appsearch/appsearch/build.gradle
@@ -31,10 +31,12 @@
         targetCompatibility = JavaVersion.VERSION_1_8
     }
     buildTypes.all {
-        minifyEnabled true
-        proguardFiles getDefaultProguardFile(
-                'proguard-android-optimize.txt'),
-                'proguard-rules.pro'
+        // TODO(b/161836669): Minifiation is currently disabled because if it is on, the aar gets
+        //   desugared twice in some workflows, which fails. Decide how to handle this (e.g.
+        //   splitting targets, continuing with the consumerProguardFiles solution here, fixing the
+        //   flows that perform duplicate desugaring, or something else).
+        minifyEnabled false
+        consumerProguardFiles 'proguard-rules.pro'
     }
     // TODO(b/161205849): We've had to move libicing.so compilation into appsearch:appsearch to get
     //  it included into the exported aar. Find a proper solution for bundling libicing.so into
diff --git a/appsearch/appsearch/src/main/java/androidx/appsearch/app/AppSearchResult.java b/appsearch/appsearch/src/main/java/androidx/appsearch/app/AppSearchResult.java
index d2fd6be..f29bb66 100644
--- a/appsearch/appsearch/src/main/java/androidx/appsearch/app/AppSearchResult.java
+++ b/appsearch/appsearch/src/main/java/androidx/appsearch/app/AppSearchResult.java
@@ -107,16 +107,19 @@
     }
 
     /**
-     * Returns the returned value associated with this result.
+     * Returns the result value associated with this result, if it was successful.
      *
-     * <p>If {@link #isSuccess} is {@code false}, the result value is always {@code null}. The value
-     * may be {@code null} even if {@link #isSuccess} is {@code true}. See the documentation of the
-     * particular {@code AppSearchManager} call producing this {@link AppSearchResult} for what is
-     * returned by {@link #getResultValue}.
+     * <p>See the documentation of the particular {@code AppSearchManager} call producing this
+     * {@link AppSearchResult} for what is placed in the result value by that call.
+     *
+     * @throws IllegalStateException if this {@link AppSearchResult} is not successful.
      */
     // TODO(b/157082794): Linkify AppSearchManager once that API is public
     @Nullable
     public ValueType getResultValue() {
+        if (!isSuccess()) {
+            throw new IllegalStateException("AppSearchResult is a failure: " + this);
+        }
         return mResultValue;
     }
 
@@ -134,16 +137,6 @@
         return mErrorMessage;
     }
 
-    /**
-     * Asserts that this {@link AppSearchResult} is successful.
-     * @hide
-     */
-    public void checkSuccess() {
-        if (!isSuccess()) {
-            throw new IllegalStateException("AppSearchResult is a failure: " + this);
-        }
-    }
-
     @Override
     public boolean equals(@Nullable Object other) {
         if (this == other) {
diff --git a/biometric/biometric/api/1.1.0-alpha02.txt b/biometric/biometric/api/1.1.0-alpha02.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/1.1.0-alpha02.txt
+++ b/biometric/biometric/api/1.1.0-alpha02.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/api/current.txt b/biometric/biometric/api/current.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/current.txt
+++ b/biometric/biometric/api/current.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/api/public_plus_experimental_1.1.0-alpha02.txt b/biometric/biometric/api/public_plus_experimental_1.1.0-alpha02.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/public_plus_experimental_1.1.0-alpha02.txt
+++ b/biometric/biometric/api/public_plus_experimental_1.1.0-alpha02.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/api/public_plus_experimental_current.txt b/biometric/biometric/api/public_plus_experimental_current.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/public_plus_experimental_current.txt
+++ b/biometric/biometric/api/public_plus_experimental_current.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/api/restricted_1.1.0-alpha02.txt b/biometric/biometric/api/restricted_1.1.0-alpha02.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/restricted_1.1.0-alpha02.txt
+++ b/biometric/biometric/api/restricted_1.1.0-alpha02.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/api/restricted_current.txt b/biometric/biometric/api/restricted_current.txt
index 97d7f04..4a73a63 100644
--- a/biometric/biometric/api/restricted_current.txt
+++ b/biometric/biometric/api/restricted_current.txt
@@ -40,6 +40,7 @@
     field public static final int ERROR_NO_BIOMETRICS = 11; // 0xb
     field public static final int ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
     field public static final int ERROR_NO_SPACE = 4; // 0x4
+    field public static final int ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
     field public static final int ERROR_TIMEOUT = 3; // 0x3
     field public static final int ERROR_UNABLE_TO_PROCESS = 2; // 0x2
     field public static final int ERROR_USER_CANCELED = 10; // 0xa
diff --git a/biometric/biometric/src/main/java/androidx/biometric/BiometricConstants.java b/biometric/biometric/src/main/java/androidx/biometric/BiometricConstants.java
index eb8c1ae..19534f5 100644
--- a/biometric/biometric/src/main/java/androidx/biometric/BiometricConstants.java
+++ b/biometric/biometric/src/main/java/androidx/biometric/BiometricConstants.java
@@ -113,6 +113,12 @@
     int ERROR_NO_DEVICE_CREDENTIAL = 14;
 
     /**
+     * A security vulnerability has been discovered with one or more hardware sensors. The
+     * affected sensor(s) are unavailable until a security update has addressed the issue.
+     */
+    int ERROR_SECURITY_UPDATE_REQUIRED = 15;
+
+    /**
      * @hide
      */
     @RestrictTo(RestrictTo.Scope.LIBRARY)
diff --git a/biometric/biometric/src/main/java/androidx/biometric/ErrorUtils.java b/biometric/biometric/src/main/java/androidx/biometric/ErrorUtils.java
index 923516d..8b10b4f 100644
--- a/biometric/biometric/src/main/java/androidx/biometric/ErrorUtils.java
+++ b/biometric/biometric/src/main/java/androidx/biometric/ErrorUtils.java
@@ -37,19 +37,20 @@
      */
     static boolean isKnownError(int errorCode) {
         switch (errorCode) {
-            case BiometricPrompt.ERROR_CANCELED:
-            case BiometricPrompt.ERROR_HW_NOT_PRESENT:
             case BiometricPrompt.ERROR_HW_UNAVAILABLE:
-            case BiometricPrompt.ERROR_LOCKOUT:
-            case BiometricPrompt.ERROR_LOCKOUT_PERMANENT:
-            case BiometricPrompt.ERROR_NEGATIVE_BUTTON:
-            case BiometricPrompt.ERROR_NO_BIOMETRICS:
-            case BiometricPrompt.ERROR_NO_DEVICE_CREDENTIAL:
-            case BiometricPrompt.ERROR_NO_SPACE:
-            case BiometricPrompt.ERROR_TIMEOUT:
             case BiometricPrompt.ERROR_UNABLE_TO_PROCESS:
-            case BiometricPrompt.ERROR_USER_CANCELED:
+            case BiometricPrompt.ERROR_TIMEOUT:
+            case BiometricPrompt.ERROR_NO_SPACE:
+            case BiometricPrompt.ERROR_CANCELED:
+            case BiometricPrompt.ERROR_LOCKOUT:
             case BiometricPrompt.ERROR_VENDOR:
+            case BiometricPrompt.ERROR_LOCKOUT_PERMANENT:
+            case BiometricPrompt.ERROR_USER_CANCELED:
+            case BiometricPrompt.ERROR_NO_BIOMETRICS:
+            case BiometricPrompt.ERROR_HW_NOT_PRESENT:
+            case BiometricPrompt.ERROR_NEGATIVE_BUTTON:
+            case BiometricPrompt.ERROR_NO_DEVICE_CREDENTIAL:
+            case BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED:
                 return true;
             default:
                 return false;
diff --git a/biometric/biometric/src/test/java/androidx/biometric/ErrorUtilsTest.java b/biometric/biometric/src/test/java/androidx/biometric/ErrorUtilsTest.java
index 0e188c7..7d6a360 100644
--- a/biometric/biometric/src/test/java/androidx/biometric/ErrorUtilsTest.java
+++ b/biometric/biometric/src/test/java/androidx/biometric/ErrorUtilsTest.java
@@ -44,6 +44,8 @@
         assertThat(ErrorUtils.isKnownError(BiometricPrompt.ERROR_HW_NOT_PRESENT)).isTrue();
         assertThat(ErrorUtils.isKnownError(BiometricPrompt.ERROR_NEGATIVE_BUTTON)).isTrue();
         assertThat(ErrorUtils.isKnownError(BiometricPrompt.ERROR_NO_DEVICE_CREDENTIAL)).isTrue();
+        assertThat(ErrorUtils.isKnownError(BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED))
+                .isTrue();
     }
 
     @Test
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 2348369..62e145f 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -60,7 +60,7 @@
     val ENTERPRISE = Version("1.1.0-alpha01")
     val EXIFINTERFACE = Version("1.3.0-alpha02")
     val FRAGMENT = Version("1.3.0-alpha07")
-    val FUTURES = Version("1.1.0-rc01")
+    val FUTURES = Version("1.2.0-alpha01")
     val GRIDLAYOUT = Version("1.1.0-alpha01")
     val HEIFWRITER = Version("1.1.0-alpha01")
     val HILT = Version("1.0.0-alpha02")
@@ -121,5 +121,5 @@
     val WEBKIT = Version("1.4.0-alpha01")
     val WINDOW = Version("1.0.0-alpha02")
     val WINDOW_SIDECAR = Version("0.1.0-alpha01")
-    val WORK = Version("2.4.0-rc01")
+    val WORK = Version("2.5.0-alpha01")
 }
diff --git a/camera/camera-core/api/1.0.0-beta05.txt b/camera/camera-core/api/1.0.0-beta05.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/1.0.0-beta05.txt
+++ b/camera/camera-core/api/1.0.0-beta05.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/1.0.0-beta06.txt b/camera/camera-core/api/1.0.0-beta06.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/1.0.0-beta06.txt
+++ b/camera/camera-core/api/1.0.0-beta06.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/1.0.0-beta07.txt b/camera/camera-core/api/1.0.0-beta07.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/1.0.0-beta07.txt
+++ b/camera/camera-core/api/1.0.0-beta07.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/current.txt b/camera/camera-core/api/current.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/current.txt
+++ b/camera/camera-core/api/current.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/public_plus_experimental_1.0.0-beta05.txt b/camera/camera-core/api/public_plus_experimental_1.0.0-beta05.txt
index 2b746ba..9b348d20 100644
--- a/camera/camera-core/api/public_plus_experimental_1.0.0-beta05.txt
+++ b/camera/camera-core/api/public_plus_experimental_1.0.0-beta05.txt
@@ -22,10 +22,6 @@
   public static final class CameraControl.OperationCanceledException extends java.lang.Exception {
   }
 
-  @androidx.camera.core.ExperimentalCameraFilter public interface CameraFilter {
-    method public void filter(java.util.LinkedHashSet<androidx.camera.core.Camera!>);
-  }
-
   public interface CameraInfo {
     method public int getSensorRotationDegrees();
     method public int getSensorRotationDegrees(int);
@@ -46,9 +42,8 @@
 
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
-    method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
@@ -84,9 +79,6 @@
     ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraSelector, float, float);
   }
 
-  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCameraFilter {
-  }
-
   @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCustomizableThreads {
   }
 
diff --git a/camera/camera-core/api/public_plus_experimental_1.0.0-beta06.txt b/camera/camera-core/api/public_plus_experimental_1.0.0-beta06.txt
index 6e77917..7893556 100644
--- a/camera/camera-core/api/public_plus_experimental_1.0.0-beta06.txt
+++ b/camera/camera-core/api/public_plus_experimental_1.0.0-beta06.txt
@@ -48,7 +48,7 @@
     ctor public CameraSelector.Builder();
     method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/public_plus_experimental_1.0.0-beta07.txt b/camera/camera-core/api/public_plus_experimental_1.0.0-beta07.txt
index 4b119c0..11f834b 100644
--- a/camera/camera-core/api/public_plus_experimental_1.0.0-beta07.txt
+++ b/camera/camera-core/api/public_plus_experimental_1.0.0-beta07.txt
@@ -48,7 +48,7 @@
     ctor public CameraSelector.Builder();
     method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/public_plus_experimental_current.txt b/camera/camera-core/api/public_plus_experimental_current.txt
index 4b119c0..11f834b 100644
--- a/camera/camera-core/api/public_plus_experimental_current.txt
+++ b/camera/camera-core/api/public_plus_experimental_current.txt
@@ -48,7 +48,7 @@
     ctor public CameraSelector.Builder();
     method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/restricted_1.0.0-beta05.txt b/camera/camera-core/api/restricted_1.0.0-beta05.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/restricted_1.0.0-beta05.txt
+++ b/camera/camera-core/api/restricted_1.0.0-beta05.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/restricted_1.0.0-beta06.txt b/camera/camera-core/api/restricted_1.0.0-beta06.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/restricted_1.0.0-beta06.txt
+++ b/camera/camera-core/api/restricted_1.0.0-beta06.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/restricted_1.0.0-beta07.txt b/camera/camera-core/api/restricted_1.0.0-beta07.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/restricted_1.0.0-beta07.txt
+++ b/camera/camera-core/api/restricted_1.0.0-beta07.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-core/api/restricted_current.txt b/camera/camera-core/api/restricted_current.txt
index 59da60e..1b9883a 100644
--- a/camera/camera-core/api/restricted_current.txt
+++ b/camera/camera-core/api/restricted_current.txt
@@ -43,7 +43,7 @@
   public static final class CameraSelector.Builder {
     ctor public CameraSelector.Builder();
     method public androidx.camera.core.CameraSelector build();
-    method @experimental.UseExperimental(markerClass=ExperimentalCameraFilter.class) public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
+    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
   }
 
   public class CameraUnavailableException extends java.lang.Exception {
diff --git a/camera/camera-lifecycle/api/1.0.0-beta06.txt b/camera/camera-lifecycle/api/1.0.0-beta06.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/1.0.0-beta06.txt
+++ b/camera/camera-lifecycle/api/1.0.0-beta06.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/camera/camera-lifecycle/api/1.0.0-beta07.txt b/camera/camera-lifecycle/api/1.0.0-beta07.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/1.0.0-beta07.txt
+++ b/camera/camera-lifecycle/api/1.0.0-beta07.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/camera/camera-lifecycle/api/current.txt b/camera/camera-lifecycle/api/current.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/current.txt
+++ b/camera/camera-lifecycle/api/current.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta06.txt b/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta06.txt
index b28a42b..d317ea5 100644
--- a/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta06.txt
+++ b/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta06.txt
@@ -8,8 +8,8 @@
   }
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
     method @androidx.camera.lifecycle.ExperimentalCameraProviderConfiguration public static void configureInstance(androidx.camera.core.CameraXConfig);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
diff --git a/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta07.txt b/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta07.txt
index b28a42b..d317ea5 100644
--- a/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta07.txt
+++ b/camera/camera-lifecycle/api/public_plus_experimental_1.0.0-beta07.txt
@@ -8,8 +8,8 @@
   }
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
     method @androidx.camera.lifecycle.ExperimentalCameraProviderConfiguration public static void configureInstance(androidx.camera.core.CameraXConfig);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
diff --git a/camera/camera-lifecycle/api/public_plus_experimental_current.txt b/camera/camera-lifecycle/api/public_plus_experimental_current.txt
index b28a42b..d317ea5 100644
--- a/camera/camera-lifecycle/api/public_plus_experimental_current.txt
+++ b/camera/camera-lifecycle/api/public_plus_experimental_current.txt
@@ -8,8 +8,8 @@
   }
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread @androidx.camera.lifecycle.ExperimentalUseCaseGroupLifecycle public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup);
     method @androidx.camera.lifecycle.ExperimentalCameraProviderConfiguration public static void configureInstance(androidx.camera.core.CameraXConfig);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
diff --git a/camera/camera-lifecycle/api/restricted_1.0.0-beta06.txt b/camera/camera-lifecycle/api/restricted_1.0.0-beta06.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/restricted_1.0.0-beta06.txt
+++ b/camera/camera-lifecycle/api/restricted_1.0.0-beta06.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/camera/camera-lifecycle/api/restricted_1.0.0-beta07.txt b/camera/camera-lifecycle/api/restricted_1.0.0-beta07.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/restricted_1.0.0-beta07.txt
+++ b/camera/camera-lifecycle/api/restricted_1.0.0-beta07.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/camera/camera-lifecycle/api/restricted_current.txt b/camera/camera-lifecycle/api/restricted_current.txt
index 8278c48..88187bc6 100644
--- a/camera/camera-lifecycle/api/restricted_current.txt
+++ b/camera/camera-lifecycle/api/restricted_current.txt
@@ -2,7 +2,7 @@
 package androidx.camera.lifecycle {
 
   public final class ProcessCameraProvider {
-    method @MainThread @experimental.UseExperimental(markerClass=ExperimentalUseCaseGroup.class) public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
+    method @MainThread public androidx.camera.core.Camera bindToLifecycle(androidx.lifecycle.LifecycleOwner, androidx.camera.core.CameraSelector, androidx.camera.core.UseCase!...);
     method public static com.google.common.util.concurrent.ListenableFuture<androidx.camera.lifecycle.ProcessCameraProvider!> getInstance(android.content.Context);
     method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
     method public boolean isBound(androidx.camera.core.UseCase);
diff --git a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/siblings/SiblingManagement.kt b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/siblings/SiblingManagement.kt
index b848e96..5ad9bf0 100644
--- a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/siblings/SiblingManagement.kt
+++ b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/siblings/SiblingManagement.kt
@@ -28,7 +28,7 @@
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import kotlin.random.Random
 
 val blackBackground = Modifier.background(color = Color.Black)
diff --git a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ModelSamples.kt b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ModelSamples.kt
index 1c9369d..4d46770 100644
--- a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ModelSamples.kt
+++ b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ModelSamples.kt
@@ -24,7 +24,7 @@
 import androidx.compose.getValue
 import androidx.compose.setValue
 import androidx.compose.state
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.ui.material.Button
 
 @Composable
diff --git a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateListSamples.kt b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateListSamples.kt
index 3541075..01bf602 100644
--- a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateListSamples.kt
+++ b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateListSamples.kt
@@ -25,7 +25,7 @@
 import androidx.compose.mutableStateListOf
 import androidx.compose.state
 import androidx.compose.foundation.Text
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Row
 import androidx.ui.material.Button
diff --git a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateMapSample.kt b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateMapSample.kt
index fb45ffd..8d3b211 100644
--- a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateMapSample.kt
+++ b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/MutableStateMapSample.kt
@@ -25,7 +25,7 @@
 import androidx.compose.mutableStateMapOf
 import androidx.compose.state
 import androidx.compose.foundation.Text
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Row
 import androidx.ui.material.Button
diff --git a/compose/compose-runtime/src/androidAndroidTest/kotlin/androidx/compose/test/RecomposerTests.kt b/compose/compose-runtime/src/androidAndroidTest/kotlin/androidx/compose/test/RecomposerTests.kt
index 590efdf..4b0cb26 100644
--- a/compose/compose-runtime/src/androidAndroidTest/kotlin/androidx/compose/test/RecomposerTests.kt
+++ b/compose/compose-runtime/src/androidAndroidTest/kotlin/androidx/compose/test/RecomposerTests.kt
@@ -40,6 +40,7 @@
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
+import kotlin.test.assertNotNull
 
 @MediumTest
 @RunWith(AndroidJUnit4::class)
@@ -422,6 +423,44 @@
         }
     }
 
+    @Test // regression test for b/161892016
+    fun testMultipleRecompose() {
+        class A
+
+        var state1 by mutableStateOf(1)
+        var state2 by mutableStateOf(1)
+
+        @Composable fun validate(a: A?) {
+            assertNotNull(a)
+        }
+
+        @Composable fun use(@Suppress("UNUSED_PARAMETER") i: Int) { }
+
+        @Composable fun useA(a: A = A()) {
+            validate(a)
+            use(state2)
+        }
+
+        @Composable fun test() {
+            use(state1)
+            useA()
+        }
+
+        compose {
+            test()
+        }.then {
+            // Recompose test() skipping useA()
+            state1 = 2
+        }.then {
+            // Recompose useA(). In the bug this causes validate() to be passed a null because
+            // the recompose scope is updated with a lambda that captures the parameters when the
+            // default parameter expressions are skipped.
+            state2 = 2
+        }.then {
+            // force recompose to validate a.
+        }
+    }
+
     @Test
     @OptIn(ExperimentalComposeApi::class)
     fun testFrameTransition() {
diff --git a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Composer.kt b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Composer.kt
index 21d4e87..f2e82eb 100644
--- a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Composer.kt
+++ b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Composer.kt
@@ -1720,6 +1720,7 @@
     @ComposeCompilerApi
     fun skipToGroupEnd() {
         check(groupNodeCount == 0) { "No nodes can be emitted before calling skipAndEndGroup" }
+        currentRecomposeScope?.used = false
         if (invalidations.isEmpty()) {
             skipReaderToGroupEnd()
         } else {
diff --git a/concurrent/futures-ktx/api/1.2.0-alpha01.txt b/concurrent/futures-ktx/api/1.2.0-alpha01.txt
new file mode 100644
index 0000000..6c14320
--- /dev/null
+++ b/concurrent/futures-ktx/api/1.2.0-alpha01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  public final class ListenableFutureKt {
+    method public static suspend <T> Object? await(com.google.common.util.concurrent.ListenableFuture<T>, kotlin.coroutines.Continuation<? super T> p);
+  }
+
+}
+
diff --git a/concurrent/futures-ktx/api/public_plus_experimental_1.2.0-alpha01.txt b/concurrent/futures-ktx/api/public_plus_experimental_1.2.0-alpha01.txt
new file mode 100644
index 0000000..6c14320
--- /dev/null
+++ b/concurrent/futures-ktx/api/public_plus_experimental_1.2.0-alpha01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  public final class ListenableFutureKt {
+    method public static suspend <T> Object? await(com.google.common.util.concurrent.ListenableFuture<T>, kotlin.coroutines.Continuation<? super T> p);
+  }
+
+}
+
diff --git a/concurrent/futures-ktx/api/restricted_1.2.0-alpha01.txt b/concurrent/futures-ktx/api/restricted_1.2.0-alpha01.txt
new file mode 100644
index 0000000..6c14320
--- /dev/null
+++ b/concurrent/futures-ktx/api/restricted_1.2.0-alpha01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  public final class ListenableFutureKt {
+    method public static suspend <T> Object? await(com.google.common.util.concurrent.ListenableFuture<T>, kotlin.coroutines.Continuation<? super T> p);
+  }
+
+}
+
diff --git a/concurrent/futures/api/1.2.0-alpha01.txt b/concurrent/futures/api/1.2.0-alpha01.txt
new file mode 100644
index 0000000..beb76bd
--- /dev/null
+++ b/concurrent/futures/api/1.2.0-alpha01.txt
@@ -0,0 +1,21 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  public final class CallbackToFutureAdapter {
+    method public static <T> com.google.common.util.concurrent.ListenableFuture<T!> getFuture(androidx.concurrent.futures.CallbackToFutureAdapter.Resolver<T!>);
+  }
+
+  public static final class CallbackToFutureAdapter.Completer<T> {
+    method public void addCancellationListener(Runnable, java.util.concurrent.Executor);
+    method protected void finalize();
+    method public boolean set(T!);
+    method public boolean setCancelled();
+    method public boolean setException(Throwable);
+  }
+
+  public static interface CallbackToFutureAdapter.Resolver<T> {
+    method public Object? attachCompleter(androidx.concurrent.futures.CallbackToFutureAdapter.Completer<T!>) throws java.lang.Exception;
+  }
+
+}
+
diff --git a/concurrent/futures/api/public_plus_experimental_1.2.0-alpha01.txt b/concurrent/futures/api/public_plus_experimental_1.2.0-alpha01.txt
new file mode 100644
index 0000000..beb76bd
--- /dev/null
+++ b/concurrent/futures/api/public_plus_experimental_1.2.0-alpha01.txt
@@ -0,0 +1,21 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  public final class CallbackToFutureAdapter {
+    method public static <T> com.google.common.util.concurrent.ListenableFuture<T!> getFuture(androidx.concurrent.futures.CallbackToFutureAdapter.Resolver<T!>);
+  }
+
+  public static final class CallbackToFutureAdapter.Completer<T> {
+    method public void addCancellationListener(Runnable, java.util.concurrent.Executor);
+    method protected void finalize();
+    method public boolean set(T!);
+    method public boolean setCancelled();
+    method public boolean setException(Throwable);
+  }
+
+  public static interface CallbackToFutureAdapter.Resolver<T> {
+    method public Object? attachCompleter(androidx.concurrent.futures.CallbackToFutureAdapter.Completer<T!>) throws java.lang.Exception;
+  }
+
+}
+
diff --git a/concurrent/futures/api/restricted_1.2.0-alpha01.txt b/concurrent/futures/api/restricted_1.2.0-alpha01.txt
new file mode 100644
index 0000000..6dabf0b
--- /dev/null
+++ b/concurrent/futures/api/restricted_1.2.0-alpha01.txt
@@ -0,0 +1,45 @@
+// Signature format: 3.0
+package androidx.concurrent.futures {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class AbstractResolvableFuture<V> implements com.google.common.util.concurrent.ListenableFuture<V> {
+    ctor protected AbstractResolvableFuture();
+    method public final void addListener(Runnable!, java.util.concurrent.Executor!);
+    method protected void afterDone();
+    method public final boolean cancel(boolean);
+    method public final V! get(long, java.util.concurrent.TimeUnit!) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public final V! get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method protected void interruptTask();
+    method public final boolean isCancelled();
+    method public final boolean isDone();
+    method protected String? pendingToString();
+    method protected boolean set(V?);
+    method protected boolean setException(Throwable!);
+    method protected boolean setFuture(com.google.common.util.concurrent.ListenableFuture<? extends V>!);
+    method protected final boolean wasInterrupted();
+  }
+
+  public final class CallbackToFutureAdapter {
+    method public static <T> com.google.common.util.concurrent.ListenableFuture<T!> getFuture(androidx.concurrent.futures.CallbackToFutureAdapter.Resolver<T!>);
+  }
+
+  public static final class CallbackToFutureAdapter.Completer<T> {
+    method public void addCancellationListener(Runnable, java.util.concurrent.Executor);
+    method protected void finalize();
+    method public boolean set(T!);
+    method public boolean setCancelled();
+    method public boolean setException(Throwable);
+  }
+
+  public static interface CallbackToFutureAdapter.Resolver<T> {
+    method public Object? attachCompleter(androidx.concurrent.futures.CallbackToFutureAdapter.Completer<T!>) throws java.lang.Exception;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ResolvableFuture<V> extends androidx.concurrent.futures.AbstractResolvableFuture<V> {
+    method public static <V> androidx.concurrent.futures.ResolvableFuture<V!>! create();
+    method public boolean set(V?);
+    method public boolean setException(Throwable!);
+    method public boolean setFuture(com.google.common.util.concurrent.ListenableFuture<? extends V>!);
+  }
+
+}
+
diff --git a/development/build_log_simplifier.py b/development/build_log_simplifier.py
index 4f838e4..49afe1d 100755
--- a/development/build_log_simplifier.py
+++ b/development/build_log_simplifier.py
@@ -79,7 +79,16 @@
       "Note: Some input files use or override a deprecated API.",
       "Note: Recompile with -Xlint:deprecation for details.",
       "Note: Some input files use unchecked or unsafe operations.",
-      "Note: Recompile with -Xlint:unchecked for details."
+      "Note: Recompile with -Xlint:unchecked for details.",
+
+      "w: ATTENTION!",
+      "This build uses unsafe internal compiler arguments:",
+      "-XXLanguage:+NonParenthesizedAnnotationsOnFunctionalTypes",
+      "-XXLanguage:-NewInference",
+      "-XXLanguage:+InlineClasses",
+      "This mode is not recommended for production use,",
+      "as no stability/compatibility guarantees are given on",
+      "compiler or generated code. Use it at your own risk!"
   }
   skipPrefixes = [
       "See the profiling report at:",
diff --git a/development/diagnose-build-failure/diagnose-build-failure.sh b/development/diagnose-build-failure/diagnose-build-failure.sh
index 5df67c5..2d60256 100755
--- a/development/diagnose-build-failure/diagnose-build-failure.sh
+++ b/development/diagnose-build-failure/diagnose-build-failure.sh
@@ -5,14 +5,24 @@
 scriptName="$(basename $0)"
 
 function usage() {
-  echo "usage: $0 <tasks>"
-  echo "Attempts to diagnose why "'`'"./gradlew <tasks>"'`'" fails"
+  echo "NAME"
+  echo "  diagnose-build-failure.sh"
   echo
-  echo "For example:"
+  echo "SYNOPSIS"
+  echo "  ./development/diagnose-build-failure/diagnose-build-failure.sh [--message <message>] '<tasks>'"
   echo
+  echo "DESCRIPTION"
+  echo "  Attempts to identify why "'`'"./gradlew <tasks>"'`'" fails"
+  echo
+  echo "OPTIONS"
+  echo "--message <message>"
+  echo "  Replaces the requirement for "'`'"./gradlew <tasks>"'`'" to fail with the requirement that it produces the given message"
+  echo
+  echo "SAMPLE USAGE"
   echo "  $0 assembleDebug # or any other arguments you would normally give to ./gradlew"
   echo
-  echo "These are the types of diagnoses that $scriptName can make:"
+  echo "OUTPUT"
+  echo "  diagnose-build-failure will conclude one of the following:"
   echo
   echo "  A) Some state saved in memory by the Gradle daemon is triggering an error"
   echo "  B) Your source files have been changed"
@@ -23,11 +33,30 @@
   exit 1
 }
 
-gradleArgs="$*"
+expectedMessage=""
+while true; do
+  if [ "$#" -lt 1 ]; then
+    usage
+  fi
+  arg="$1"
+  shift
+  if [ "$arg" == "--message" ]; then
+    expectedMessage="$1"
+    shift
+    continue
+  fi
+  gradleArgs="$arg"
+  break
+done
 if [ "$gradleArgs" == "" ]; then
   usage
 fi
 
+if [ "$#" -gt 0 ]; then
+  echo "Unrecognized argument: $1"
+  exit 1
+fi
+
 workingDir="$(pwd)"
 if [ ! -e "$workingDir/gradlew" ]; then
   echo "Error; ./gradlew does not exist. Must cd to a dir containing a ./gradlew first"
@@ -64,19 +93,28 @@
 }
 
 function runBuild() {
-  echo -e "$COLOR_GREEN"
-  args="$*"
+  if [ "$expectedMessage" == "" ]; then
+    echo -e "$COLOR_GREEN"
+    testCommand="$*"
+    returnOnSuccess=0
+    returnOnFailure=1
+  else
+    testCommand="$* 2>&1 | grep '$expectedMessage'"
+    # invert the return value because the presence of this message indicates a problem in the build
+    returnOnSuccess=1
+    returnOnFailure=0
+  fi
   cd "$workingDir"
-  if eval $args; then
+  if eval $testCommand; then
     echo -e "$COLOR_WHITE"
     echo
-    echo '`'$args'`' succeeded
-    return 0
+    echo '`'$testCommand'`' succeeded
+    return $returnOnSuccess
   else
     echo -e "$COLOR_WHITE"
     echo
-    echo '`'$args'`' failed
-    return 1
+    echo '`'$testCommand'`' failed
+    return $returnOnFailure
   fi
 }
 
@@ -146,8 +184,8 @@
   backupState "$tempDir/clean"
 else
   echo
-  echo "The clean build also failed."
-  echo "This may mean that the build is failing for everyone"
+  echo "The clean build also reproduced the issue."
+  echo "This may mean that everyone is observing this issue"
   echo "This may mean that something about your checkout is different from others'"
   echo "You may be interested in running development/simplify-build-failure/simplify-build-failure.sh to identify the minimal set of source files required to reproduce this error"
   echo "Checking the status of your checkout:"
diff --git a/docs-fake/build.gradle b/docs-fake/build.gradle
index 35618cb..3ea38d6 100644
--- a/docs-fake/build.gradle
+++ b/docs-fake/build.gradle
@@ -67,6 +67,10 @@
         }
     }
     flavorDimensions "library-group"
+
+    lintOptions {
+        checkReleaseBuilds false
+    }
 }
 
 configurations.all {
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
index 8085a9c..0c1a46a 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
@@ -38,6 +38,8 @@
 import androidx.activity.ComponentActivity;
 import androidx.activity.OnBackPressedDispatcher;
 import androidx.activity.OnBackPressedDispatcherOwner;
+import androidx.activity.contextaware.ContextAware;
+import androidx.activity.contextaware.OnContextAvailableListener;
 import androidx.activity.result.ActivityResultCallback;
 import androidx.activity.result.ActivityResultRegistry;
 import androidx.activity.result.ActivityResultRegistryOwner;
@@ -99,6 +101,7 @@
      */
     public FragmentActivity() {
         super();
+        init();
     }
 
     /**
@@ -114,6 +117,22 @@
     @ContentView
     public FragmentActivity(@LayoutRes int contentLayoutId) {
         super(contentLayoutId);
+        init();
+    }
+
+    private void init() {
+        addOnContextAvailableListener(new OnContextAvailableListener() {
+            @Override
+            public void onContextAvailable(@NonNull ContextAware contextAware,
+                    @NonNull Context context, @Nullable Bundle savedInstanceState) {
+                mFragments.attachHost(null /*parent*/);
+
+                if (savedInstanceState != null) {
+                    Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
+                    mFragments.restoreSaveState(p);
+                }
+            }
+        });
     }
 
     // ------------------------------------------------------------------------
@@ -230,13 +249,6 @@
      */
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
-        mFragments.attachHost(null /*parent*/);
-
-        if (savedInstanceState != null) {
-            Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
-            mFragments.restoreSaveState(p);
-        }
-
         super.onCreate(savedInstanceState);
 
         mFragmentLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
index a40ba25..ef58362 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
@@ -577,7 +577,8 @@
     List<MediaRouter.RouteInfo> getCurrentGroupableRoutes() {
         List<MediaRouter.RouteInfo> groupableRoutes = new ArrayList<>();
         for (MediaRouter.RouteInfo route : mSelectedRoute.getProvider().getRoutes()) {
-            MediaRouter.RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+            MediaRouter.RouteInfo.DynamicGroupState state =
+                    mSelectedRoute.getDynamicGroupState(route);
             if (state != null && state.isGroupable()) {
                 groupableRoutes.add(route);
             }
@@ -625,7 +626,8 @@
 
         mMemberRoutes.addAll(mSelectedRoute.getMemberRoutes());
         for (MediaRouter.RouteInfo route : mSelectedRoute.getProvider().getRoutes()) {
-            MediaRouter.RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+            MediaRouter.RouteInfo.DynamicGroupState state =
+                    mSelectedRoute.getDynamicGroupState(route);
             if (state == null) continue;
 
             if (state.isGroupable()) {
@@ -1176,7 +1178,8 @@
                 if (route.isSelected()) {
                     return true;
                 }
-                MediaRouter.RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+                MediaRouter.RouteInfo.DynamicGroupState state =
+                        mSelectedRoute.getDynamicGroupState(route);
                 return state != null && state.getSelectionState()
                         == MediaRouteProvider.DynamicGroupRouteController
                         .DynamicRouteDescriptor.SELECTED;
@@ -1193,7 +1196,8 @@
                 }
                 // Selected route that can't be unselected has to be disabled.
                 if (isSelected(route)) {
-                    MediaRouter.RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+                    MediaRouter.RouteInfo.DynamicGroupState state =
+                            mSelectedRoute.getDynamicGroupState(route);
                     return state != null && state.isUnselectable();
                 }
                 return true;
@@ -1349,13 +1353,13 @@
         @Override
         public void onRouteChanged(MediaRouter router, MediaRouter.RouteInfo route) {
             boolean shouldRefreshRoute = false;
-            if (route == mSelectedRoute && route.getDynamicGroupState() != null) {
+            if (route == mSelectedRoute && route.getDynamicGroupController() != null) {
                 for (MediaRouter.RouteInfo memberRoute : route.getProvider().getRoutes()) {
                     if (mSelectedRoute.getMemberRoutes().contains(memberRoute)) {
                         continue;
                     }
                     MediaRouter.RouteInfo.DynamicGroupState state =
-                            memberRoute.getDynamicGroupState();
+                            mSelectedRoute.getDynamicGroupState(memberRoute);
 
                     // Refresh items only when a new groupable route is found.
                     if (state != null && state.isGroupable()
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
index 8934254..4c59b4d 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
@@ -549,12 +549,13 @@
         }
 
         /**
-         * Sets the dynamic route descriptors for routes.
+         * Sets the dynamic route descriptors for the dynamic group.
          * <p>
-         * The dynamic group controller must call this method to notify the current
-         * dynamic group state of routes.
+         * The dynamic group controller should call this method to notify the current
+         * dynamic group state.
          * </p>
          * @param routes The dynamic route descriptors for published routes.
+         *               At least a selected or selecting route must be included.
          * @deprecated Use {@link #notifyDynamicRoutesChanged(MediaRouteDescriptor, Collection)}
          * instead to notify information of the group.
          */
@@ -580,13 +581,15 @@
         }
 
         /**
-         * Sets the group route descriptor and the dynamic route descriptors for dynamicRoutes.
+         * Sets the group route descriptor and the dynamic route descriptors for the dynamic group.
          * <p>
-         * The dynamic group controller must call this method to notify the current
-         * dynamic group state of dynamicRoutes.
+         * The dynamic group controller should call this method to notify the current
+         * dynamic group state.
          * </p>
          * @param groupRoute The media route descriptor describing the dynamic group.
+         *                   The name, description, and volume information are used.
          * @param dynamicRoutes The dynamic route descriptors for published routes.
+         *                      At least a selected or selecting route must be included.
          */
         public final void notifyDynamicRoutesChanged(
                 @NonNull MediaRouteDescriptor groupRoute,
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
index 505ca8b..9fbd86a 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
@@ -43,6 +43,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.RestrictTo;
+import androidx.collection.ArrayMap;
 import androidx.core.app.ActivityManagerCompat;
 import androidx.core.content.ContextCompat;
 import androidx.core.hardware.display.DisplayManagerCompat;
@@ -942,9 +943,8 @@
         private IntentSender mSettingsIntent;
         MediaRouteDescriptor mDescriptor;
 
-        DynamicRouteDescriptor mDynamicDescriptor;
-        private DynamicGroupState mDynamicGroupState;
         private List<RouteInfo> mMemberRoutes = new ArrayList<>();
+        private Map<String, DynamicRouteDescriptor> mDynamicGroupDescriptors;
 
         @IntDef({CONNECTION_STATE_DISCONNECTED, CONNECTION_STATE_CONNECTING,
                 CONNECTION_STATE_CONNECTED})
@@ -1598,16 +1598,17 @@
         }
 
         /**
-         * Gets dynamic group state of the route
+         * Gets the dynamic group state of the given route.
          * @hide
          */
-        @Nullable
         @RestrictTo(LIBRARY)
-        public DynamicGroupState getDynamicGroupState() {
-            if (mDynamicGroupState == null && mDynamicDescriptor != null) {
-                mDynamicGroupState = new DynamicGroupState();
+        @Nullable
+        public DynamicGroupState getDynamicGroupState(RouteInfo route) {
+            if (mDynamicGroupDescriptors != null
+                    && mDynamicGroupDescriptors.containsKey(route.mUniqueId)) {
+                return new DynamicGroupState(mDynamicGroupDescriptors.get(route.mUniqueId));
             }
-            return mDynamicGroupState;
+            return null;
         }
 
         /**
@@ -1839,14 +1840,18 @@
 
         void updateDynamicDescriptors(Collection<DynamicRouteDescriptor> dynamicDescriptors) {
             mMemberRoutes.clear();
+            if (mDynamicGroupDescriptors == null) {
+                mDynamicGroupDescriptors = new ArrayMap<>();
+            }
+            mDynamicGroupDescriptors.clear();
 
-            for (DynamicRouteDescriptor dynamicDescriptor :
-                    dynamicDescriptors) {
+            for (DynamicRouteDescriptor dynamicDescriptor : dynamicDescriptors) {
                 RouteInfo route = findRouteByDynamicRouteDescriptor(dynamicDescriptor);
                 if (route == null) {
                     continue;
                 }
-                route.mDynamicDescriptor = dynamicDescriptor;
+                mDynamicGroupDescriptors.put(route.mUniqueId, dynamicDescriptor);
+
                 if ((dynamicDescriptor.getSelectionState() == DynamicRouteDescriptor.SELECTING)
                         || (dynamicDescriptor.getSelectionState()
                         == DynamicRouteDescriptor.SELECTED)) {
@@ -1867,7 +1872,12 @@
          * @hide
          */
         @RestrictTo(LIBRARY)
-        public class DynamicGroupState {
+        public static final class DynamicGroupState {
+            final DynamicRouteDescriptor mDynamicDescriptor;
+
+            DynamicGroupState(DynamicRouteDescriptor descriptor) {
+                mDynamicDescriptor = descriptor;
+            }
             /**
              * Gets the selection state of the route when the {@link MediaRouteProvider} of the
              * route supports
@@ -2247,6 +2257,7 @@
          * @param data Error data, or null if none.
          * Contents depend on the {@link MediaControlIntent media control action}.
          */
+        @SuppressLint("UnknownNullness")
         public void onError(String error, Bundle data) {
         }
     }
@@ -2511,12 +2522,17 @@
             return mSelectedRoute;
         }
 
+        @Nullable
+        RouteInfo.DynamicGroupState getDynamicGroupState(RouteInfo route) {
+            return mSelectedRoute.getDynamicGroupState(route);
+        }
+
         void addMemberToDynamicGroup(@NonNull RouteInfo route) {
             if (!(mSelectedRouteController instanceof DynamicGroupRouteController)) {
                 throw new IllegalStateException("There is no currently selected "
                         + "dynamic group route.");
             }
-            RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+            RouteInfo.DynamicGroupState state = getDynamicGroupState(route);
             if (mSelectedRoute.getMemberRoutes().contains(route)
                     || state == null || !state.isGroupable()) {
                 Log.w(TAG, "Ignoring attemp to add a non-groupable route to dynamic group : "
@@ -2532,7 +2548,7 @@
                 throw new IllegalStateException("There is no currently selected "
                         + "dynamic group route.");
             }
-            RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+            RouteInfo.DynamicGroupState state = getDynamicGroupState(route);
             if (!mSelectedRoute.getMemberRoutes().contains(route)
                     || state == null || !state.isUnselectable()) {
                 Log.w(TAG, "Ignoring attempt to remove a non-unselectable member route : "
@@ -2552,7 +2568,7 @@
                 throw new IllegalStateException("There is no currently selected dynamic group "
                         + "route.");
             }
-            RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+            RouteInfo.DynamicGroupState state = getDynamicGroupState(route);
             if (state == null || !state.isTransferable()) {
                 Log.w(TAG, "Ignoring attempt to transfer to a non-transferable route.");
                 return;
diff --git a/paging/common/api/3.0.0-alpha04.txt b/paging/common/api/3.0.0-alpha04.txt
index 80803ed..3715c51 100644
--- a/paging/common/api/3.0.0-alpha04.txt
+++ b/paging/common/api/3.0.0-alpha04.txt
@@ -273,6 +273,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -282,6 +283,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/api/current.txt b/paging/common/api/current.txt
index 80803ed..3715c51 100644
--- a/paging/common/api/current.txt
+++ b/paging/common/api/current.txt
@@ -273,6 +273,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -282,6 +283,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/api/public_plus_experimental_3.0.0-alpha04.txt b/paging/common/api/public_plus_experimental_3.0.0-alpha04.txt
index e6aeb78..e631244 100644
--- a/paging/common/api/public_plus_experimental_3.0.0-alpha04.txt
+++ b/paging/common/api/public_plus_experimental_3.0.0-alpha04.txt
@@ -275,6 +275,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -284,6 +285,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/api/public_plus_experimental_current.txt b/paging/common/api/public_plus_experimental_current.txt
index e6aeb78..e631244 100644
--- a/paging/common/api/public_plus_experimental_current.txt
+++ b/paging/common/api/public_plus_experimental_current.txt
@@ -275,6 +275,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -284,6 +285,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/api/restricted_3.0.0-alpha04.txt b/paging/common/api/restricted_3.0.0-alpha04.txt
index 80803ed..3715c51 100644
--- a/paging/common/api/restricted_3.0.0-alpha04.txt
+++ b/paging/common/api/restricted_3.0.0-alpha04.txt
@@ -273,6 +273,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -282,6 +283,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/api/restricted_current.txt b/paging/common/api/restricted_current.txt
index 80803ed..3715c51 100644
--- a/paging/common/api/restricted_current.txt
+++ b/paging/common/api/restricted_current.txt
@@ -273,6 +273,7 @@
     method public static <T> androidx.paging.PagingData<T> empty();
     method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
     method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
+    method public static <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
     method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
     method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
@@ -282,6 +283,7 @@
 
   public static final class PagingData.Companion {
     method public <T> androidx.paging.PagingData<T> empty();
+    method public <T> androidx.paging.PagingData<T> from(java.util.List<? extends T> data);
     method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
   }
 
diff --git a/paging/common/src/main/kotlin/androidx/paging/CachedPagingData.kt b/paging/common/src/main/kotlin/androidx/paging/CachedPagingData.kt
index a4c38b3..828d8a0 100644
--- a/paging/common/src/main/kotlin/androidx/paging/CachedPagingData.kt
+++ b/paging/common/src/main/kotlin/androidx/paging/CachedPagingData.kt
@@ -66,6 +66,11 @@
  * upon configuration change (e.g. rotation), then new Activity will receive the existing data
  * immediately rather than fetching it from scratch.
  *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * Note that this does not turn the `Flow<PagingData>` into a hot stream. It won't execute any
  * unnecessary code unless it is being collected.
  *
diff --git a/paging/common/src/main/kotlin/androidx/paging/PagingData.kt b/paging/common/src/main/kotlin/androidx/paging/PagingData.kt
index c73c34b..31d8b97 100644
--- a/paging/common/src/main/kotlin/androidx/paging/PagingData.kt
+++ b/paging/common/src/main/kotlin/androidx/paging/PagingData.kt
@@ -115,15 +115,46 @@
             override fun refresh() {}
         }
 
-        private val EMPTY = PagingData<Any>(
+        @Suppress("MemberVisibilityCanBePrivate") // synthetic access
+        internal val EMPTY = PagingData<Any>(
             flow = flowOf(PageEvent.Insert.EMPTY_REFRESH_LOCAL),
             receiver = NOOP_RECEIVER
         )
 
-        @Suppress("UNCHECKED_CAST", "SyntheticAccessor")
+        /**
+         * Create a [PagingData] that immediately displays an empty list of items when submitted to
+         * [AsyncPagingDataAdapter][androidx.paging.AsyncPagingDataAdapter].
+         */
+        @Suppress("UNCHECKED_CAST")
         @JvmStatic // Convenience for Java developers.
         fun <T : Any> empty() = EMPTY as PagingData<T>
 
+        /**
+         * Create a [PagingData] that immediately displays a static list of items when submitted to
+         * [AsyncPagingDataAdapter][androidx.paging.AsyncPagingDataAdapter].
+         *
+         * @param data Static list of [T] to display.
+         */
+        @JvmStatic // Convenience for Java developers.
+        fun <T : Any> from(data: List<T>) = PagingData(
+            flow = flowOf(
+                PageEvent.Insert.Refresh(
+                    pages = listOf(TransformablePage(originalPageOffset = 0, data = data)),
+                    placeholdersBefore = 0,
+                    placeholdersAfter = 0,
+                    combinedLoadStates = CombinedLoadStates(
+                        source = LoadStates(
+                            refresh = LoadState.NotLoading.Incomplete,
+                            prepend = LoadState.NotLoading.Complete,
+                            append = LoadState.NotLoading.Complete
+                        )
+                    )
+
+                )
+            ),
+            receiver = NOOP_RECEIVER
+        )
+
         // NOTE: samples in the doc below are manually imported from Java code in the samples
         // project, since Java cannot be linked with @sample.
         // DO NOT CHANGE THE BELOW COMMENT WITHOUT MAKING THE CORRESPONDING CHANGE IN `samples/`
diff --git a/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt b/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
index 931c7f3..67e669b 100644
--- a/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
+++ b/paging/common/src/test/kotlin/androidx/paging/PagingDataDifferTest.kt
@@ -22,9 +22,9 @@
 import androidx.paging.PageEvent.Insert.Companion.Append
 import androidx.paging.PageEvent.Insert.Companion.Prepend
 import androidx.paging.PageEvent.Insert.Companion.Refresh
+import androidx.testutils.MainDispatcherRule
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.channels.Channel
 import kotlinx.coroutines.flow.collect
@@ -34,11 +34,8 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.suspendCancellableCoroutine
 import kotlinx.coroutines.test.TestCoroutineScope
-import kotlinx.coroutines.test.resetMain
 import kotlinx.coroutines.test.runBlockingTest
-import kotlinx.coroutines.test.setMain
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
@@ -53,17 +50,10 @@
 class PagingDataDifferTest {
     private val testScope = TestCoroutineScope()
 
-    @Before
-    fun setup() {
-        Dispatchers.setMain(
-            testScope.coroutineContext[ContinuationInterceptor] as CoroutineDispatcher
-        )
-    }
-
-    @After
-    fun tearDown() {
-        Dispatchers.resetMain()
-    }
+    @get:Rule
+    val dispatcherRule = MainDispatcherRule(
+        testScope.coroutineContext[ContinuationInterceptor] as CoroutineDispatcher
+    )
 
     @Test
     fun collectFrom_static() = testScope.runBlockingTest {
diff --git a/paging/runtime/src/main/java/androidx/paging/PagingLiveData.kt b/paging/runtime/src/main/java/androidx/paging/PagingLiveData.kt
index 3c3805a..d4f549f 100644
--- a/paging/runtime/src/main/java/androidx/paging/PagingLiveData.kt
+++ b/paging/runtime/src/main/java/androidx/paging/PagingLiveData.kt
@@ -35,6 +35,15 @@
 /**
  * Operator which caches a [LiveData] of [PagingData] within the scope of a [Lifecycle].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param lifecycle The [Lifecycle] where the page cache will be kept alive.
  */
 fun <T : Any> LiveData<PagingData<T>>.cachedIn(lifecycle: Lifecycle) = asFlow()
@@ -44,6 +53,15 @@
 /**
  * Operator which caches a [LiveData] of [PagingData] within a [CoroutineScope].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param scope The [CoroutineScope] where the page cache will be kept alive. Typically this
  * would be a managed scope such as `ViewModel.viewModelScope`, which automatically cancels after
  * the [PagingData] stream is no longer needed. Otherwise, the provided [CoroutineScope] must be
diff --git a/paging/rxjava2/src/main/java/androidx/paging/rxjava2/PagingRx.kt b/paging/rxjava2/src/main/java/androidx/paging/rxjava2/PagingRx.kt
index 278b07b..c87a1709 100644
--- a/paging/rxjava2/src/main/java/androidx/paging/rxjava2/PagingRx.kt
+++ b/paging/rxjava2/src/main/java/androidx/paging/rxjava2/PagingRx.kt
@@ -54,6 +54,15 @@
 /**
  * Operator which caches an [Observable] of [PagingData] within a [CoroutineScope].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param scope The [CoroutineScope] where the page cache will be kept alive. Typically this
  * would be a managed scope such as `ViewModel.viewModelScope`, which automatically cancels after
  * the [PagingData] stream is no longer needed. Otherwise, the provided [CoroutineScope] must be
@@ -70,6 +79,15 @@
 /**
  * Operator which caches a [Flowable] of [PagingData] within a [CoroutineScope].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param scope The [CoroutineScope] where the page cache will be kept alive. Typically this
  * would be a managed scope such as `ViewModel.viewModelScope`, which automatically cancels after
  * the [PagingData] stream is no longer needed. Otherwise, the provided [CoroutineScope] must be
diff --git a/paging/rxjava3/src/main/java/androidx/paging/rxjava3/PagingRx.kt b/paging/rxjava3/src/main/java/androidx/paging/rxjava3/PagingRx.kt
index 5c351c2..0381e14 100644
--- a/paging/rxjava3/src/main/java/androidx/paging/rxjava3/PagingRx.kt
+++ b/paging/rxjava3/src/main/java/androidx/paging/rxjava3/PagingRx.kt
@@ -54,6 +54,15 @@
 /**
  * Operator which caches an [Observable] of [PagingData] within a [CoroutineScope].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param scope The [CoroutineScope] where the page cache will be kept alive. Typically this
  * would be a managed scope such as `ViewModel.viewModelScope`, which automatically cancels after
  * the [PagingData] stream is no longer needed. Otherwise, the provided [CoroutineScope] must be
@@ -70,6 +79,15 @@
 /**
  * Operator which caches a [Flowable] of [PagingData] within a [CoroutineScope].
  *
+ * [cachedIn] multicasts pages loaded and transformed by a [PagingData], allowing multiple
+ * observers on the same instance of [PagingData] to receive the same events, avoiding redundant
+ * work, but comes at the cost of buffering those events in memory.
+ *
+ * Calling [cachedIn] is required to allow calling
+ * [submitData][androidx.paging.AsyncPagingDataAdapter] on the same instance of [PagingData]
+ * emitted by [Pager] or any of its transformed derivatives, as reloading data from scratch on the
+ * same generation of [PagingData] is an unsupported operation.
+ *
  * @param scope The [CoroutineScope] where the page cache will be kept alive. Typically this
  * would be a managed scope such as `ViewModel.viewModelScope`, which automatically cancels after
  * the [PagingData] stream is no longer needed. Otherwise, the provided [CoroutineScope] must be
diff --git a/samples/BiometricDemos/OWNERS b/samples/BiometricDemos/OWNERS
deleted file mode 100644
index 471409f..0000000
--- a/samples/BiometricDemos/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-kchyn@google.com
-curtislb@google.com
diff --git a/samples/BiometricDemos/_index.html b/samples/BiometricDemos/_index.html
deleted file mode 100644
index 5c64363..0000000
--- a/samples/BiometricDemos/_index.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<p>The Biometric Demos application contains a simple application that asks for authentication.
-</p>
\ No newline at end of file
diff --git a/samples/BiometricDemos/build.gradle b/samples/BiometricDemos/build.gradle
deleted file mode 100644
index 3618960..0000000
--- a/samples/BiometricDemos/build.gradle
+++ /dev/null
@@ -1,15 +0,0 @@
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.application")
-}
-
-dependencies {
-    implementation(project(":appcompat:appcompat"))
-    implementation(project(":biometric:biometric"))
-}
-
-android {
-    defaultConfig {
-        vectorDrawables.useSupportLibrary = true
-    }
-}
diff --git a/samples/BiometricDemos/lint-baseline.xml b/samples/BiometricDemos/lint-baseline.xml
deleted file mode 100644
index 2e8004c..0000000
--- a/samples/BiometricDemos/lint-baseline.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 3.5.0-beta04" client="gradle" variant="debug" version="3.5.0-beta04">
-
-    <issue
-        id="NewApi"
-        message="Exception requires API level 23 (current min is 23): `android.security.keystore.KeyPermanentlyInvalidatedException`, and having a surrounding/preceding version check **does** not help since prior to API level 19, just **loading** the class will cause a crash. Consider marking the surrounding class with `RequiresApi(19)` to ensure that the class is never loaded except when on API 19 or higher."
-        errorLine1="        } catch (KeyPermanentlyInvalidatedException e) {"
-        errorLine2="                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/com/example/android/biometric/BiometricPromptDemo.java"
-            line="314"
-            column="18"/>
-    </issue>
-
-    <issue
-        id="SwitchIntDef"
-        message="Switch statement on an `int` with known associated constant missing case `BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE`"
-        errorLine1="                switch (bm.canAuthenticate()) {"
-        errorLine2="                ~~~~~~">
-        <location
-            file="src/main/java/com/example/android/biometric/BiometricPromptDemo.java"
-            line="190"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="TrulyRandom"
-        message="Potentially insecure random numbers on Android 4.3 and older. Read https://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html for more info."
-        errorLine1="            cipher.init(Cipher.ENCRYPT_MODE, key);"
-        errorLine2="                   ~~~~">
-        <location
-            file="src/main/java/com/example/android/biometric/BiometricPromptDemo.java"
-            line="312"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="AllowBackup"
-        message="On SDK version 23 and up, your app data will be automatically backed up and restored on app install. Consider adding the attribute `android:fullBackupContent` to specify an `@xml` resource which configures which files to backup. More info: https://developer.android.com/training/backup/autosyncapi.html"
-        errorLine1="    &lt;application android:label=&quot;@string/activity_sample_code&quot;"
-        errorLine2="     ~~~~~~~~~~~">
-        <location
-            file="src/main/AndroidManifest.xml"
-            line="38"
-            column="6"/>
-    </issue>
-
-    <issue
-        id="AllowBackup"
-        message="Should explicitly set `android:allowBackup` to `true` or `false` (it&apos;s `true` by default, and that can have some security implications for the application&apos;s data)"
-        errorLine1="    &lt;application android:label=&quot;@string/activity_sample_code&quot;"
-        errorLine2="     ~~~~~~~~~~~">
-        <location
-            file="src/main/AndroidManifest.xml"
-            line="38"
-            column="6"/>
-    </issue>
-
-    <issue
-        id="IconMissingDensityFolder"
-        message="Missing density variation folders in `src/main/res`: drawable-mdpi, drawable-xhdpi, drawable-xxhdpi">
-        <location
-            file="src/main/res"/>
-    </issue>
-
-    <issue
-        id="GoogleAppIndexingWarning"
-        message="App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. See issue explanation for more details."
-        errorLine1="    &lt;application android:label=&quot;@string/activity_sample_code&quot;"
-        errorLine2="    ^">
-        <location
-            file="src/main/AndroidManifest.xml"
-            line="38"
-            column="5"/>
-    </issue>
-
-</issues>
diff --git a/samples/BiometricDemos/src/main/AndroidManifest.xml b/samples/BiometricDemos/src/main/AndroidManifest.xml
deleted file mode 100644
index 7459a17..0000000
--- a/samples/BiometricDemos/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-
-<!-- Declare the contents of this Android application.  The namespace
-     attribute brings in the Android platform namespace, and the package
-     supplies a unique name for the application.  When writing your
-     own application, the package name must be changed from "com.example.*"
-     to come from a domain that you own or have control over. -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.example.android.biometric">
-
-    <!-- Permission to use BiometricPrompt -->
-    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
-
-    <!-- Permission to use Fingerprint -->
-    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
-
-    <!-- The smallest screen this app works on is a phone.  The app will
-         scale its UI to larger screens but doesn't make good use of them
-         so allow the compatibility mode button to be shown (mostly because
-         this is just convenient for testing). -->
-    <supports-screens android:requiresSmallestWidthDp="320"
-            android:compatibleWidthLimitDp="480" />
-
-    <application android:label="@string/activity_sample_code"
-            android:supportsRtl="true"
-            android:icon="@drawable/app_sample_code"
-            android:hardwareAccelerated="true"
-            android:testOnly="false">
-
-        <activity android:name=".BiometricPromptDemo"
-                  android:theme="@style/AppTheme">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name=".BiometricPromptDemoActivityHost"
-            android:theme="@style/AppTheme" />
-
-        <activity android:name=".BiometricPromptDemoFragmentHostActivity"
-            android:theme="@style/AppTheme" />
-
-        <activity android:name=".BiometricPromptDemoBiometricBoundKeyActivity"
-            android:theme="@style/AppTheme"/>
-
-        <activity android:name=".BiometricPromptDemoCredentialBoundKeyActivity"
-            android:theme="@style/AppTheme"/>
-    </application>
-
-</manifest>
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemo.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemo.java
deleted file mode 100644
index a73d222..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemo.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2013 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 com.example.android.biometric;
-
-import android.content.Intent;
-import android.os.Build;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-
-/**
- * Demo for BiometricPrompt, demonstrating: 1) Use of biometrics without a crypto object. 2) Use
- * of biometrics with a crypto object, where the keys become invalid after new biometric enrollment.
- * 3) Use of biometric prompt (compat) that persists through orientation changes. 4) Use of
- * biometric prompt (compat) that doesn't persist through orientation changes. 5) Cancellation of
- * the authentication attempt.
- */
-public class BiometricPromptDemo extends FragmentActivity {
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.biometric_prompt_demo);
-        final Button hostInActivityButton = findViewById(R.id.host_in_activity_button);
-        final Button hostInFragmentButton = findViewById(R.id.host_in_fragment_button);
-        final Button biometricBoundKeyDemoButton =
-                findViewById(R.id.button_biometric_bound_key_demo);
-        final Button credentialBoundKeyDemoButton =
-                findViewById(R.id.button_credential_bound_key_demo);
-        hostInActivityButton.setOnClickListener(view -> launchActivityHost());
-        hostInFragmentButton.setOnClickListener(view -> launchFragmentHost());
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-            biometricBoundKeyDemoButton.setOnClickListener(view -> launchBiometricBoundKeyDemo());
-            credentialBoundKeyDemoButton.setOnClickListener(view -> launchCredentialBoundKeyDemo());
-        } else {
-            biometricBoundKeyDemoButton.setVisibility(View.GONE);
-            credentialBoundKeyDemoButton.setVisibility(View.GONE);
-        }
-    }
-
-    private void launchActivityHost() {
-        final Intent intent = new Intent(this, BiometricPromptDemoActivityHost.class);
-        startActivity(intent);
-    }
-
-    private void launchFragmentHost() {
-        final Intent intent = new Intent(this, BiometricPromptDemoFragmentHostActivity.class);
-        startActivity(intent);
-    }
-
-    private void launchBiometricBoundKeyDemo() {
-        final Intent intent = new Intent(this, BiometricPromptDemoBiometricBoundKeyActivity.class);
-        startActivity(intent);
-    }
-
-    private void launchCredentialBoundKeyDemo() {
-        final Intent intent = new Intent(this, BiometricPromptDemoCredentialBoundKeyActivity.class);
-        startActivity(intent);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityController.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityController.java
deleted file mode 100644
index aa4a225..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.content.Context;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.biometric.BiometricPrompt;
-import androidx.fragment.app.FragmentActivity;
-
-/**
- * Implementation of {@link com.example.android.biometric.BiometricPromptDemoController} that
- * handles launching the biometric prompt from within an activity host.
- */
-class BiometricPromptDemoActivityController extends BiometricPromptDemoController {
-
-    private final FragmentActivity mActivity;
-
-    BiometricPromptDemoActivityController(
-            @NonNull FragmentActivity activity,
-            @NonNull View inflatedRootView) {
-        super(inflatedRootView);
-        mActivity = activity;
-    }
-
-    @Override
-    Context getApplicationContext() {
-        return mActivity.getApplicationContext();
-    }
-
-    @Override
-    void reconnect() {
-        mBiometricPrompt = new BiometricPrompt(mActivity, mAuthenticationCallback);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityHost.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityHost.java
deleted file mode 100644
index b3b06f0..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoActivityHost.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.os.Bundle;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-
-/**
- * Hosting activity for the BiometricPrompt demo. Shows how a biometric prompt can be launched
- * directly from an activity by hooking into appropriate lifecycle methods for the activity.
- */
-public class BiometricPromptDemoActivityHost extends FragmentActivity {
-
-    private BiometricPromptDemoController mController;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        setContentView(R.layout.biometric_prompt_demo_content);
-        final TextView hostTypeTextView = findViewById(R.id.host_type_text_view);
-        hostTypeTextView.setText(R.string.label_host_type_activity);
-
-        mController = new BiometricPromptDemoActivityController(this,
-                findViewById(android.R.id.content));
-        mController.init(savedInstanceState);
-        mController.reconnect();
-    }
-
-    @Override
-    protected void onPause() {
-        mController.onPause();
-        super.onPause();
-    }
-
-    @Override
-    protected void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        mController.onSaveInstanceState(outState);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoBiometricBoundKeyActivity.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoBiometricBoundKeyActivity.java
deleted file mode 100644
index fedac33..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoBiometricBoundKeyActivity.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
-import androidx.biometric.BiometricPrompt;
-import androidx.fragment.app.FragmentActivity;
-
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.util.Arrays;
-import java.util.concurrent.Executor;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-import javax.crypto.spec.IvParameterSpec;
-
-/**
- * Demo activity that shows how BiometricPrompt can be used with biometric bound secret keys.
- */
-@RequiresApi(api = Build.VERSION_CODES.M)
-public class BiometricPromptDemoBiometricBoundKeyActivity extends FragmentActivity {
-
-    private static final String TAG = "bio_prompt_demo_control";
-    private static final String LOG_BUNDLE = "log";
-    private static final String KEY_NAME = "demo_key";
-    private static final String PAYLOAD = "hello";
-
-    private final Handler mHandler = new Handler(Looper.getMainLooper());
-    private final Executor mExecutor = mHandler::post;
-    private BiometricPrompt mBiometricPrompt;
-    private TextView mLogTextView;
-    private Cipher mEncryptingCipher;
-    private View mEncryptButton;
-    private byte[] mEncryptedBytes;
-    // If true decrypt, if false encrypt.
-    private boolean mShouldDecrypt;
-
-    private void log(String s) {
-        Log.d(TAG, s);
-        mLogTextView.append(s + '\n');
-    }
-
-    private void log(String s, Throwable tr) {
-        Log.e(TAG, "", tr);
-        mLogTextView.append(s + '\n' + tr.toString() + '\n');
-    }
-
-    private final BiometricPrompt.PromptInfo mPromptInfo = new BiometricPrompt.PromptInfo.Builder()
-            .setTitle("Title")
-            .setSubtitle("Subtitle")
-            .setDescription("Description")
-            .setNegativeButtonText("Negative Button")
-            .build();
-
-    private final BiometricPrompt.AuthenticationCallback mAuthenticationCallback =
-            new BiometricPrompt.AuthenticationCallback() {
-
-                @Override
-                public void onAuthenticationError(int err, @NonNull CharSequence message) {
-                    log("onAuthenticationError " + err + ": " + message);
-                }
-
-                @Override
-                public void onAuthenticationSucceeded(
-                        @NonNull BiometricPrompt.AuthenticationResult result) {
-                    final BiometricPrompt.CryptoObject cryptoObject = result.getCryptoObject();
-                    log("onAuthenticationSucceeded, cryptoObject: " + cryptoObject);
-                    if (cryptoObject != null) {
-                        try {
-                            if (mShouldDecrypt) {
-                                log("Decrypted payload: " + new String(
-                                        cryptoObject.getCipher().doFinal(mEncryptedBytes)));
-                            } else {
-                                // Save the cipher to use for decryption.
-                                mEncryptingCipher = cryptoObject.getCipher();
-                                mEncryptedBytes = mEncryptingCipher.doFinal(
-                                        PAYLOAD.getBytes(Charset.defaultCharset()));
-                                log("Test payload: " + PAYLOAD);
-                                log("Encrypted payload: " + Arrays.toString(mEncryptedBytes));
-                            }
-                        } catch (BadPaddingException | IllegalBlockSizeException e) {
-                            log("Failed to encrypt", e);
-                        }
-                    }
-                }
-
-                @Override
-                public void onAuthenticationFailed() {
-                    log("onAuthenticationFailed");
-                    mBiometricPrompt.cancelAuthentication();
-                }
-            };
-
-    private View.OnClickListener mGenerateKeyListener = view -> {
-        try {
-            BiometricPromptDemoSecretKeyHelper.generateBiometricBoundKey(KEY_NAME,
-                    true /* invalidatedByBiometricEnrollment */);
-            log("Generated a key");
-        } catch (InvalidAlgorithmParameterException | NoSuchAlgorithmException
-                | NoSuchProviderException e) {
-            log("Failed to generate key", e);
-        }
-    };
-
-    private Cipher getCryptoCipher() {
-        Cipher cipher = null;
-        try {
-            cipher = BiometricPromptDemoSecretKeyHelper.getCipher();
-        } catch (NoSuchPaddingException | NoSuchAlgorithmException e) {
-            log("Failed to get cipher", e);
-        }
-        return cipher;
-    }
-
-    private SecretKey getSecretKey() {
-        SecretKey secretKey = null;
-        try {
-            secretKey = BiometricPromptDemoSecretKeyHelper.getSecretKey(KEY_NAME);
-        } catch (KeyStoreException | CertificateException | NoSuchAlgorithmException | IOException
-                | UnrecoverableKeyException e) {
-            log("Failed to get secret key", e);
-        }
-        return secretKey;
-    }
-
-    private void authenticateWithCrypto(Cipher cipher) {
-        mBiometricPrompt.authenticate(mPromptInfo, new BiometricPrompt.CryptoObject(cipher));
-    }
-
-    private void authenticateWithEncryption() {
-        Cipher cipher = getCryptoCipher();
-        SecretKey secretKey = getSecretKey();
-        if (cipher == null || secretKey == null) {
-            return;
-        }
-        try {
-            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
-            mBiometricPrompt.authenticate(mPromptInfo,
-                    new BiometricPrompt.CryptoObject(cipher));
-            log("Started authentication with a crypto object");
-            authenticateWithCrypto(cipher);
-            mShouldDecrypt = false;
-        } catch (InvalidKeyException e) {
-            log("Failed to init cipher", e);
-        }
-    }
-
-    private void authenticateWithDecryption() {
-        Cipher cipher = getCryptoCipher();
-        SecretKey secretKey = getSecretKey();
-        if (cipher == null || secretKey == null) {
-            return;
-        }
-        if (mEncryptingCipher == null) {
-            log("User must first encrypt a message");
-            flashEncryptButton();
-            return;
-        }
-
-        try {
-            cipher.init(Cipher.DECRYPT_MODE, secretKey,
-                    new IvParameterSpec(mEncryptingCipher.getIV()));
-            mBiometricPrompt.authenticate(mPromptInfo,
-                    new BiometricPrompt.CryptoObject(cipher));
-            log("Started authentication with a crypto object");
-            authenticateWithCrypto(cipher);
-            mShouldDecrypt = true;
-        } catch (InvalidKeyException | InvalidAlgorithmParameterException e) {
-            log("Failed to init cipher", e);
-        }
-    }
-
-    private void flashEncryptButton() {
-        mEncryptButton.animate().alpha(0).setDuration(1000).withEndAction(new Runnable() {
-            @Override
-            public void run() {
-                mEncryptButton.animate().alpha(1).setDuration(1000);
-            }
-        });
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.biometric_prompt_demo_biometric_bound_key);
-
-        mLogTextView = findViewById(R.id.text_view_log);
-        mBiometricPrompt = new BiometricPrompt(this, mExecutor, mAuthenticationCallback);
-
-        ((TextView) findViewById(R.id.text_view_activity_description)).setText(
-                R.string.label_biometric_bound_key_activity_description);
-
-        if (savedInstanceState != null) {
-            mLogTextView.setText(savedInstanceState.getCharSequence(LOG_BUNDLE));
-        }
-
-        findViewById(R.id.button_generate_key).setOnClickListener(mGenerateKeyListener);
-        mEncryptButton = findViewById(R.id.button_unlock_and_use_key);
-        mEncryptButton.setOnClickListener(v -> authenticateWithEncryption());
-        findViewById(R.id.button_clear_log).setOnClickListener(v -> mLogTextView.setText(""));
-        findViewById(R.id.button_decrypt).setOnClickListener(v -> authenticateWithDecryption());
-    }
-
-    @Override
-    protected void onPause() {
-        mEncryptingCipher = null;
-        mShouldDecrypt = false;
-        mBiometricPrompt.cancelAuthentication();
-        super.onPause();
-    }
-
-    @Override
-    protected void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putCharSequence(LOG_BUNDLE, mLogTextView.getText());
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoController.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoController.java
deleted file mode 100644
index b996776..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoController.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.RadioGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.biometric.BiometricManager;
-import androidx.biometric.BiometricManager.Authenticators;
-import androidx.biometric.BiometricPrompt;
-
-/**
- * Controller for the biometric prompt demo app. Coordinates the logic of initializing buttons,
- * generating the info, and launching the prompt itself.
- */
-abstract class BiometricPromptDemoController {
-
-    private static final String TAG = "bio_prompt_demo_control";
-
-    private static final String KEY_COUNTER = "saved_counter";
-    private static final String KEY_LOG = "saved_log";
-
-    private static final String BIOMETRIC_SUCCESS_MESSAGE = "BIOMETRIC_SUCCESS_MESSAGE";
-    private static final String BIOMETRIC_ERROR_HW_UNAVAILABLE_MESSAGE =
-            "BIOMETRIC_ERROR_HW_UNAVAILABLE";
-    private static final String BIOMETRIC_ERROR_NONE_ENROLLED_MESSAGE =
-            "BIOMETRIC_ERROR_NONE_ENROLLED";
-    private static final String BIOMETRIC_ERROR_NO_HARDWARE =
-            "BIOMETRIC_ERROR_NO_HARDWARE";
-    private static final String BIOMETRIC_ERROR_UNKNOWN = "Error unknown return result";
-
-    private static final int MODE_NONE = 0;
-    private static final int MODE_PERSIST_ACROSS_CONFIGURATION_CHANGES = 1;
-    private static final int MODE_CANCEL_ON_CONFIGURATION_CHANGE = 2;
-    private static final int MODE_CANCEL_AFTER_THREE_FAILURES = 3;
-
-    BiometricPrompt mBiometricPrompt;
-    private int mCounter;
-
-    private final Button mCanAuthenticateButton;
-    private final Button mAuthenticateButton;
-    private final CheckBox mRequireConfirmationCheckbox;
-    private final CheckBox mAllowDeviceCredentialCheckbox;
-    private final RadioGroup mBiometricPromptConfigurationRadioGroup;
-
-    private final TextView mLogView;
-
-    final BiometricPrompt.AuthenticationCallback mAuthenticationCallback =
-            new BiometricPrompt.AuthenticationCallback() {
-                private int mNumberFailedAttempts = 0;
-
-                @Override
-                public void onAuthenticationError(int err, @NonNull CharSequence message) {
-                    log("onAuthenticationError " + err + ": " + message);
-                    mNumberFailedAttempts = 0;
-                }
-
-                @Override
-                public void onAuthenticationSucceeded(
-                        @NonNull BiometricPrompt.AuthenticationResult result) {
-                    log("onAuthenticationSucceeded");
-                    mNumberFailedAttempts = 0;
-                }
-
-                @Override
-                public void onAuthenticationFailed() {
-                    log("onAuthenticationFailed");
-                    mNumberFailedAttempts++;
-
-                    // Cancel authentication after 3 failed attempts to test the cancel() method.
-                    if (getMode() == MODE_CANCEL_AFTER_THREE_FAILURES
-                            && mNumberFailedAttempts == 3) {
-                        mBiometricPrompt.cancelAuthentication();
-                    }
-                }
-            };
-
-    abstract Context getApplicationContext();
-
-    /**
-     * (Re)establish a connection between the host fragment/activity and the BiometricPrompt
-     * library.
-     *
-     * Developers should (re)create the BiometricPrompt every time the activity/fragment is
-     * created. This allows authentication to work across configuration changes. The internal
-     * implementation of the library uses fragments, which can be saved/restored. Instantiating
-     * the library with a new callback and executor early in the fragment/activity lifecycle (e.g.
-     * onCreate or onCreateView) allows the new instance to receive callbacks properly.
-     */
-    abstract void reconnect();
-
-    BiometricPromptDemoController(@NonNull View inflatedRootView) {
-        mCanAuthenticateButton = inflatedRootView.findViewById(R.id.can_authenticate);
-        mAuthenticateButton = inflatedRootView.findViewById(R.id.button_authenticate);
-        mRequireConfirmationCheckbox = inflatedRootView.findViewById(
-                R.id.checkbox_require_confirmation);
-        mAllowDeviceCredentialCheckbox = inflatedRootView.findViewById(
-                R.id.checkbox_allow_device_credential);
-        mBiometricPromptConfigurationRadioGroup = inflatedRootView.findViewById(
-                R.id.radio_group_biometric_prompt_configuration);
-
-        mLogView = inflatedRootView.findViewById(R.id.log_text);
-
-        Button clearLogButton = inflatedRootView.findViewById(R.id.button_clear_log);
-        clearLogButton.setOnClickListener((view1) -> mLogView.setText(""));
-    }
-
-    /** Sets up button callbacks and other state for the biometric prompt demo controller. */
-    void init(@Nullable Bundle savedInstanceState) {
-        if (savedInstanceState != null) {
-            mCounter = savedInstanceState.getInt(KEY_COUNTER);
-            mLogView.setText(savedInstanceState.getCharSequence(KEY_LOG));
-        }
-        mAuthenticateButton.setOnClickListener(v -> startAuthentication());
-
-        mCanAuthenticateButton.setOnClickListener(v -> {
-            BiometricManager biometricManager = BiometricManager.from(getApplicationContext());
-            String message;
-            switch (biometricManager.canAuthenticate(Authenticators.BIOMETRIC_WEAK)) {
-                case BiometricManager.BIOMETRIC_SUCCESS:
-                    message = BIOMETRIC_SUCCESS_MESSAGE;
-                    break;
-                case BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE:
-                    message = BIOMETRIC_ERROR_HW_UNAVAILABLE_MESSAGE;
-                    break;
-                case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:
-                    message = BIOMETRIC_ERROR_NONE_ENROLLED_MESSAGE;
-                    break;
-                case BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE:
-                    message = BIOMETRIC_ERROR_NO_HARDWARE;
-                    break;
-                default:
-                    message = BIOMETRIC_ERROR_UNKNOWN;
-            }
-            log("canAuthenticate: " + message);
-        });
-    }
-
-    void onPause() {
-        if (getMode() == MODE_CANCEL_ON_CONFIGURATION_CHANGE) {
-            mBiometricPrompt.cancelAuthentication();
-        }
-    }
-
-    void onSaveInstanceState(@NonNull Bundle outState) {
-        outState.putInt(KEY_COUNTER, mCounter);
-        outState.putCharSequence(KEY_LOG, mLogView.getText());
-    }
-
-    private void startAuthentication() {
-        if (getMode() == MODE_NONE) {
-            log("Select a test first");
-            return;
-        }
-
-        // Build the biometric prompt info
-        BiometricPrompt.PromptInfo.Builder builder = new BiometricPrompt.PromptInfo.Builder()
-                .setTitle("Title " + mCounter)
-                .setSubtitle("Subtitle " + mCounter)
-                .setDescription(
-                        "Lorem ipsum dolor sit amet, consecte etur adipisicing elit. "
-                                + mCounter)
-                .setConfirmationRequired(mRequireConfirmationCheckbox.isChecked());
-
-        if (mAllowDeviceCredentialCheckbox.isChecked()) {
-            builder.setDeviceCredentialAllowed(true);
-        } else {
-            builder.setNegativeButtonText("Negative Button " + mCounter);
-        }
-        BiometricPrompt.PromptInfo info = builder.build();
-        mCounter++;
-
-        // Show the biometric prompt.
-        mBiometricPrompt.authenticate(info);
-    }
-
-    /**
-     * @return The currently selected configuration.
-     */
-    private int getMode() {
-        int id = mBiometricPromptConfigurationRadioGroup.getCheckedRadioButtonId();
-        switch (id) {
-            case R.id.radio_persist_across_configuration_changes:
-                return MODE_PERSIST_ACROSS_CONFIGURATION_CHANGES;
-            case R.id.radio_cancel_on_configuration_change:
-                return MODE_CANCEL_ON_CONFIGURATION_CHANGE;
-            case R.id.radio_cancel_after_three_failures:
-                return MODE_CANCEL_AFTER_THREE_FAILURES;
-            default:
-                return MODE_NONE;
-        }
-    }
-
-    private void log(String s) {
-        Log.d(TAG, s);
-        mLogView.append(s + '\n');
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoCredentialBoundKeyActivity.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoCredentialBoundKeyActivity.java
deleted file mode 100644
index b475450..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoCredentialBoundKeyActivity.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
-import androidx.biometric.BiometricPrompt;
-import androidx.fragment.app.FragmentActivity;
-
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.util.Arrays;
-import java.util.concurrent.Executor;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-
-/**
- * Demo activity that shows how BiometricPrompt can be used with credential bound secret keys.
- */
-@RequiresApi(api = Build.VERSION_CODES.M)
-public class BiometricPromptDemoCredentialBoundKeyActivity extends FragmentActivity {
-
-    private static final String TAG = "bio_prompt_demo_control";
-    private static final String LOG_BUNDLE = "log";
-    private static final String KEY_NAME = "demo_key";
-    private static final String PAYLOAD = "hello";
-
-    // Specifies the duration for which the key can be used after the last user authentication.
-    // Only affects the keys generated with setUserAuthenticationValidityDurationSeconds(int).
-    private static final int VALIDITY_DURATION = 5;
-
-    private final Handler mHandler = new Handler(Looper.getMainLooper());
-    private final Executor mExecutor = mHandler::post;
-    private BiometricPrompt mBiometricPrompt;
-    private TextView mLogTextView;
-
-    private void log(String s) {
-        Log.d(TAG, s);
-        mLogTextView.append(s + '\n');
-    }
-
-    private void log(String s, Throwable tr) {
-        Log.e(TAG, "", tr);
-        mLogTextView.append(s + '\n' + tr.toString() + '\n');
-    }
-
-    private final BiometricPrompt.PromptInfo mPromptInfo = new BiometricPrompt.PromptInfo.Builder()
-            .setTitle("Title")
-            .setSubtitle("Subtitle")
-            .setDescription("Description")
-            .setDeviceCredentialAllowed(true)
-            .build();
-
-    private final BiometricPrompt.AuthenticationCallback mAuthenticationCallback =
-            new BiometricPrompt.AuthenticationCallback() {
-
-                @Override
-                public void onAuthenticationError(int err, @NonNull CharSequence message) {
-                    log("onAuthenticationError " + err + ": " + message);
-                }
-
-                @Override
-                public void onAuthenticationSucceeded(
-                        @NonNull BiometricPrompt.AuthenticationResult result) {
-                    log("onAuthenticationSucceeded");
-                }
-
-                @Override
-                public void onAuthenticationFailed() {
-                    log("onAuthenticationFailed");
-                    mBiometricPrompt.cancelAuthentication();
-                }
-            };
-
-    private View.OnClickListener mGenerateKeyListener = view -> {
-        try {
-            BiometricPromptDemoSecretKeyHelper.generateCredentialBoundKey(KEY_NAME,
-                    VALIDITY_DURATION);
-            log("Generated a key with a " + VALIDITY_DURATION + " second authentication validity");
-        } catch (InvalidAlgorithmParameterException | NoSuchAlgorithmException
-                | NoSuchProviderException e) {
-            log("Failed to generate key", e);
-        }
-    };
-
-    private View.OnClickListener mUnlockKeyListener = view -> {
-        mBiometricPrompt.authenticate(mPromptInfo);
-        log("Started authentication");
-    };
-
-    private View.OnClickListener mUseKeyListener = view -> {
-        Cipher cipher = null;
-        try {
-            cipher = BiometricPromptDemoSecretKeyHelper.getCipher();
-        } catch (NoSuchPaddingException | NoSuchAlgorithmException e) {
-            log("Failed to get cipher", e);
-        }
-
-        SecretKey secretKey = null;
-        try {
-            secretKey = BiometricPromptDemoSecretKeyHelper.getSecretKey(KEY_NAME);
-        } catch (KeyStoreException | CertificateException | NoSuchAlgorithmException | IOException
-                | UnrecoverableKeyException e) {
-            log("Failed to get secret key", e);
-        }
-
-        if (cipher != null && secretKey != null) {
-            try {
-                cipher.init(Cipher.ENCRYPT_MODE, secretKey);
-                byte[] encrypted = cipher.doFinal(PAYLOAD.getBytes(Charset.defaultCharset()));
-                log("Test payload: " + PAYLOAD);
-                log("Encrypted payload: " + Arrays.toString(encrypted));
-            } catch (InvalidKeyException | BadPaddingException | IllegalBlockSizeException e) {
-                log("Failed to encrypt", e);
-            }
-        }
-    };
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.biometric_prompt_demo_credential_bound_key);
-
-        mLogTextView = findViewById(R.id.text_view_log);
-        mBiometricPrompt = new BiometricPrompt(this, mExecutor, mAuthenticationCallback);
-
-        ((TextView) findViewById(R.id.text_view_activity_description)).setText(
-                R.string.label_credential_bound_key_activity_description);
-
-        if (savedInstanceState != null) {
-            mLogTextView.setText(savedInstanceState.getCharSequence(LOG_BUNDLE));
-        }
-
-        findViewById(R.id.button_generate_key).setOnClickListener(mGenerateKeyListener);
-        findViewById(R.id.button_unlock_key).setOnClickListener(mUnlockKeyListener);
-        findViewById(R.id.button_use_key).setOnClickListener(mUseKeyListener);
-        findViewById(R.id.button_clear_log).setOnClickListener(v -> mLogTextView.setText(""));
-    }
-
-    @Override
-    protected void onPause() {
-        mBiometricPrompt.cancelAuthentication();
-        super.onPause();
-    }
-
-    @Override
-    protected void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putCharSequence(LOG_BUNDLE, mLogTextView.getText());
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentController.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentController.java
deleted file mode 100644
index 497aa6b..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentController.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.content.Context;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.biometric.BiometricPrompt;
-import androidx.fragment.app.Fragment;
-
-/**
- * Implementation of {@link com.example.android.biometric.BiometricPromptDemoController} that
- * handles launching the biometric prompt from within a fragment host.
- */
-class BiometricPromptDemoFragmentController extends BiometricPromptDemoController {
-
-    private final Context mContext;
-    private final Fragment mFragment;
-
-    BiometricPromptDemoFragmentController(
-            @NonNull Context context,
-            @NonNull Fragment fragment,
-            @NonNull View inflatedRootView) {
-        super(inflatedRootView);
-        mContext = context;
-        mFragment = fragment;
-    }
-
-    @Override
-    Context getApplicationContext() {
-        return mContext.getApplicationContext();
-    }
-
-    @Override
-    void reconnect() {
-        mBiometricPrompt = new BiometricPrompt(mFragment, mAuthenticationCallback);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHost.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHost.java
deleted file mode 100644
index a764e98..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHost.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.DialogFragment;
-
-/**
- * Hosting fragment for the BiometricPrompt demo. Shows how a biometric prompt can be launched
- * from an activity-hosted fragment by hooking into appropriate lifecycle methods for the fragment.
- */
-public class BiometricPromptDemoFragmentHost extends DialogFragment {
-
-    private Context mContext;
-    private BiometricPromptDemoController mController;
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        super.onAttach(context);
-        mContext = context;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-
-        View view = inflater.inflate(R.layout.biometric_prompt_demo_content, container, false);
-        final TextView hostTypeTextView = view.findViewById(R.id.host_type_text_view);
-        hostTypeTextView.setText(R.string.label_host_type_fragment);
-
-        mController = new BiometricPromptDemoFragmentController(mContext, this, view);
-        mController.init(savedInstanceState);
-        mController.reconnect();
-        return view;
-    }
-
-    @Override
-    public void onPause() {
-        mController.onPause();
-        super.onPause();
-    }
-
-    @Override
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        mController.onSaveInstanceState(outState);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHostActivity.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHostActivity.java
deleted file mode 100644
index 3f58aea..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoFragmentHostActivity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.os.Bundle;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-
-/** Simple wrapper activity that holds the fragment host for the biometric prompt demo. */
-public class BiometricPromptDemoFragmentHostActivity extends FragmentActivity {
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.biometric_prompt_demo_fragment_host_activity);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoSecretKeyHelper.java b/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoSecretKeyHelper.java
deleted file mode 100644
index 8986f6d..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/BiometricPromptDemoSecretKeyHelper.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.biometric;
-
-import android.os.Build;
-import android.security.keystore.KeyGenParameterSpec;
-import android.security.keystore.KeyProperties;
-
-import androidx.annotation.RequiresApi;
-
-import java.io.IOException;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-
-import javax.crypto.Cipher;
-import javax.crypto.KeyGenerator;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-
-/**
- * Helper class that provides methods for generating and accessing secret keys, and showcases
- * the differences between the keys that require biometrics and the keys bound to user credentials.
- */
-@RequiresApi(api = Build.VERSION_CODES.M)
-final class BiometricPromptDemoSecretKeyHelper {
-    private BiometricPromptDemoSecretKeyHelper() { }
-
-    /**
-     * Generates a key that requires the user to authenticate with a biometric before each use.
-     */
-    static void generateBiometricBoundKey(String keyName,
-            boolean invalidatedByBiometricEnrollment)
-            throws InvalidAlgorithmParameterException, NoSuchAlgorithmException,
-            NoSuchProviderException {
-        generateKey(keyName, true, invalidatedByBiometricEnrollment, -1);
-    }
-
-    /**
-     * Generates a key that can only be used if the user is authenticated via secure lock screen or
-     * {@link androidx.biometric.BiometricPrompt.PromptInfo.Builder#setDeviceCredentialAllowed(
-     *boolean)}
-     */
-    static void generateCredentialBoundKey(String keyName, int validityDuration)
-            throws InvalidAlgorithmParameterException, NoSuchAlgorithmException,
-            NoSuchProviderException {
-        generateKey(keyName, false, false, validityDuration);
-    }
-
-    private static void generateKey(String keyName, boolean biometricBound,
-            boolean invalidatedByBiometricEnrollment, int validityDuration)
-            throws NoSuchProviderException, NoSuchAlgorithmException,
-            InvalidAlgorithmParameterException {
-        KeyGenParameterSpec.Builder builder = new KeyGenParameterSpec.Builder(
-                keyName,
-                KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
-                .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
-                .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
-                .setUserAuthenticationRequired(true);
-
-        if (biometricBound) {
-            // Require the user to authenticate for every use of the key. This is the default, i.e.
-            // userAuthenticationValidityDurationSeconds is -1 unless specified otherwise.
-            // Explicitly setting it to -1 here for the sake of example.
-            // For this to work, at least one biometric must be enrolled.
-            builder.setUserAuthenticationValidityDurationSeconds(-1);
-
-            // This is a workaround to avoid crashes on devices whose API level is < 24
-            // because KeyGenParameterSpec.Builder#setInvalidatedByBiometricEnrollment is only
-            // visible on API level 24+.
-            // Ideally there should be a compat library for KeyGenParameterSpec.Builder but
-            // it isn't available yet.
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
-                // Invalidate the keys if a new biometric has been enrolled.
-                builder.setInvalidatedByBiometricEnrollment(invalidatedByBiometricEnrollment);
-            }
-        } else {
-            // Sets the duration for which the key can be used after the last user authentication.
-            // For this to work, authentication must happen either via secure lock screen or the
-            // ConfirmDeviceCredential flow, which can be done by creating BiometricPrompt with
-            // BiometricPrompt.PromptInfo.Builder#setDeviceCredentialAllowed(true)
-            builder.setUserAuthenticationValidityDurationSeconds(validityDuration);
-        }
-
-        KeyGenerator keyGenerator = KeyGenerator
-                .getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");
-        keyGenerator.init(builder.build());
-
-        // Generates and stores the key in Android KeyStore under the keystoreAlias (keyName)
-        // specified in the builder.
-        keyGenerator.generateKey();
-    }
-
-    static SecretKey getSecretKey(String keyName)
-            throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException,
-            UnrecoverableKeyException {
-        KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
-
-        // Before the keystore can be accessed, it must be loaded.
-        keyStore.load(null);
-        return (SecretKey) keyStore.getKey(keyName, null);
-    }
-
-    static Cipher getCipher() throws NoSuchPaddingException, NoSuchAlgorithmException {
-        return Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/"
-                + KeyProperties.BLOCK_MODE_CBC + "/"
-                + KeyProperties.ENCRYPTION_PADDING_PKCS7);
-    }
-}
diff --git a/samples/BiometricDemos/src/main/java/com/example/android/biometric/_package.html b/samples/BiometricDemos/src/main/java/com/example/android/biometric/_package.html
deleted file mode 100644
index 3691507..0000000
--- a/samples/BiometricDemos/src/main/java/com/example/android/biometric/_package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-<link rel="stylesheet" type="text/css" href="assets/style.css" />
-<script type="text/javascript" src="http://www.corp.google.com/style/prettify.js"></script>
-<script src="http://www.corp.google.com/eng/techpubs/include/navbar.js" type="text/javascript"></script>
-
-
-
-</head>
-
-<body>
-
-<p>
-Examples of how to use support library biometric APIs.  See:
-
-<ol>
-    <li> <a href="com.example.android.biometric.app">sdk.app</a> for examples
-        of using the application package support APIs.
-</ol>
-</p>
-
-
-</body>
-</html>
diff --git a/samples/BiometricDemos/src/main/res/drawable-hdpi/app_sample_code.png b/samples/BiometricDemos/src/main/res/drawable-hdpi/app_sample_code.png
deleted file mode 100755
index 66a1984..0000000
--- a/samples/BiometricDemos/src/main/res/drawable-hdpi/app_sample_code.png
+++ /dev/null
Binary files differ
diff --git a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo.xml b/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo.xml
deleted file mode 100644
index c69b2c7..0000000
--- a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/label_choose_mode" />
-
-    <Button
-        android:id="@+id/host_in_activity_button"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_host_in_activity"
-        android:textSize="12sp" />
-
-    <Button
-        android:id="@+id/host_in_fragment_button"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_host_in_fragment"
-        android:textSize="12sp" />
-
-    <Button
-        android:id="@+id/button_biometric_bound_key_demo"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_biometric_bound_demo"
-        android:textSize="12sp" />
-
-    <Button
-        android:id="@+id/button_credential_bound_key_demo"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_credential_bound_demo"
-        android:textSize="12sp" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_biometric_bound_key.xml b/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_biometric_bound_key.xml
deleted file mode 100644
index bc6e09a..0000000
--- a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_biometric_bound_key.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/text_view_activity_description"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content" />
-
-    <Button
-        android:id="@+id/button_generate_key"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_generate_key" />
-
-    <Button
-        android:id="@+id/button_unlock_and_use_key"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_unlock_and_use_key" />
-
-    <Button
-        android:id="@+id/button_decrypt"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_decrypt" />
-
-    <Button
-        android:id="@+id/button_clear_log"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_clear_log" />
-
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <TextView
-            android:id="@+id/text_view_log"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-
-    </ScrollView>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_content.xml b/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_content.xml
deleted file mode 100644
index 1b3138b..0000000
--- a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_content.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2018 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.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/host_type_text_view"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <Button
-                android:id="@+id/can_authenticate"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/button_can_authenticate" />
-
-            <Button
-                android:id="@+id/button_authenticate"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/button_authenticate" />
-
-            <CheckBox
-                android:id="@+id/checkbox_require_confirmation"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:checked="true"
-                android:text="@string/checkbox_text_require_confirmation" />
-
-            <CheckBox
-                android:id="@+id/checkbox_allow_device_credential"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="@string/checkbox_text_allow_device_credential" />
-
-            <RadioGroup
-                android:id="@+id/radio_group_biometric_prompt_configuration"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content">
-
-                <RadioButton
-                    android:id="@+id/radio_persist_across_configuration_changes"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:checked="true"
-                    android:text="@string/radio_text_persist_across_configuration_changes" />
-
-                <RadioButton
-                    android:id="@+id/radio_cancel_on_configuration_change"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_text_cancel_on_configuration_change" />
-
-                <RadioButton
-                    android:id="@+id/radio_cancel_after_three_failures"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_text_cancel_after_three_failures" />
-            </RadioGroup>
-
-            <Button
-                android:id="@+id/button_clear_log"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/button_clear_log" />
-
-            <TextView
-                android:id="@+id/log_text"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
-
-        </LinearLayout>
-
-    </ScrollView>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_credential_bound_key.xml b/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_credential_bound_key.xml
deleted file mode 100644
index 1e57933..0000000
--- a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_credential_bound_key.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/text_view_activity_description"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
-
-    <Button
-        android:id="@+id/button_generate_key"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_generate_key" />
-
-    <Button
-        android:id="@+id/button_unlock_key"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_unlock_key" />
-
-    <Button
-        android:id="@+id/button_use_key"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_use_key" />
-
-    <Button
-        android:id="@+id/button_clear_log"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/button_clear_log" />
-
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <TextView
-            android:id="@+id/text_view_log"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" />
-
-    </ScrollView>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_fragment_host_activity.xml b/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_fragment_host_activity.xml
deleted file mode 100644
index 6559eaa..0000000
--- a/samples/BiometricDemos/src/main/res/layout/biometric_prompt_demo_fragment_host_activity.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <fragment
-        android:id="@+id/biometric_prompt_demo_fragment_host_container"
-        android:name="com.example.android.biometric.BiometricPromptDemoFragmentHost"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/samples/BiometricDemos/src/main/res/values-v27/styles.xml b/samples/BiometricDemos/src/main/res/values-v27/styles.xml
deleted file mode 100644
index ab7d5cb..0000000
--- a/samples/BiometricDemos/src/main/res/values-v27/styles.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-    <style name="AppTheme" parent="Theme.AppCompat.DayNight">
-        <item name="android:navigationBarColor">@android:color/transparent</item>
-        <item name="android:windowLightNavigationBar">true</item>
-    </style>
-</resources>
diff --git a/samples/BiometricDemos/src/main/res/values/strings.xml b/samples/BiometricDemos/src/main/res/values/strings.xml
deleted file mode 100644
index 7bc87c1..0000000
--- a/samples/BiometricDemos/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2018 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.
-  -->
-
-<resources>
-
-    <!-- BiometricPromptDemo -->
-    <string name="activity_sample_code">Biometric Demo</string>
-    <string name="label_choose_mode">Choose a mode for the biometric prompt:</string>
-    <string name="button_host_in_activity">Biometric prompt in a FragmentActivity</string>
-    <string name="button_host_in_fragment">Biometric prompt in a Fragment</string>
-    <string name="button_biometric_bound_demo">Biometric prompt with biometric bound secret keys</string>
-    <string name="button_credential_bound_demo">Biometric prompt with credential bound secret
-        keys</string>
-    <string name="button_decrypt">Decrypt</string>
-
-    <!-- BiometricPromptDemoActivityHost -->
-    <string name="label_host_type_activity">Currently hosted in a FragmentActivity</string>
-
-    <!-- BiometricPromptDemoFragmentHost -->
-    <string name="label_host_type_fragment">Currently hosted in a Fragment</string>
-
-    <!-- BiometricPromptDemoController -->
-    <string name="button_can_authenticate">Can authenticate</string>
-    <string name="button_authenticate">Authenticate</string>
-
-    <string name="checkbox_text_require_confirmation">Require confirmation</string>
-    <string name="checkbox_text_allow_device_credential">Allow device credential</string>
-
-    <string name="radio_text_persist_across_configuration_changes">Persist across configuration changes</string>
-    <string name="radio_text_cancel_on_configuration_change">Cancel when configuration changes</string>
-    <string name="radio_text_cancel_after_three_failures">Cancel after three failures</string>
-
-    <!-- Shared between multiple activities -->
-    <string name="button_generate_key">Generate key</string>
-    <string name="button_clear_log">Clear logs</string>
-
-    <!-- BiometricPromptDemoBiometricBoundKeyActivity -->
-    <string name="label_biometric_bound_key_activity_description">This activity shows how to handle
-        secret keys that require biometric authentication before each use.</string>
-    <string name="button_unlock_and_use_key">Unlock and use the key to encrypt test payload</string>
-
-    <!-- BiometricPromptDemoCredentialBoundKeyActivity -->
-    <string name="label_credential_bound_key_activity_description">This activity shows how to handle
-        secret keys that can only be used if the user is authenticated via secure lock screen or
-        PromptInfo.Builder#setDeviceCredentialAllowed(true). These keys might also have a
-        custom authentication validity duration, allowing the key to be used for some period of
-        time after the last authentication.</string>
-    <string name="button_unlock_key">Authenticate to unlock the key</string>
-    <string name="button_use_key">Use the key to encrypt test payload</string>
-
-</resources>
diff --git a/samples/BiometricDemos/src/main/res/values/styles.xml b/samples/BiometricDemos/src/main/res/values/styles.xml
deleted file mode 100644
index d5616af..0000000
--- a/samples/BiometricDemos/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2018 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.
-  -->
-
-<resources>
-    <style name="AppTheme" parent="Theme.AppCompat.DayNight" />
-</resources>
diff --git a/samples/Support7Demos/src/main/AndroidManifest.xml b/samples/Support7Demos/src/main/AndroidManifest.xml
index cad3c93..13a7051 100644
--- a/samples/Support7Demos/src/main/AndroidManifest.xml
+++ b/samples/Support7Demos/src/main/AndroidManifest.xml
@@ -91,6 +91,26 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".media.SampleMediaRouterActivity$DynamicGroupActivity"
+            android:configChanges="orientation|screenSize"
+            android:label="@string/sample_media_router_activity_dynamic_group"
+            android:theme="@style/Theme.SampleMediaRouter">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.example.android.supportv7.SAMPLE_CODE" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".media.SampleMediaRouterActivity$OutputSwitcherActivity"
+            android:configChanges="orientation|screenSize"
+            android:label="@string/sample_media_router_activity_output_switcher"
+            android:theme="@style/Theme.SampleMediaRouter">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.example.android.supportv7.SAMPLE_CODE" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".media.SampleMediaRouteSettingsActivity"
                 android:label="@string/sample_media_route_settings_activity"
                 android:theme="@style/Theme.AppCompat.Light">
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
index 919fea5..2e3a266 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
@@ -221,12 +221,7 @@
         // Get the media router service.
         mMediaRouter = MediaRouter.getInstance(this);
 
-        MediaRouterParams params = new MediaRouterParams.Builder()
-                .setDialogType(MediaRouterParams.DIALOG_TYPE_DEFAULT)
-                .setOutputSwitcherEnabled(true) // Output switcher will be shown from Android R+.
-                .setTransferToLocalEnabled(true) // Phone speaker will be shown when casting.
-                .build();
-        mMediaRouter.setRouterParams(params);
+        mMediaRouter.setRouterParams(getRouterParams());
 
         // Create a route selector for the type of routes that we care about.
         mSelector = new MediaRouteSelector.Builder()
@@ -623,6 +618,13 @@
         return null;
     }
 
+    public MediaRouterParams getRouterParams() {
+        return new MediaRouterParams.Builder()
+                .setDialogType(MediaRouterParams.DIALOG_TYPE_DEFAULT)
+                .setTransferToLocalEnabled(true) // Phone speaker will be shown when casting.
+                .build();
+    }
+
     /**
      * Media route discovery fragment.
      */
@@ -751,6 +753,30 @@
     public static class LightWithDarkActionBar extends SampleMediaRouterActivity {
     }
 
+    /**
+     * This will show dynamic group dialog when ther user clicks the media route button.
+     */
+    public static class DynamicGroupActivity extends SampleMediaRouterActivity {
+        @Override
+        public MediaRouterParams getRouterParams() {
+            return new MediaRouterParams.Builder(super.getRouterParams())
+                    .setDialogType(MediaRouterParams.DIALOG_TYPE_DYNAMIC_GROUP)
+                    .build();
+        }
+    }
+
+    /**
+     * This pops up the output switcher if run on Android R+
+     */
+    public static class OutputSwitcherActivity extends SampleMediaRouterActivity {
+        @Override
+        public MediaRouterParams getRouterParams() {
+            return new MediaRouterParams.Builder(super.getRouterParams())
+                    .setOutputSwitcherEnabled(true)
+                    .build();
+        }
+    }
+
     public static class ControllerDialogFragment extends MediaRouteControllerDialogFragment {
         private MediaRouteControllerDialog mControllerDialog;
         private CheckBox mUseDefaultControlCheckBox;
diff --git a/samples/Support7Demos/src/main/res/values/strings.xml b/samples/Support7Demos/src/main/res/values/strings.xml
index 8909901..e467c89 100644
--- a/samples/Support7Demos/src/main/res/values/strings.xml
+++ b/samples/Support7Demos/src/main/res/values/strings.xml
@@ -22,6 +22,10 @@
     <string name="sample_media_router_activity_dark">MediaRouter/Dark Theme</string>
     <string name="sample_media_router_activity_light">MediaRouter/Light Theme</string>
     <string name="sample_media_router_activity_light_with_dark_action_bar">MediaRouter/Light Theme, Dark Action Bar</string>
+    <string name="sample_media_router_activity_dynamic_group">MediaRouter/Dynamic Group
+        Dialog</string>
+    <string name="sample_media_router_activity_output_switcher">MediaRouter/Output Switcher
+    Dialog</string>
     <string name="sample_media_router_text">This activity demonstrates how to
             use MediaRouter from the support library.  Select a route from the action bar.</string>
     <string name="media_route_menu_title">Play on...</string>
diff --git a/settings.gradle b/settings.gradle
index 6434bb1..4ee1b43 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -366,7 +366,6 @@
 // Note: don't add new samples/ apps. Instead, Create
 // <module>/integration-tests/testapp in the "Libraries" section above.
 includeProject(":support-animation-demos", new File(samplesRoot, "SupportAnimationDemos"))
-includeProject(":support-biometric-demos", new File(samplesRoot, "BiometricDemos"))
 includeProject(":support-content-demos", new File(samplesRoot, "SupportContentDemos"))
 includeProject(":support-emoji-demos", new File(samplesRoot, "SupportEmojiDemos"))
 includeProject(":support-leanback-demos", new File(samplesRoot, "SupportLeanbackDemos"))
diff --git a/slices/view/api/restricted_1.1.0-alpha02.txt b/slices/view/api/restricted_1.1.0-alpha02.txt
index ac30808..3fe4b0d 100644
--- a/slices/view/api/restricted_1.1.0-alpha02.txt
+++ b/slices/view/api/restricted_1.1.0-alpha02.txt
@@ -112,7 +112,7 @@
     field public int state;
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class GridContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class GridContent {
     ctor public GridContent(androidx.slice.SliceItem!, int);
     method public int getAccentColor();
     method public CharSequence? getContentDescription();
@@ -148,7 +148,7 @@
     method public boolean populate(androidx.slice.SliceItem!);
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListContent {
     ctor public ListContent(androidx.slice.Slice);
     ctor @Deprecated public ListContent(android.content.Context!, androidx.slice.Slice);
     method public int getAccentColor();
@@ -172,7 +172,7 @@
     method public void showTitleItems(boolean);
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RowContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RowContent {
     ctor public RowContent(androidx.slice.SliceItem!, int);
     method public int getAccentColor();
     method public CharSequence? getContentDescription();
diff --git a/slices/view/api/restricted_current.txt b/slices/view/api/restricted_current.txt
index ac30808..3fe4b0d 100644
--- a/slices/view/api/restricted_current.txt
+++ b/slices/view/api/restricted_current.txt
@@ -112,7 +112,7 @@
     field public int state;
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class GridContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class GridContent {
     ctor public GridContent(androidx.slice.SliceItem!, int);
     method public int getAccentColor();
     method public CharSequence? getContentDescription();
@@ -148,7 +148,7 @@
     method public boolean populate(androidx.slice.SliceItem!);
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListContent {
     ctor public ListContent(androidx.slice.Slice);
     ctor @Deprecated public ListContent(android.content.Context!, androidx.slice.Slice);
     method public int getAccentColor();
@@ -172,7 +172,7 @@
     method public void showTitleItems(boolean);
   }
 
-  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RowContent extends androidx.slice.widget.SliceContent {
+  @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RowContent {
     ctor public RowContent(androidx.slice.SliceItem!, int);
     method public int getAccentColor();
     method public CharSequence? getContentDescription();
diff --git a/tv-provider/tv-provider/api/restricted_1.1.0-alpha01.txt b/tv-provider/tv-provider/api/restricted_1.1.0-alpha01.txt
index 0747b53..2e09571 100644
--- a/tv-provider/tv-provider/api/restricted_1.1.0-alpha01.txt
+++ b/tv-provider/tv-provider/api/restricted_1.1.0-alpha01.txt
@@ -197,7 +197,6 @@
     method public android.net.Uri! getLogoUri();
     method public String! getLongDescription();
     method public String! getOfferPrice();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public int getPosterArtAspectRatio();
     method public android.net.Uri! getPosterArtUri();
     method public android.net.Uri! getPreviewAudioUri();
@@ -311,7 +310,6 @@
     method public Long! getInternalProviderFlag3();
     method public Long! getInternalProviderFlag4();
     method public String! getLongDescription();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public android.net.Uri! getPosterArtUri();
     method public String! getReviewRating();
     method public int getReviewRatingStyle();
@@ -802,7 +800,6 @@
     method public android.net.Uri! getLogoUri();
     method public String! getLongDescription();
     method public String! getOfferPrice();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public int getPosterArtAspectRatio();
     method public android.net.Uri! getPosterArtUri();
     method public android.net.Uri! getPreviewAudioUri();
diff --git a/tv-provider/tv-provider/api/restricted_current.txt b/tv-provider/tv-provider/api/restricted_current.txt
index 0747b53..2e09571 100644
--- a/tv-provider/tv-provider/api/restricted_current.txt
+++ b/tv-provider/tv-provider/api/restricted_current.txt
@@ -197,7 +197,6 @@
     method public android.net.Uri! getLogoUri();
     method public String! getLongDescription();
     method public String! getOfferPrice();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public int getPosterArtAspectRatio();
     method public android.net.Uri! getPosterArtUri();
     method public android.net.Uri! getPreviewAudioUri();
@@ -311,7 +310,6 @@
     method public Long! getInternalProviderFlag3();
     method public Long! getInternalProviderFlag4();
     method public String! getLongDescription();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public android.net.Uri! getPosterArtUri();
     method public String! getReviewRating();
     method public int getReviewRatingStyle();
@@ -802,7 +800,6 @@
     method public android.net.Uri! getLogoUri();
     method public String! getLongDescription();
     method public String! getOfferPrice();
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getPackageName();
     method public int getPosterArtAspectRatio();
     method public android.net.Uri! getPosterArtUri();
     method public android.net.Uri! getPreviewAudioUri();
diff --git a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BasePreviewProgram.java b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BasePreviewProgram.java
index c5a2b61..97f5f71 100644
--- a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BasePreviewProgram.java
+++ b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BasePreviewProgram.java
@@ -16,7 +16,6 @@
 package androidx.tvprovider.media.tv;
 
 import static androidx.annotation.RestrictTo.Scope.LIBRARY;
-import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
 
 import android.content.ContentValues;
 import android.content.Intent;
@@ -47,7 +46,7 @@
     /**
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public static final String[] PROJECTION = getProjection();
 
     private static final int INVALID_INT_VALUE = -1;
@@ -74,7 +73,7 @@
             PreviewProgramColumns.TYPE_GAME
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public @interface Type {}
 
     /**
@@ -93,7 +92,7 @@
             PreviewProgramColumns.ASPECT_RATIO_MOVIE_POSTER
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public @interface AspectRatio {}
 
     /**
@@ -111,7 +110,7 @@
             PreviewProgramColumns.AVAILABILITY_FREE
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public @interface Availability {}
 
     /**
@@ -131,7 +130,7 @@
             PreviewProgramColumns.INTERACTION_TYPE_VIEWERS,
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public @interface InteractionType {}
 
     /** @hide */
@@ -140,7 +139,7 @@
             PreviewProgramColumns.TV_SERIES_ITEM_TYPE_CHAPTER
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public @interface TvSeriesItemType {}
 
     /**
@@ -423,7 +422,7 @@
      * @param includeProtectedFields Whether the fields protected by system is included or not.
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public ContentValues toContentValues(boolean includeProtectedFields) {
         ContentValues values = super.toContentValues();
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
@@ -977,7 +976,7 @@
          * @see androidx.tvprovider.media.tv.TvContractCompat.PreviewPrograms#COLUMN_BROWSABLE
          * @hide
          */
-        @RestrictTo(LIBRARY_GROUP_PREFIX)
+        @RestrictTo(LIBRARY)
         public T setBrowsable(boolean browsable) {
             mValues.put(PreviewPrograms.COLUMN_BROWSABLE, browsable ? IS_BROWSABLE : 0);
             return (T) this;
diff --git a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BaseProgram.java b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BaseProgram.java
index 645ad7f..a16ca02 100644
--- a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BaseProgram.java
+++ b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/BaseProgram.java
@@ -16,7 +16,6 @@
 package androidx.tvprovider.media.tv;
 
 import static androidx.annotation.RestrictTo.Scope.LIBRARY;
-import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
 
 import android.content.ContentValues;
 import android.database.Cursor;
@@ -47,7 +46,7 @@
     /**
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public static final String[] PROJECTION = getProjection();
 
     private static final long INVALID_LONG_VALUE = -1;
@@ -62,7 +61,7 @@
             ProgramColumns.REVIEW_RATING_STYLE_PERCENTAGE,
     })
     @Retention(RetentionPolicy.SOURCE)
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     @interface ReviewRatingStyle {}
 
     /**
@@ -71,7 +70,7 @@
     private static final int REVIEW_RATING_STYLE_UNKNOWN = -1;
 
     /** @hide */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     protected ContentValues mValues;
 
     /* package-private */
@@ -93,7 +92,7 @@
      * @see androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns#COLUMN_PACKAGE_NAME
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP_PREFIX)
+    @RestrictTo(LIBRARY)
     public String getPackageName() {
         return mValues.getAsString(BaseTvColumns.COLUMN_PACKAGE_NAME);
     }
@@ -542,7 +541,7 @@
      */
     public abstract static class Builder<T extends Builder> {
         /** @hide */
-        @RestrictTo(LIBRARY_GROUP_PREFIX)
+        @RestrictTo(LIBRARY)
         protected ContentValues mValues;
 
         /**
@@ -580,7 +579,7 @@
          * @see androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns#COLUMN_PACKAGE_NAME
          * @hide
          */
-        @RestrictTo(LIBRARY_GROUP_PREFIX)
+        @RestrictTo(LIBRARY)
         public T setPackageName(String packageName) {
             mValues.put(BaseTvColumns.COLUMN_PACKAGE_NAME, packageName);
             return (T) this;
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/FrameworkTextLayoutBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/FrameworkTextLayoutBenchmark.kt
similarity index 98%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/FrameworkTextLayoutBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/FrameworkTextLayoutBenchmark.kt
index a6c73df..c47096e4 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/FrameworkTextLayoutBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/FrameworkTextLayoutBenchmark.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import android.content.Context
 import android.graphics.Color
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphBenchmark.kt
similarity index 98%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphBenchmark.kt
index 9013115..2ff1be4 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphBenchmark.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import android.content.Context
 import android.util.TypedValue
@@ -31,7 +31,7 @@
 import androidx.ui.integration.test.TextBenchmarkTestRule
 import androidx.ui.integration.test.TextType
 import androidx.ui.integration.test.cartesian
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphMethodBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphMethodBenchmark.kt
similarity index 98%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphMethodBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphMethodBenchmark.kt
index 16c542d..507259a 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/ParagraphMethodBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/ParagraphMethodBenchmark.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.benchmark.junit4.BenchmarkRule
 import androidx.benchmark.junit4.measureRepeated
@@ -24,7 +24,7 @@
 import androidx.ui.integration.test.TextBenchmarkTestRule
 import androidx.ui.integration.test.TextType
 import androidx.ui.integration.test.cartesian
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import androidx.ui.unit.sp
 import org.junit.Rule
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/TextDelegateBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/TextDelegateBenchmark.kt
similarity index 98%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/TextDelegateBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/TextDelegateBenchmark.kt
index 6fcff27..ed454ce 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/text/TextDelegateBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/TextDelegateBenchmark.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import android.content.Context
 import android.util.TypedValue
@@ -32,7 +32,7 @@
 import androidx.ui.integration.test.RandomTextGenerator
 import androidx.ui.integration.test.TextBenchmarkTestRule
 import androidx.ui.integration.test.cartesian
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import androidx.ui.unit.sp
 import org.junit.Before
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/EditProcessorBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/EditProcessorBenchmark.kt
similarity index 96%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/EditProcessorBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/EditProcessorBenchmark.kt
index 3f9c70e..f30d311 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/EditProcessorBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/EditProcessorBenchmark.kt
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.benchmark.junit4.BenchmarkRule
 import androidx.benchmark.junit4.measureRepeated
 import androidx.test.filters.LargeTest
 import androidx.ui.integration.test.RandomTextGenerator
 import androidx.ui.integration.test.cartesian
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.TextRange
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/GapBufferBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/GapBufferBenchmark.kt
similarity index 97%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/GapBufferBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/GapBufferBenchmark.kt
index 757b3cd..4ad4255 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/input/GapBufferBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/input/GapBufferBenchmark.kt
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.benchmark.junit4.BenchmarkRule
 import androidx.benchmark.junit4.measureRepeated
 import androidx.test.filters.LargeTest
 import androidx.ui.integration.test.RandomTextGenerator
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/intl/LocaleListBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/intl/LocaleListBenchmark.kt
similarity index 97%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/intl/LocaleListBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/intl/LocaleListBenchmark.kt
index 666256b..124d23b 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/intl/LocaleListBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/compose/ui/text/intl/LocaleListBenchmark.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.benchmark.junit4.BenchmarkRule
 import androidx.benchmark.junit4.measureRepeated
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/TextToggleTextBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/TextToggleTextBenchmark.kt
new file mode 100644
index 0000000..63141f0
--- /dev/null
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/TextToggleTextBenchmark.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.core
+
+import androidx.test.filters.SmallTest
+import androidx.ui.benchmark.ComposeBenchmarkRule
+import androidx.ui.benchmark.toggleStateBenchmarkDraw
+import androidx.ui.benchmark.toggleStateBenchmarkLayout
+import androidx.ui.benchmark.toggleStateBenchmarkMeasure
+import androidx.ui.benchmark.toggleStateBenchmarkRecompose
+import androidx.ui.integration.test.TextBenchmarkTestRule
+import androidx.ui.integration.test.core.text.TextToggleTextTestCase
+import androidx.ui.unit.dp
+import androidx.ui.unit.sp
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+@SmallTest
+@RunWith(Parameterized::class)
+class TextToggleTextBenchmark(
+    private val textLength: Int
+) {
+    companion object {
+        @JvmStatic
+        @Parameterized.Parameters(name = "length={0}")
+        fun initParameters(): Array<Any> = arrayOf(32, 512)
+    }
+
+    @get:Rule
+    val textBenchmarkRule = TextBenchmarkTestRule()
+
+    @get:Rule
+    val benchmarkRule = ComposeBenchmarkRule()
+
+    private val width = textBenchmarkRule.widthDp.dp
+    private val fontSize = textBenchmarkRule.fontSizeSp.sp
+
+    private val toggleTextCaseFactory = {
+        textBenchmarkRule.generator { generator ->
+            TextToggleTextTestCase(generator, textLength, width, fontSize)
+        }
+    }
+
+    /**
+     * Measure the time taken to recompose the [Text] composable when text gets toggled.
+     */
+    @Test
+    fun toggleText_recompose() {
+        benchmarkRule.toggleStateBenchmarkRecompose(toggleTextCaseFactory)
+    }
+
+    /**
+     * Measure the time taken to measure the [Text] composable when text gets toggled.
+     */
+    @Test
+    fun toggleText_measure() {
+        benchmarkRule.toggleStateBenchmarkMeasure(toggleTextCaseFactory)
+    }
+
+    /**
+     * Measure the time taken to layout the [Text] composable when text gets toggled.
+     */
+    @Test
+    fun toggleText_layout() {
+        benchmarkRule.toggleStateBenchmarkLayout(toggleTextCaseFactory)
+    }
+
+    /**
+     * Measure the time taken to draw the [Text] composable when text gets toggled.
+     */
+    @Test
+    fun toggleText_draw() {
+        benchmarkRule.toggleStateBenchmarkDraw(toggleTextCaseFactory)
+    }
+}
\ No newline at end of file
diff --git a/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt b/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
index def3e38..08338bc 100644
--- a/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
+++ b/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
@@ -28,7 +28,7 @@
 import androidx.ui.demos.common.allDemos
 import androidx.ui.demos.common.allLaunchableDemos
 import androidx.ui.test.SemanticsNodeInteractionCollection
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.assertTextEquals
 import androidx.ui.test.performClick
 import androidx.ui.test.performScrollTo
@@ -50,7 +50,7 @@
 @RunWith(JUnit4::class)
 class DemoTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<DemoActivity>(disableTransitions = true).also {
+    val composeTestRule = createAndroidComposeRule<DemoActivity>(disableTransitions = true).also {
         it.clockTestRule.pauseClock()
     }
 
diff --git a/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoApp.kt b/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoApp.kt
index c1113bc..cc5425e 100644
--- a/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoApp.kt
+++ b/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoApp.kt
@@ -33,7 +33,7 @@
 import androidx.compose.foundation.Icon
 import androidx.compose.foundation.ScrollableColumn
 import androidx.compose.foundation.Text
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.preferredHeight
diff --git a/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoFilter.kt b/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoFilter.kt
index 2331cd4..db237b8 100644
--- a/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoFilter.kt
+++ b/ui/integration-tests/demos/src/main/java/androidx/ui/demos/DemoFilter.kt
@@ -29,7 +29,7 @@
 import androidx.compose.foundation.BaseTextField
 import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.ui.graphics.compositeOver
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.preferredHeight
 import androidx.compose.foundation.layout.wrapContentSize
@@ -39,9 +39,9 @@
 import androidx.ui.material.TopAppBar
 import androidx.ui.material.icons.Icons
 import androidx.ui.material.icons.filled.Close
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.dp
 
 /**
diff --git a/ui/integration-tests/src/main/java/androidx/ui/integration/test/TextBenchmarkHelper.kt b/ui/integration-tests/src/main/java/androidx/ui/integration/test/TextBenchmarkHelper.kt
index 231ad05..1eb21df 100644
--- a/ui/integration-tests/src/main/java/androidx/ui/integration/test/TextBenchmarkHelper.kt
+++ b/ui/integration-tests/src/main/java/androidx/ui/integration/test/TextBenchmarkHelper.kt
@@ -24,15 +24,15 @@
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
-import androidx.ui.text.AnnotatedString
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
 import kotlin.math.ceil
diff --git a/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextMultiStyleTestCase.kt b/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextMultiStyleTestCase.kt
index b633296..28ffbc7 100644
--- a/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextMultiStyleTestCase.kt
+++ b/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextMultiStyleTestCase.kt
@@ -25,8 +25,8 @@
 import androidx.compose.foundation.layout.preferredWidth
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.ui.test.ComposeTestCase
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Dp
 import androidx.ui.unit.TextUnit
 
diff --git a/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextToggleTextTestCase.kt b/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextToggleTextTestCase.kt
new file mode 100644
index 0000000..1ffc221
--- /dev/null
+++ b/ui/integration-tests/src/main/java/androidx/ui/integration/test/core/text/TextToggleTextTestCase.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.integration.test.core.text
+
+import androidx.compose.Composable
+import androidx.compose.foundation.Box
+import androidx.compose.foundation.Text
+import androidx.compose.foundation.layout.preferredWidth
+import androidx.compose.foundation.layout.wrapContentSize
+import androidx.compose.mutableStateOf
+import androidx.ui.core.Alignment
+import androidx.ui.core.Modifier
+import androidx.ui.graphics.Color
+import androidx.ui.integration.test.RandomTextGenerator
+import androidx.ui.integration.test.ToggleableTestCase
+import androidx.ui.test.ComposeTestCase
+import androidx.ui.unit.Dp
+import androidx.ui.unit.TextUnit
+
+class TextToggleTextTestCase(
+    private val textGenerator: RandomTextGenerator,
+    private val textLength: Int,
+    private val width: Dp,
+    private val fontSize: TextUnit
+) : ComposeTestCase, ToggleableTestCase {
+
+    val text = mutableStateOf(textGenerator.nextParagraph(length = textLength))
+
+    @Composable
+    override fun emitContent() {
+        Box(
+            modifier = Modifier.wrapContentSize(Alignment.Center).preferredWidth(width)
+        ) {
+            Text(text = text.value, color = Color.Black, fontSize = fontSize)
+        }
+    }
+
+    override fun toggleState() {
+        text.value = textGenerator.nextParagraph(length = textLength)
+    }
+}
\ No newline at end of file
diff --git a/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/TextInColumnTestCase.kt b/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/TextInColumnTestCase.kt
index 19d7185..83efb00 100644
--- a/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/TextInColumnTestCase.kt
+++ b/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/TextInColumnTestCase.kt
@@ -24,7 +24,7 @@
 import androidx.ui.material.MaterialTheme
 import androidx.ui.material.Surface
 import androidx.ui.test.ComposeTestCase
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.sp
 
 /**
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/RepeatedRotationDemo.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/RepeatedRotationDemo.kt
index 680ad70..e617771 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/RepeatedRotationDemo.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/RepeatedRotationDemo.kt
@@ -36,7 +36,7 @@
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.preferredSize
 import androidx.compose.foundation.layout.wrapContentSize
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
 
diff --git a/ui/ui-core/api/0.1.0-dev16.txt b/ui/ui-core/api/0.1.0-dev16.txt
index 104d786..ee6afc2 100644
--- a/ui/ui-core/api/0.1.0-dev16.txt
+++ b/ui/ui-core/api/0.1.0-dev16.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -235,6 +258,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -344,13 +375,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -369,6 +393,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -656,14 +689,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -683,14 +716,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -705,6 +738,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -807,7 +849,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -914,8 +955,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1887,7 +1928,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1900,16 +1941,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2187,16 +2228,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2252,9 +2283,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2328,23 +2359,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2357,8 +2388,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2367,8 +2398,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2380,9 +2411,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2397,9 +2428,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/api/current.txt b/ui/ui-core/api/current.txt
index 104d786..ee6afc2 100644
--- a/ui/ui-core/api/current.txt
+++ b/ui/ui-core/api/current.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -235,6 +258,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -344,13 +375,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -369,6 +393,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -656,14 +689,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -683,14 +716,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -705,6 +738,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -807,7 +849,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -914,8 +955,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1887,7 +1928,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1900,16 +1941,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2187,16 +2228,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2252,9 +2283,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2328,23 +2359,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2357,8 +2388,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2367,8 +2398,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2380,9 +2411,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2397,9 +2428,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-core/api/public_plus_experimental_0.1.0-dev16.txt
index 104d786..ee6afc2 100644
--- a/ui/ui-core/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-core/api/public_plus_experimental_0.1.0-dev16.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -235,6 +258,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -344,13 +375,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -369,6 +393,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -656,14 +689,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -683,14 +716,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -705,6 +738,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -807,7 +849,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -914,8 +955,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1887,7 +1928,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1900,16 +1941,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2187,16 +2228,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2252,9 +2283,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2328,23 +2359,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2357,8 +2388,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2367,8 +2398,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2380,9 +2411,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2397,9 +2428,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/api/public_plus_experimental_current.txt b/ui/ui-core/api/public_plus_experimental_current.txt
index 104d786..ee6afc2 100644
--- a/ui/ui-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-core/api/public_plus_experimental_current.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -235,6 +258,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -344,13 +375,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -369,6 +393,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -656,14 +689,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -683,14 +716,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -705,6 +738,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -807,7 +849,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -914,8 +955,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1887,7 +1928,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1900,16 +1941,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2187,16 +2228,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2252,9 +2283,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2328,23 +2359,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2357,8 +2388,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2367,8 +2398,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2380,9 +2411,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2397,9 +2428,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/api/restricted_0.1.0-dev16.txt b/ui/ui-core/api/restricted_0.1.0-dev16.txt
index 23f4d5c..9faef54 100644
--- a/ui/ui-core/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-core/api/restricted_0.1.0-dev16.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -241,6 +264,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -364,13 +395,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -389,6 +413,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -719,14 +752,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -746,14 +779,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -768,6 +801,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -870,7 +912,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -977,8 +1018,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1950,7 +1991,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1963,16 +2004,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2250,16 +2291,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2324,9 +2355,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2400,23 +2431,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2429,8 +2460,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2439,8 +2470,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2452,9 +2483,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2469,9 +2500,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/api/restricted_current.txt b/ui/ui-core/api/restricted_current.txt
index 23f4d5c..9faef54 100644
--- a/ui/ui-core/api/restricted_current.txt
+++ b/ui/ui-core/api/restricted_current.txt
@@ -1,4 +1,14 @@
 // Signature format: 3.0
+package androidx.compose.ui.text.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
 package androidx.ui.autofill {
 
   public final class AndroidAutofillDebugUtilsKt {
@@ -113,6 +123,19 @@
     method @androidx.compose.Immutable public androidx.ui.core.AbsoluteAlignment.Horizontal copy(float bias);
   }
 
+  public abstract class AbstractComposeView extends android.view.ViewGroup {
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context);
+    method @androidx.compose.Composable public abstract void Content();
+    method public final void createComposition();
+    method public final void disposeComposition();
+    method public final boolean isDisposed();
+    method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+    method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+    property public final boolean isDisposed;
+  }
+
   @androidx.compose.Immutable public interface Alignment {
     method public androidx.ui.unit.IntOffset align(androidx.ui.unit.IntSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     field public static final androidx.ui.core.Alignment.Companion Companion;
@@ -178,7 +201,7 @@
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.compose.ui.text.input.TextInputService> getTextInputServiceAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
     method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
   }
@@ -241,6 +264,14 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ComposeView extends androidx.ui.core.AbstractComposeView {
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context);
+    method @androidx.compose.Composable public void Content();
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
@@ -364,13 +395,6 @@
     method @androidx.compose.Stable public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clip = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
   }
 
-  public enum DropDownAlignment {
-    method public static androidx.ui.core.DropDownAlignment valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.core.DropDownAlignment[] values();
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is an experimental API for Compose UI LayoutNode and is likely to change " + "before becoming stable.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface ExperimentalLayoutNodeApi {
   }
 
@@ -389,6 +413,15 @@
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
   }
 
+  public interface InspectableParameter {
+    method public kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> getInspectableElements();
+    method public default String? getNameFallback();
+    method public default Object? getValueOverride();
+    property public abstract kotlin.sequences.Sequence<androidx.ui.core.ParameterElement> inspectableElements;
+    property public default String? nameFallback;
+    property public default Object? valueOverride;
+  }
+
   @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) public @interface InternalCoreApi {
   }
 
@@ -719,14 +752,14 @@
     method public androidx.ui.autofill.AutofillTree getAutofillTree();
     method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
     method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getFontLoader();
     method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
     method public long getMeasureIteration();
     method public androidx.ui.core.LayoutNode getRoot();
     method public androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
     method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
     method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.compose.ui.text.input.TextInputService getTextInputService();
     method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
     method public void measureAndLayout();
     method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
@@ -746,14 +779,14 @@
     property public abstract androidx.ui.autofill.AutofillTree autofillTree;
     property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
     property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.compose.ui.text.font.Font.ResourceLoader fontLoader;
     property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
     property public abstract long measureIteration;
     property public abstract androidx.ui.core.LayoutNode root;
     property public abstract androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
     property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
     property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
     property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
     field public static final androidx.ui.core.Owner.Companion Companion;
   }
@@ -768,6 +801,15 @@
     method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
   }
 
+  public final class ParameterElement {
+    ctor public ParameterElement(String name, Object? value);
+    method public String component1();
+    method public Object? component2();
+    method public androidx.ui.core.ParameterElement copy(String name, Object? value);
+    method public String getName();
+    method public Object? getValue();
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -870,7 +912,6 @@
   }
 
   public final class PopupKt {
-    method @androidx.compose.Composable public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntOffset offset = IntOffset(0, 0), boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void Popup(androidx.ui.core.PopupPositionProvider popupPositionProvider, boolean isFocusable = false, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
   }
@@ -977,8 +1018,8 @@
   }
 
   public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+    method public androidx.compose.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
   }
 
 }
@@ -1950,7 +1991,7 @@
     method public androidx.ui.geometry.Offset getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
     method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
     method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.geometry.Offset startPosition, androidx.ui.geometry.Offset endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   @androidx.compose.Immutable public final class Selection {
@@ -1963,16 +2004,16 @@
     method public boolean getHandlesCrossed();
     method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
     method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
+    method public androidx.compose.ui.text.TextRange toTextRange();
   }
 
   @androidx.compose.Immutable public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection component1();
+    ctor public Selection.AnchorInfo(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection component1();
     method public int component2();
     method public androidx.ui.core.selection.Selectable component3();
-    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.ResolvedTextDirection getDirection();
+    method @androidx.compose.Immutable public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.compose.ui.text.style.ResolvedTextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getDirection();
     method public int getOffset();
     method public androidx.ui.core.selection.Selectable getSelectable();
   }
@@ -2250,16 +2291,6 @@
 
 }
 
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
 package androidx.ui.node {
 
   public final class PointerInteropFilterKt {
@@ -2324,9 +2355,9 @@
   }
 
   public final class FontResourcesKt {
-    method @androidx.compose.Composable public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+    method @androidx.compose.Composable public static androidx.compose.ui.text.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.font.FontFamily? pendingFontFamily = null, androidx.compose.ui.text.font.FontFamily? failedFontFamily = null);
+    method @androidx.compose.Composable public static androidx.ui.res.DeferredResource<androidx.compose.ui.text.Typeface> loadFontResource(androidx.compose.ui.text.font.FontFamily fontFamily, androidx.compose.ui.text.Typeface? pendingTypeface = null, androidx.compose.ui.text.Typeface? failedTypeface = null);
   }
 
   public final class ImageResourcesKt {
@@ -2400,23 +2431,23 @@
 
   public final class SemanticsActions {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollBackward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
     method @Deprecated public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getScrollForward();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.CustomAccessibilityAction>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollBackward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
     property @Deprecated public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> ScrollForward;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
     field public static final androidx.ui.semantics.SemanticsActions INSTANCE;
   }
 
@@ -2429,8 +2460,8 @@
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHidden();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> getText();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> getTextSelectionRange();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getText();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
@@ -2439,8 +2470,8 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Hidden;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
     property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.AnnotatedString> Text;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.TextRange> TextSelectionRange;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> Text;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
     field public static final androidx.ui.semantics.SemanticsProperties INSTANCE;
   }
 
@@ -2452,9 +2483,9 @@
     method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static boolean getFocused(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.text.TextLayoutResult>,java.lang.Boolean> action);
-    method public static androidx.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.compose.ui.text.AnnotatedString getText(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void getTextLayoutResult(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean> action);
+    method public static androidx.compose.ui.text.TextRange getTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void hidden(androidx.ui.semantics.SemanticsPropertyReceiver);
     method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
     method public static void popup(androidx.ui.semantics.SemanticsPropertyReceiver);
@@ -2469,9 +2500,9 @@
     method public static void setProgress(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean> action);
     method public static void setSelection(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean> action);
     method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.AnnotatedString p);
-    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString,java.lang.Boolean> action);
-    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.TextRange p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+    method public static void setText(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean> action);
+    method public static void setTextSelectionRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.TextRange p);
   }
 
   public final class SemanticsPropertyKey<T> {
diff --git a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/PopupDemo.kt b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/PopupDemo.kt
index afa0c81..23a3264 100644
--- a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/PopupDemo.kt
+++ b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/PopupDemo.kt
@@ -38,22 +38,20 @@
 import androidx.compose.foundation.shape.corner.CircleShape
 import androidx.compose.state
 import androidx.ui.core.Alignment
-import androidx.ui.core.DropDownAlignment
-import androidx.ui.core.DropdownPopup
 import androidx.ui.core.Modifier
 import androidx.ui.core.Popup
 import androidx.ui.graphics.Color
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 
 @Composable
 fun PopupDemo() {
     val exampleIndex = state { 0 }
-    val totalExamples = 9
+    val totalExamples = 8
 
     Column {
         Row(
@@ -118,12 +116,11 @@
             0 -> PopupToggle()
             1 -> PopupWithChangingContent()
             2 -> PopupWithChangingParent()
-            3 -> PopupDropdownAlignment()
-            4 -> PopupAlignmentDemo()
-            5 -> PopupWithEditText()
-            6 -> PopupWithChangingSize()
-            7 -> PopupInsideScroller()
-            8 -> PopupOnKeyboardUp()
+            3 -> PopupAlignmentDemo()
+            4 -> PopupWithEditText()
+            5 -> PopupWithChangingSize()
+            6 -> PopupInsideScroller()
+            7 -> PopupOnKeyboardUp()
         }
     }
 }
@@ -254,36 +251,6 @@
 }
 
 @Composable
-private fun ColumnScope.PopupDropdownAlignment() {
-    Column(Modifier.gravity(Alignment.CenterHorizontally)) {
-        val heightSize = 120.dp
-        val widthSize = 160.dp
-        val dropDownAlignment = state { DropDownAlignment.Start }
-
-        ClickableTextWithBackground(
-            text = "Change alignment",
-            color = Color.Cyan,
-            >
-                dropDownAlignment.value =
-                    if (dropDownAlignment.value == DropDownAlignment.Start) {
-                        DropDownAlignment.End
-                    } else {
-                        DropDownAlignment.Start
-                    }
-            }
-        )
-
-        Spacer(Modifier.preferredHeight(10.dp))
-
-        Box(Modifier.preferredSize(widthSize, heightSize), backgroundColor = Color.Gray) {
-            DropdownPopup(dropDownAlignment = dropDownAlignment.value) {
-                Box(Modifier.preferredSize(40.dp, 70.dp), backgroundColor = Color.Blue)
-            }
-        }
-    }
-}
-
-@Composable
 private fun ColumnScope.PopupAlignmentDemo() {
     Column(Modifier.gravity(Alignment.CenterHorizontally)) {
         val heightSize = 200.dp
diff --git a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
index e8b062b..1e959f9 100644
--- a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
+++ b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
@@ -32,9 +32,9 @@
 import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.Text
 import androidx.ui.geometry.Offset
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.preferredHeight
diff --git a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/gestures/PopupDragDemo.kt b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/gestures/PopupDragDemo.kt
index d504157..1d1519c 100644
--- a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/gestures/PopupDragDemo.kt
+++ b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/gestures/PopupDragDemo.kt
@@ -32,7 +32,7 @@
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.foundation.layout.preferredSize
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.geometry.Offset
 import androidx.ui.unit.dp
 import androidx.ui.unit.round
diff --git a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/FontResourcesSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/FontResourcesSample.kt
index d3b9466..d840068 100644
--- a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/FontResourcesSample.kt
+++ b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/FontResourcesSample.kt
@@ -21,8 +21,8 @@
 import androidx.compose.foundation.Text
 import androidx.ui.res.fontResource
 import androidx.ui.res.loadFontResource
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.LoadedFontFamily
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.LoadedFontFamily
 
 @Sampled
 @Composable
diff --git a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/PopupSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/PopupSample.kt
index 93487ae..f141e99 100644
--- a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/PopupSample.kt
+++ b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/PopupSample.kt
@@ -19,8 +19,6 @@
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.ui.core.Alignment
-import androidx.ui.core.DropDownAlignment
-import androidx.ui.core.DropdownPopup
 import androidx.ui.core.Modifier
 import androidx.ui.core.Popup
 import androidx.compose.foundation.Box
@@ -47,23 +45,3 @@
         }
     }
 }
-
-@Sampled
-@Composable
-fun DropdownPopupSample() {
-    Box(Modifier.preferredSize(400.dp, 200.dp)) {
-        val popupWidth = 200.dp
-        val popupHeight = 50.dp
-        val cornerSize = 16.dp
-
-        // The popup will appear below the parent
-        DropdownPopup(dropDownAlignment = DropDownAlignment.Start) {
-            // Draw a rectangle shape with rounded corners inside the popup
-            Box(
-                Modifier.preferredSize(popupWidth, popupHeight),
-                shape = RoundedCornerShape(cornerSize),
-                backgroundColor = Color.White
-            )
-        }
-    }
-}
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/input/RecordingInputConnectionTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionTest.kt
similarity index 99%
rename from ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/input/RecordingInputConnectionTest.kt
rename to ui/ui-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionTest.kt
index 3822762..228b2ae 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/input/RecordingInputConnectionTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.view.KeyEvent
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.argumentCaptor
 import com.nhaarman.mockitokotlin2.mock
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/AndroidPointerInputTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/AndroidPointerInputTest.kt
index 3bb68b2..b90cb86 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/AndroidPointerInputTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/AndroidPointerInputTest.kt
@@ -33,8 +33,8 @@
 import androidx.test.filters.SmallTest
 import androidx.ui.core.pointerinput.PointerInputFilter
 import androidx.ui.core.pointerinput.PointerInputModifier
-import androidx.ui.testutils.down
 import androidx.ui.geometry.Offset
+import androidx.ui.testutils.down
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.milliseconds
 import androidx.ui.viewinterop.AndroidView
@@ -347,6 +347,7 @@
     }
 }
 
+@Suppress("TestFunctionName")
 @Composable
 fun AndroidWithCompose(context: Context, androidPadding: Int, children: @Composable () -> Unit) {
     val anotherLayout = FrameLayout(context).also { view ->
@@ -431,17 +432,54 @@
     override fun onCancel() {}
 }
 
+@Suppress("TestFunctionName")
 @Composable
-fun FillLayout(modifier: Modifier = Modifier) {
+private fun FillLayout(modifier: Modifier = Modifier) {
     Layout(emptyContent(), modifier) { _, constraints ->
         layout(constraints.maxWidth, constraints.maxHeight) {}
     }
 }
 
-fun countDown(block: (CountDownLatch) -> Unit) {
+private fun countDown(block: (CountDownLatch) -> Unit) {
     val countDownLatch = CountDownLatch(1)
     block(countDownLatch)
     assertThat(countDownLatch.await(1, TimeUnit.SECONDS)).isTrue()
 }
 
 class AndroidPointerInputTestActivity : ComponentActivity()
+
+@Suppress("SameParameterValue", "TestFunctionName")
+private fun MotionEvent(
+    eventTime: Int,
+    action: Int,
+    numPointers: Int,
+    actionIndex: Int,
+    pointerProperties: Array<MotionEvent.PointerProperties>,
+    pointerCoords: Array<MotionEvent.PointerCoords>
+) = MotionEvent.obtain(
+    0,
+    eventTime.toLong(),
+    action + (actionIndex shl MotionEvent.ACTION_POINTER_INDEX_SHIFT),
+    numPointers,
+    pointerProperties,
+    pointerCoords,
+    0,
+    0,
+    0f,
+    0f,
+    0,
+    0,
+    0,
+    0
+)
+
+@Suppress("SameParameterValue", "TestFunctionName")
+private fun PointerProperties(id: Int) =
+    MotionEvent.PointerProperties().apply { this.id = id }
+
+@Suppress("SameParameterValue", "TestFunctionName")
+private fun PointerCoords(x: Float, y: Float) =
+    MotionEvent.PointerCoords().apply {
+        this.x = x
+        this.y = y
+    }
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/HotReloadTests.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/HotReloadTests.kt
index fec33db..756336e 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/HotReloadTests.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/HotReloadTests.kt
@@ -31,7 +31,7 @@
 import androidx.ui.framework.test.TestActivity
 import androidx.ui.node.UiApplier
 import androidx.ui.semantics.accessibilityLabel
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.assertLabelEquals
 import androidx.ui.test.onNodeWithTag
 import androidx.ui.test.runOnUiThread
@@ -55,7 +55,7 @@
     }
 
     @get:Rule
-    val rule = AndroidComposeTestRule<TestActivity>()
+    val rule = createAndroidComposeRule<TestActivity>()
 
     @Test
     fun composeView() {
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/MotionEventUtil.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/MotionEventUtil.kt
deleted file mode 100644
index 66852ac..0000000
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/MotionEventUtil.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.ui.core
-
-import android.view.MotionEvent
-
-internal fun MotionEvent(
-    eventTime: Int,
-    action: Int,
-    numPointers: Int,
-    actionIndex: Int,
-    pointerProperties: Array<MotionEvent.PointerProperties>,
-    pointerCoords: Array<MotionEvent.PointerCoords>
-) = MotionEvent.obtain(
-    0,
-    eventTime.toLong(),
-    action + (actionIndex shl MotionEvent.ACTION_POINTER_INDEX_SHIFT),
-    numPointers,
-    pointerProperties,
-    pointerCoords,
-    0,
-    0,
-    0f,
-    0f,
-    0,
-    0,
-    0,
-    0
-)
-
-internal fun PointerProperties(id: Int) =
-    MotionEvent.PointerProperties().apply { this.id = id }
-
-internal fun PointerCoords(x: Float, y: Float) =
-    MotionEvent.PointerCoords().apply {
-        this.x = x
-        this.y = y
-    }
\ No newline at end of file
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/selection/SelectionHandlesTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/selection/SelectionHandlesTest.kt
index 41b9fbd..6d812c3 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/selection/SelectionHandlesTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/selection/SelectionHandlesTest.kt
@@ -26,8 +26,8 @@
 import androidx.ui.framework.test.TestActivity
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.toArgb
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.mock
 import org.junit.Before
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidViewCompatTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidViewCompatTest.kt
index c8fa328..188896d 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidViewCompatTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidViewCompatTest.kt
@@ -77,7 +77,7 @@
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.assertIsDisplayed
 import androidx.ui.test.assertPixels
 import androidx.ui.test.captureToBitmap
@@ -111,7 +111,7 @@
 @RunWith(JUnit4::class)
 class AndroidViewCompatTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<TestActivity>()
+    val composeTestRule = createAndroidComposeRule<TestActivity>()
 
     @Test
     fun simpleLayoutTest() {
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterIntegrationTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterIntegrationTest.kt
index 15f5c6a..13f29fc 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterIntegrationTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterIntegrationTest.kt
@@ -29,7 +29,7 @@
 import androidx.ui.core.DensityAmbient
 import androidx.ui.core.setContent
 import androidx.ui.framework.test.TestActivity
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.unit.dp
 import androidx.ui.viewinterop.AndroidView
 import com.nhaarman.mockitokotlin2.clearInvocations
@@ -53,7 +53,7 @@
     private val theHitListener: () -> Unit = mock()
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<TestActivity>()
+    val composeTestRule = createAndroidComposeRule<TestActivity>()
 
     @Before
     fun setup() {
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterTest.kt
index db7a1c3..a777419 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/node/PointerInteropFilterTest.kt
@@ -32,7 +32,7 @@
 import androidx.ui.core.PointerInputChange
 import androidx.ui.core.consumeAllChanges
 import androidx.ui.core.consumeDownChange
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.testutils.consume
 import androidx.ui.testutils.down
 import androidx.ui.testutils.moveBy
@@ -52,7 +52,7 @@
 @RunWith(JUnit4::class)
 class PointerInteropFilterTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private lateinit var mockViewGroup: MockViewGroup
     private lateinit var pointerInteropFilter: PointerInteropFilter
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/res/FontResourcesTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/res/FontResourcesTest.kt
index 153318d..64511fb 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/res/FontResourcesTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/res/FontResourcesTest.kt
@@ -22,13 +22,13 @@
 import androidx.ui.core.ContextAmbient
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.Typeface
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.font.font
-import androidx.ui.text.font.fontFamily
-import androidx.ui.text.font.test.R
+import androidx.compose.ui.text.Typeface
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.fontFamily
+import androidx.compose.ui.text.font.test.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
 import org.junit.Test
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposeViewTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposeViewTest.kt
new file mode 100644
index 0000000..c882aab
--- /dev/null
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposeViewTest.kt
@@ -0,0 +1,208 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.viewinterop
+
+import android.content.Context
+import android.view.View
+import android.view.ViewGroup
+import androidx.activity.ComponentActivity
+import androidx.compose.Composable
+import androidx.compose.foundation.Text
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.LifecycleRegistry
+import androidx.lifecycle.ViewTreeLifecycleOwner
+import androidx.test.espresso.Espresso
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
+import androidx.test.filters.SmallTest
+import androidx.ui.core.AbstractComposeView
+import androidx.ui.core.ComposeView
+import androidx.ui.core.Modifier
+import androidx.ui.core.testTag
+import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.assertTextEquals
+import androidx.ui.test.onNodeWithTag
+import org.hamcrest.CoreMatchers.instanceOf
+import org.junit.Assert.assertNotNull
+import org.junit.Assert.assertTrue
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@SmallTest
+@RunWith(JUnit4::class)
+class ComposeViewTest {
+    @get:Rule
+    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+
+    @Test
+    fun composeViewComposedContent() {
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            val composeView = ComposeView(activity)
+            activity.setContentView(composeView)
+            composeView.setContent {
+                Text("Hello, World!", Modifier.testTag("text"))
+            }
+        }
+        Espresso.onView(instanceOf(ComposeView::class.java))
+            .check(matches(isDisplayed()))
+            .check { view, _ ->
+                view as ViewGroup
+                assertTrue("has children", view.childCount > 0)
+            }
+
+        onNodeWithTag("text").assertTextEquals("Hello, World!")
+    }
+
+    @Test
+    fun composeDifferentViewContent() {
+        val id = View.generateViewId()
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            val composeView = ComposeView(activity).also { it.id = id }
+            activity.setContentView(composeView)
+            composeView.setContent {
+                Text("Hello", Modifier.testTag("text"))
+            }
+        }
+
+        onNodeWithTag("text").assertTextEquals("Hello")
+
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            val composeView: ComposeView = activity.findViewById(id)
+            composeView.setContent {
+                Text("World", Modifier.testTag("text"))
+            }
+        }
+
+        onNodeWithTag("text").assertTextEquals("World")
+
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            val composeView: ComposeView = activity.findViewById(id)
+            composeView.disposeComposition()
+        }
+
+        onNodeWithTag("text").assertDoesNotExist()
+    }
+
+    @Test
+    fun disposeOnLifecycleDestroyed() {
+        val lco = TestLifecycleOwner()
+        var composeViewCapture: ComposeView? = null
+        lco.registry.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            val composeView = ComposeView(activity).also {
+                ViewTreeLifecycleOwner.set(it, lco)
+                composeViewCapture = it
+            }
+            activity.setContentView(composeView)
+            composeView.setContent {
+                Text("Hello", Modifier.testTag("text"))
+            }
+        }
+
+        onNodeWithTag("text").assertTextEquals("Hello")
+
+        composeTestRule.activityRule.scenario.onActivity {
+            lco.registry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
+        }
+
+        assertNotNull("composeViewCapture", composeViewCapture)
+        assertTrue("ComposeView.isDisposed", composeViewCapture?.isDisposed == true)
+    }
+
+    @Test
+    fun throwsOnAddView() {
+        composeTestRule.activityRule.scenario.onActivity { activity ->
+            with(TestComposeView(activity)) {
+                assertUnsupported("addView(View)") {
+                    addView(View(activity))
+                }
+
+                assertUnsupported("addView(View, int)") {
+                    addView(View(activity), 0)
+                }
+
+                assertUnsupported("addView(View, int, int)") {
+                    addView(View(activity), 0, 0)
+                }
+
+                assertUnsupported("addView(View, LayoutParams)") {
+                    addView(View(activity), ViewGroup.LayoutParams(0, 0))
+                }
+
+                assertUnsupported("addView(View, int, LayoutParams)") {
+                    addView(View(activity), 0, ViewGroup.LayoutParams(0, 0))
+                }
+
+                assertUnsupported("addViewInLayout(View, int, LayoutParams)") {
+                    addViewInLayout(View(activity), 0, ViewGroup.LayoutParams(0, 0))
+                }
+
+                assertUnsupported("addViewInLayout(View, int, LayoutParams, boolean)") {
+                    addViewInLayout(View(activity), 0, ViewGroup.LayoutParams(0, 0), false)
+                }
+            }
+        }
+    }
+}
+
+private inline fun ViewGroup.assertUnsupported(
+    testName: String,
+    test: ViewGroup.() -> Unit
+) {
+    var exception: Throwable? = null
+    try {
+        test()
+    } catch (t: Throwable) {
+        exception = t
+    }
+    assertTrue(
+        "$testName throws UnsupportedOperationException",
+        exception is UnsupportedOperationException
+    )
+}
+
+private class TestLifecycleOwner : LifecycleOwner {
+    val registry = LifecycleRegistry(this)
+
+    override fun getLifecycle(): Lifecycle = registry
+}
+
+private class TestComposeView(
+    context: Context
+) : AbstractComposeView(context) {
+
+    @Composable
+    override fun Content() {
+        // No content
+    }
+
+    public override fun addViewInLayout(child: View?, index: Int, params: LayoutParams?): Boolean {
+        return super.addViewInLayout(child, index, params)
+    }
+
+    public override fun addViewInLayout(
+        child: View?,
+        index: Int,
+        params: LayoutParams?,
+        preventRequestLayout: Boolean
+    ): Boolean {
+        return super.addViewInLayout(child, index, params, preventRequestLayout)
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposedViewTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposedViewTest.kt
index 0ed1e9e..2e5b956 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposedViewTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/viewinterop/ComposedViewTest.kt
@@ -42,7 +42,7 @@
 import androidx.compose.foundation.background
 import androidx.ui.graphics.Color
 import androidx.compose.foundation.layout.size
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.assertPixels
 import androidx.ui.test.captureToBitmap
 import androidx.ui.test.onNodeWithTag
@@ -65,7 +65,7 @@
 @RunWith(JUnit4::class)
 class ComposedViewTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     @Test
     fun androidViewWithResourceTest() {
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/InputState.kt b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/InputState.kt
similarity index 96%
rename from ui/ui-core/src/androidMain/kotlin/androidx/ui/input/InputState.kt
rename to ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/InputState.kt
index 64469cf..e8fc13b 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/InputState.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/InputState.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.view.inputmethod.ExtractedText
 
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/RecordingInputConnection.kt b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.kt
similarity index 99%
rename from ui/ui-core/src/androidMain/kotlin/androidx/ui/input/RecordingInputConnection.kt
rename to ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.kt
index b067b86..eebdad6 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/RecordingInputConnection.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/RecordingInputConnection.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.os.Bundle
 import android.os.Handler
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/TextInputServiceAndroid.kt b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.kt
similarity index 98%
rename from ui/ui-core/src/androidMain/kotlin/androidx/ui/input/TextInputServiceAndroid.kt
rename to ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.kt
index 8ce0ef6b..172194a 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/input/TextInputServiceAndroid.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.content.Context
 import android.text.InputType
@@ -24,7 +24,7 @@
 import android.view.inputmethod.InputConnection
 import android.view.inputmethod.InputMethodManager
 import androidx.ui.geometry.Rect
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import kotlin.math.roundToInt
 
 /**
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AccessibilityIterators.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AccessibilityIterators.kt
index 66609f6..57cd487 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AccessibilityIterators.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AccessibilityIterators.kt
@@ -16,11 +16,14 @@
 
 package androidx.ui.core
 
+import android.graphics.Rect
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.ui.core.semantics.SemanticsNode
+import androidx.ui.semantics.SemanticsProperties
 import java.text.BreakIterator
 import java.util.Locale
 
-import androidx.ui.semantics.SemanticsProperties
-
 /**
  * This class contains the implementation of text segment iterators
  * for accessibility support.
@@ -255,7 +258,7 @@
         }
     }
 
-    class ParagraphTextSegmentIterator : AbstractTextSegmentIterator() {
+    class ParagraphTextSegmentIterator private constructor() : AbstractTextSegmentIterator() {
         companion object {
             private var instance: ParagraphTextSegmentIterator? = null
 
@@ -329,175 +332,203 @@
         }
     }
 
-    // TODO: This is tightly coupled with Text.kt. Need to discuss with the text team on how to
-    //  expose the necessary properties.
-    /*
-    static class LineTextSegmentIterator extends AbstractTextSegmentIterator {
-        private static LineTextSegmentIterator sLineInstance;
+    class LineTextSegmentIterator private constructor() : AbstractTextSegmentIterator() {
+        companion object {
+            private var lineInstance: LineTextSegmentIterator? = null
+            private val DirectionStart = ResolvedTextDirection.Rtl
+            private val DirectionEnd = ResolvedTextDirection.Ltr
 
-        protected static final int DIRECTION_START = -1;
-        protected static final int DIRECTION_END = 1;
-
-        protected Layout mLayout;
-
-        public static LineTextSegmentIterator getInstance() {
-            if (sLineInstance == null) {
-                sLineInstance = new LineTextSegmentIterator();
+            fun getInstance(): LineTextSegmentIterator {
+                if (lineInstance == null) {
+                    lineInstance = LineTextSegmentIterator()
+                }
+                return lineInstance as LineTextSegmentIterator
             }
-            return sLineInstance;
         }
 
-        public void initialize(Spannable text, Layout layout) {
-            mText = text.toString();
-            mLayout = layout;
+        private lateinit var layoutResult: TextLayoutResult
+
+        fun initialize(text: String, layoutResult: TextLayoutResult) {
+            this.text = text
+            this.layoutResult = layoutResult
         }
 
-        @Override
-        public int[] following(int offset) {
-            final int textLegth = mText.length();
-            if (textLegth <= 0) {
-                return null;
+        override fun following(current: Int): IntArray? {
+            val textLength = text.length
+            if (textLength <= 0) {
+                return null
             }
-            if (offset >= mText.length()) {
-                return null;
+            if (current >= text.length) {
+                return null
             }
-            int nextLine;
-            if (offset < 0) {
-                nextLine = mLayout.getLineForOffset(0);
+            val nextLine = if (current < 0) {
+                layoutResult.getLineForOffset(0)
             } else {
-                final int currentLine = mLayout.getLineForOffset(offset);
-                if (getLineEdgeIndex(currentLine, DIRECTION_START) == offset) {
-                    nextLine = currentLine;
+                val currentLine = layoutResult.getLineForOffset(current)
+                if (getLineEdgeIndex(currentLine, DirectionStart) == current) {
+                    currentLine
                 } else {
-                    nextLine = currentLine + 1;
+                    currentLine + 1
                 }
             }
-            if (nextLine >= mLayout.getLineCount()) {
-                return null;
+            if (nextLine >= layoutResult.lineCount) {
+                return null
             }
-            final int start = getLineEdgeIndex(nextLine, DIRECTION_START);
-            final int end = getLineEdgeIndex(nextLine, DIRECTION_END) + 1;
-            return getRange(start, end);
+            val start = getLineEdgeIndex(nextLine, DirectionStart)
+            val end = getLineEdgeIndex(nextLine, DirectionEnd) + 1
+            return getRange(start, end)
         }
 
-        @Override
-        public int[] preceding(int offset) {
-            final int textLegth = mText.length();
-            if (textLegth <= 0) {
-                return null;
+        override fun preceding(current: Int): IntArray? {
+            val textLength = text.length
+            if (textLength <= 0) {
+                return null
             }
-            if (offset <= 0) {
-                return null;
+            if (current <= 0) {
+                return null
             }
-            int previousLine;
-            if (offset > mText.length()) {
-                previousLine = mLayout.getLineForOffset(mText.length());
+            val previousLine = if (current > text.length) {
+                layoutResult.getLineForOffset(text.length)
             } else {
-                final int currentLine = mLayout.getLineForOffset(offset);
-                if (getLineEdgeIndex(currentLine, DIRECTION_END) + 1 == offset) {
-                    previousLine = currentLine;
+                val currentLine = layoutResult.getLineForOffset(current)
+                if (getLineEdgeIndex(currentLine, DirectionEnd) + 1 == current) {
+                    currentLine
                 } else {
-                    previousLine = currentLine - 1;
+                    currentLine - 1
                 }
             }
             if (previousLine < 0) {
-                return null;
+                return null
             }
-            final int start = getLineEdgeIndex(previousLine, DIRECTION_START);
-            final int end = getLineEdgeIndex(previousLine, DIRECTION_END) + 1;
-            return getRange(start, end);
+            val start = getLineEdgeIndex(previousLine, DirectionStart)
+            val end = getLineEdgeIndex(previousLine, DirectionEnd) + 1
+            return getRange(start, end)
         }
 
-        protected int getLineEdgeIndex(int lineNumber, int direction) {
-            final int paragraphDirection = mLayout.getParagraphDirection(lineNumber);
-            if (direction * paragraphDirection < 0) {
-                return mLayout.getLineStart(lineNumber);
+        private fun getLineEdgeIndex(lineNumber: Int, direction: ResolvedTextDirection): Int {
+            val paragraphDirection = layoutResult.getParagraphDirection(lineNumber)
+            return if (direction != paragraphDirection) {
+                layoutResult.getLineStart(lineNumber)
             } else {
-                return mLayout.getLineEnd(lineNumber) - 1;
+                layoutResult.getLineEnd(lineNumber) - 1
             }
         }
     }
 
-    static class PageTextSegmentIterator extends LineTextSegmentIterator {
-        private static PageTextSegmentIterator sPageInstance;
-
-        private TextView mView;
-
-        private final Rect mTempRect = new Rect();
-
-        public static PageTextSegmentIterator getInstance() {
-            if (sPageInstance == null) {
-                sPageInstance = new PageTextSegmentIterator();
+    // TODO(b/27505408): A11y movement by granularity page not working in edittext.
+    class PageTextSegmentIterator private constructor() : AbstractTextSegmentIterator() {
+        companion object {
+            private var pageInstance: PageTextSegmentIterator? = null
+            private val DirectionStart = ResolvedTextDirection.Rtl
+            private val DirectionEnd = ResolvedTextDirection.Ltr
+            fun getInstance(): PageTextSegmentIterator {
+                if (pageInstance == null) {
+                    pageInstance = PageTextSegmentIterator()
+                }
+                return pageInstance as PageTextSegmentIterator
             }
-            return sPageInstance;
         }
 
-        public void initialize(TextView view) {
-            super.initialize((Spannable) view.getIterableTextForAccessibility(), view.getLayout());
-            mView = view;
+        private lateinit var layoutResult: TextLayoutResult
+        private lateinit var node: SemanticsNode
+
+        private var tempRect = Rect()
+
+        fun initialize(text: String, layoutResult: TextLayoutResult, node: SemanticsNode) {
+            this.text = text
+            this.layoutResult = layoutResult
+            this.node = node
         }
 
-        @Override
-        public int[] following(int offset) {
-            final int textLength = mText.length();
+        override fun following(current: Int): IntArray? {
+            val textLength = text.length
             if (textLength <= 0) {
-                return null;
+                return null
             }
-            if (offset >= mText.length()) {
-                return null;
+            if (current >= text.length) {
+                return null
             }
-            if (!mView.getGlobalVisibleRect(mTempRect)) {
-                return null;
+            try {
+                tempRect = Rect(
+                    node.globalBounds.left.toInt(),
+                    node.globalBounds.top.toInt(),
+                    node.globalBounds.right.toInt(),
+                    node.globalBounds.bottom.toInt()
+                )
+                // TODO(b/153198816): check whether we still get this exception when R is in.
+            } catch (e: IllegalStateException) {
+                return null
             }
 
-            final int start = Math.max(0, offset);
+            val start = 0.coerceAtLeast(current)
 
-            final int currentLine = mLayout.getLineForOffset(start);
-            final int currentLineTop = mLayout.getLineTop(currentLine);
-            final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop()
-            - mView.getTotalPaddingBottom();
-            final int nextPageStartY = currentLineTop + pageHeight;
-            final int lastLineTop = mLayout.getLineTop(mLayout.getLineCount() - 1);
-            final int currentPageEndLine = (nextPageStartY < lastLineTop)
-            ? mLayout.getLineForVertical(nextPageStartY) - 1 : mLayout.getLineCount() - 1;
+            val currentLine = layoutResult.getLineForOffset(start)
+            val currentLineTop = layoutResult.getLineTop(currentLine)
+            // TODO: Please help me translate the below where mView is the TextView
+            //  final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop()
+            //                    - mView.getTotalPaddingBottom();
+            val pageHeight = tempRect.height()
+            val nextPageStartY = currentLineTop + pageHeight
+            val lastLineTop = layoutResult.getLineTop(layoutResult.lineCount - 1)
+            val currentPageEndLine = if (nextPageStartY < lastLineTop)
+                layoutResult.getLineForVerticalPosition(nextPageStartY) - 1
+            else layoutResult.lineCount - 1
 
-            final int end = getLineEdgeIndex(currentPageEndLine, DIRECTION_END) + 1;
+            val end = getLineEdgeIndex(currentPageEndLine, DirectionEnd) + 1
 
-            return getRange(start, end);
+            return getRange(start, end)
         }
 
-        @Override
-        public int[] preceding(int offset) {
-            final int textLength = mText.length();
+        override fun preceding(current: Int): IntArray? {
+            val textLength = text.length
             if (textLength <= 0) {
-                return null;
+                return null
             }
-            if (offset <= 0) {
-                return null;
+            if (current <= 0) {
+                return null
             }
-            if (!mView.getGlobalVisibleRect(mTempRect)) {
-                return null;
+            try {
+                tempRect = Rect(
+                    node.globalBounds.left.toInt(),
+                    node.globalBounds.top.toInt(),
+                    node.globalBounds.right.toInt(),
+                    node.globalBounds.bottom.toInt()
+                )
+                // TODO(b/153198816): check whether we still get this exception when R is in.
+            } catch (e: IllegalStateException) {
+                return null
             }
 
-            final int end = Math.min(mText.length(), offset);
+            val end = text.length.coerceAtMost(current)
 
-            final int currentLine = mLayout.getLineForOffset(end);
-            final int currentLineTop = mLayout.getLineTop(currentLine);
-            final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop()
-            - mView.getTotalPaddingBottom();
-            final int previousPageEndY = currentLineTop - pageHeight;
-            int currentPageStartLine = (previousPageEndY > 0) ?
-            mLayout.getLineForVertical(previousPageEndY) : 0;
+            val currentLine = layoutResult.getLineForOffset(end)
+            val currentLineTop = layoutResult.getLineTop(currentLine)
+            // TODO: It won't work for text with padding yet.
+            //  Please help me translate the below where mView is the TextView
+            //  final int pageHeight = mTempRect.height() - mView.getTotalPaddingTop()
+            //                    - mView.getTotalPaddingBottom();
+            val pageHeight = tempRect.height()
+            val previousPageEndY = currentLineTop - pageHeight
+            var currentPageStartLine = if (previousPageEndY > 0)
+                layoutResult.getLineForVerticalPosition(previousPageEndY) else 0
             // If we're at the end of text, we're at the end of the current line rather than the
             // start of the next line, so we should move up one fewer lines than we would otherwise.
-            if (end == mText.length() && (currentPageStartLine < currentLine)) {
-                currentPageStartLine += 1;
+            if (end == text.length && (currentPageStartLine < currentLine)) {
+                currentPageStartLine += 1
             }
 
-            final int start = getLineEdgeIndex(currentPageStartLine, DIRECTION_START);
+            val start = getLineEdgeIndex(currentPageStartLine, DirectionStart)
 
-            return getRange(start, end);
+            return getRange(start, end)
+        }
+
+        private fun getLineEdgeIndex(lineNumber: Int, direction: ResolvedTextDirection): Int {
+            val paragraphDirection = layoutResult.getParagraphDirection(lineNumber)
+            return if (direction != paragraphDirection) {
+                layoutResult.getLineStart(lineNumber)
+            } else {
+                layoutResult.getLineEnd(lineNumber) - 1
+            }
         }
     }
-    */
 }
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
index 77f4b83..b532bff 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeView.kt
@@ -81,11 +81,11 @@
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.CanvasHolder
-import androidx.ui.input.TextInputServiceAndroid
-import androidx.ui.input.textInputServiceFactory
+import androidx.compose.ui.text.input.TextInputServiceAndroid
+import androidx.compose.ui.text.input.textInputServiceFactory
 import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry
 import androidx.ui.core.LayoutNode.UsageByParent
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntOffset
 import androidx.ui.util.fastForEach
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
index f23f474..0eefb9d 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
@@ -48,9 +48,9 @@
 import androidx.ui.semantics.SemanticsActions
 import androidx.ui.semantics.SemanticsActions.CustomActions
 import androidx.ui.semantics.SemanticsProperties
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.length
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.length
 import androidx.ui.unit.toRect
 import androidx.ui.util.fastForEach
 
@@ -263,7 +263,7 @@
             )
         }
         val text = getIterableTextForAccessibility(semanticsNode)
-        if (text != null && text.isNotEmpty()) {
+        if (!text.isNullOrEmpty()) {
             info.setTextSelection(
                 getAccessibilitySelectionStart(semanticsNode),
                 getAccessibilitySelectionEnd(semanticsNode)
@@ -276,6 +276,13 @@
                 AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER or
                         AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_WORD or
                         AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PARAGRAPH
+            // We only traverse the text when accessibilityLabel is not set.
+            if (info.contentDescription.isNullOrEmpty() &&
+                semanticsNode.config.contains(SemanticsActions.GetTextLayoutResult)) {
+                info.movementGranularities = info.movementGranularities or
+                        AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_LINE or
+                        AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PAGE
+            }
         }
         if (Build.VERSION.SDK_INT >= 26 && !info.text.isNullOrEmpty() &&
             semanticsNode.config.contains(SemanticsActions.GetTextLayoutResult)) {
@@ -884,9 +891,9 @@
                     SemanticsProperties.Text -> {
                         // TODO(b/160184953) Add test for SemanticsProperty Text change event
                         if (newNode.config.contains(SemanticsActions.SetText)) {
-                            var oldText = (oldNode.config.getOrElse(
+                            val oldText = (oldNode.config.getOrElse(
                                 SemanticsProperties.Text) { AnnotatedString("") }).text
-                            var newText = (newNode.config.getOrElse(
+                            val newText = (newNode.config.getOrElse(
                                 SemanticsProperties.Text) { AnnotatedString("") }).text
                             var startCount = 0
                             // endCount records how many characters are the same from the end.
@@ -1111,22 +1118,52 @@
             return null
         }
         // TODO(b/160190186) Make sure locale is right in AccessibilityIterators.
+        val iterator: AccessibilityIterators.AbstractTextSegmentIterator
         @Suppress("DEPRECATION")
-        val iterator = when (granularity) {
-            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER ->
-                AccessibilityIterators.CharacterTextSegmentIterator.getInstance(
+        when (granularity) {
+            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_CHARACTER -> {
+                iterator = AccessibilityIterators.CharacterTextSegmentIterator.getInstance(
                     view.context.resources.configuration.locale
                 )
-            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_WORD ->
-                AccessibilityIterators.WordTextSegmentIterator.getInstance(
+                iterator.initialize(text)
+            }
+            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_WORD -> {
+                iterator = AccessibilityIterators.WordTextSegmentIterator.getInstance(
                     view.context.resources.configuration.locale
                 )
-            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PARAGRAPH ->
-                AccessibilityIterators.ParagraphTextSegmentIterator.getInstance()
-            else ->
-                return null
+                iterator.initialize(text)
+            }
+            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PARAGRAPH -> {
+                iterator = AccessibilityIterators.ParagraphTextSegmentIterator.getInstance()
+                iterator.initialize(text)
+            }
+            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_LINE,
+            AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_PAGE -> {
+                // Line and page granularity are only for static text or text field.
+                if (node == null || !node.config.contains(SemanticsProperties.Text) ||
+                    !node.config.contains(SemanticsActions.GetTextLayoutResult)) {
+                    return null
+                }
+                // TODO(b/157474582): Note now it only works for single Text/TextField until we
+                //  fix the merging issue.
+                val textLayoutResults = mutableListOf<TextLayoutResult>()
+                val textLayoutResult: TextLayoutResult
+                if (node.config[SemanticsActions.GetTextLayoutResult].action(textLayoutResults)) {
+                    textLayoutResult = textLayoutResults[0]
+                } else {
+                    return null
+                }
+                if (granularity == AccessibilityNodeInfoCompat.MOVEMENT_GRANULARITY_LINE) {
+                    iterator = AccessibilityIterators.LineTextSegmentIterator.getInstance()
+                    iterator.initialize(text, textLayoutResult)
+                } else {
+                    iterator = AccessibilityIterators.PageTextSegmentIterator.getInstance()
+                    // TODO: the node should be text/textfield node instead of the current node.
+                    iterator.initialize(text, textLayoutResult, node)
+                }
+            }
+            else -> return null
         }
-        iterator.initialize(text)
         return iterator
     }
 
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/ComposeView.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/ComposeView.kt
new file mode 100644
index 0000000..0c34116
--- /dev/null
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/ComposeView.kt
@@ -0,0 +1,238 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.core
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.View
+import android.view.ViewGroup
+import androidx.compose.Composable
+import androidx.compose.Composition
+import androidx.compose.Recomposer
+import androidx.compose.mutableStateOf
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleEventObserver
+import androidx.lifecycle.ViewTreeLifecycleOwner
+
+/**
+ * Base class for custom [android.view.View]s implemented using Jetpack Compose UI.
+ * Subclasses should implement the [Content] function with the appropriate content.
+ * Calls to [addView] and its variants and overloads will fail with [IllegalStateException].
+ *
+ * This [android.view.View] requires that the window it is attached to contains a
+ * [ViewTreeLifecycleOwner]. This [androidx.lifecycle.LifecycleOwner] is used to
+ * [dispose][androidx.compose.Composition.dispose] of the underlying composition
+ * when the host [Lifecycle] is destroyed, permitting the view to be attached and
+ * detached repeatedly while preserving the composition. Call [disposeComposition]
+ * to dispose of the underlying composition earlier, or if the view is never initially
+ * attached to a window. (The requirement to dispose of the composition explicitly
+ * in the event that the view is never (re)attached is temporary.)
+ */
+abstract class AbstractComposeView @JvmOverloads constructor(
+    context: Context,
+    attrs: AttributeSet? = null,
+    defStyleAttr: Int = 0
+) : ViewGroup(context, attrs, defStyleAttr) {
+
+    private var composition: Composition? = null
+
+    /**
+     * The Jetpack Compose UI content for this view.
+     * Subclasses must implement this method to provide content. Initial composition will
+     * occur when the view becomes attached to a window or when [createComposition] is called,
+     * whichever comes first.
+     */
+    @Composable
+    abstract fun Content()
+
+    private object DisposedComposition : Composition {
+        override fun setContent(content: () -> Unit) {
+            // No-op
+        }
+
+        override fun dispose() {
+            // No-op
+        }
+    }
+
+    /**
+     * Perform initial composition for this view.
+     * Once this method is called or the view becomes attached to a window,
+     * either [disposeComposition] must be called or the [ViewTreeLifecycleOwner] must
+     * reach the [Lifecycle.State.DESTROYED] state for the composition to be cleaned up
+     * properly. (This restriction is temporary.)
+     *
+     * If this method is called when the composition has already been created it has no effect.
+     * If it is called after the composition is [disposed][disposeComposition] it will throw
+     * [IllegalStateException].
+     */
+    fun createComposition() {
+        check(composition !== DisposedComposition) {
+            "Cannot create composition - composition was already disposed"
+        }
+        ensureCompositionCreated()
+    }
+
+    private var creatingComposition = false
+    private fun checkAddView() {
+        if (!creatingComposition) {
+            throw UnsupportedOperationException("Cannot add views to " +
+                    "${javaClass.simpleName}; only Compose content is supported")
+        }
+    }
+
+    private fun ensureCompositionCreated() {
+        if (composition == null) {
+            // TODO: Cannot use try/catch here until b/161894067 is fixed.
+            creatingComposition = true
+            composition = setContent(Recomposer.current()) {
+                Content()
+            }
+            creatingComposition = false
+        }
+    }
+
+    override fun addView(child: View?) {
+        checkAddView()
+        super.addView(child)
+    }
+
+    override fun addView(child: View?, index: Int) {
+        checkAddView()
+        super.addView(child, index)
+    }
+
+    override fun addView(child: View?, width: Int, height: Int) {
+        checkAddView()
+        super.addView(child, width, height)
+    }
+
+    override fun addView(child: View?, params: LayoutParams?) {
+        checkAddView()
+        super.addView(child, params)
+    }
+
+    override fun addView(child: View?, index: Int, params: LayoutParams?) {
+        checkAddView()
+        super.addView(child, index, params)
+    }
+
+    override fun addViewInLayout(child: View?, index: Int, params: LayoutParams?): Boolean {
+        checkAddView()
+        return super.addViewInLayout(child, index, params)
+    }
+
+    override fun addViewInLayout(
+        child: View?,
+        index: Int,
+        params: LayoutParams?,
+        preventRequestLayout: Boolean
+    ): Boolean {
+        checkAddView()
+        return super.addViewInLayout(child, index, params, preventRequestLayout)
+    }
+
+    /**
+     * Dispose of the underlying composition.
+     * The result of this call is permanent; once disposed a ComposeView cannot be used again
+     * and will remain empty.
+     */
+    fun disposeComposition() {
+        composition?.dispose()
+        composition = DisposedComposition
+    }
+
+    /**
+     * `true` if [disposeComposition] has been called, either explicitly or by the host window's
+     * [ViewTreeLifecycleOwner] being destroyed.
+     */
+    val isDisposed: Boolean get() = composition === DisposedComposition
+
+    private var lastLifecycle: Lifecycle? = null
+
+    private val lifecycleObserver = LifecycleEventObserver { _, event ->
+        if (event == Lifecycle.Event.ON_DESTROY) {
+            disposeComposition()
+        }
+    }
+
+    override fun onAttachedToWindow() {
+        super.onAttachedToWindow()
+        val newLifecycleOwner = checkNotNull(ViewTreeLifecycleOwner.get(this)) {
+            "ViewTreeLifecycleOwner is not present in this window. Use ComponentActivity, " +
+                    "FragmentActivity or AppCompatActivity to configure ViewTreeLifecycleOwner " +
+                    "automatically, or call ViewTreeLifecycleOwner.set() for this View or an " +
+                    "ancestor in the same window."
+        }
+        val newLifecycle = newLifecycleOwner.lifecycle
+        if (newLifecycle !== lastLifecycle) {
+            lastLifecycle?.removeObserver(lifecycleObserver)
+            lastLifecycle = newLifecycle
+            newLifecycle.addObserver(lifecycleObserver)
+        }
+        ensureCompositionCreated()
+    }
+
+    final override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec)
+        val child = checkNotNull(getChildAt(0)) { "Composition view not present for measure!" }
+        child.measure(widthMeasureSpec, heightMeasureSpec)
+        setMeasuredDimension(child.measuredWidthAndState, child.measuredHeightAndState)
+    }
+
+    final override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
+        val child = checkNotNull(getChildAt(0)) { "Composition view not present for layout!" }
+        child.layout(0, 0, right - left, bottom - top)
+    }
+}
+
+/**
+ * A [android.view.View] that can host Jetpack Compose UI content.
+ * Use [setContent] to supply the content composable function for the view.
+ *
+ * This [android.view.View] requires that the window it is attached to contains a
+ * [ViewTreeLifecycleOwner]. This [androidx.lifecycle.LifecycleOwner] is used to
+ * [dispose][androidx.compose.Composition.dispose] of the underlying composition
+ * when the host [Lifecycle] is destroyed, permitting the view to be attached and
+ * detached repeatedly while preserving the composition. Call [disposeComposition]
+ * to dispose of the underlying composition earlier, or if the view is never initially
+ * attached to a window. (The requirement to dispose of the composition explicitly
+ * in the event that the view is never (re)attached is temporary.)
+ */
+class ComposeView @JvmOverloads constructor(
+    context: Context,
+    attrs: AttributeSet? = null,
+    defStyleAttr: Int = 0
+) : AbstractComposeView(context, attrs, defStyleAttr) {
+
+    @Suppress("RemoveExplicitTypeArguments")
+    private val content = mutableStateOf<@Composable () -> Unit>({})
+
+    @Composable
+    override fun Content() {
+        content.value()
+    }
+
+    /**
+     * Set the Jetpack Compose UI content for this view.
+     * Initial composition will occur when the view becomes attached to a window or when
+     * [createComposition] is called, whichever comes first.
+     */
+    fun setContent(content: @Composable () -> Unit) {
+        this.content.value = content
+    }
+}
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/clipboard/AndroidClipboardManager.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/clipboard/AndroidClipboardManager.kt
index add5b41..18e9905 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/clipboard/AndroidClipboardManager.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/clipboard/AndroidClipboardManager.kt
@@ -18,7 +18,7 @@
 
 import android.content.ClipData
 import android.content.Context
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 
 private const val PLAIN_TEXT_LABEL = "plain text"
 
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/text/AndroidFontResourceLoader.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/text/AndroidFontResourceLoader.kt
index 8796454..ea89e8d 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/text/AndroidFontResourceLoader.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/text/AndroidFontResourceLoader.kt
@@ -19,8 +19,8 @@
 import android.content.Context
 import android.graphics.Typeface
 import androidx.core.content.res.ResourcesCompat
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.ResourceFont
 
 /**
  * Android implementation for [Font.ResourceLoader]
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/res/FontResources.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/res/FontResources.kt
index 029768f..0320fc9 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/res/FontResources.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/res/FontResources.kt
@@ -21,13 +21,13 @@
 import androidx.annotation.GuardedBy
 import androidx.compose.Composable
 import androidx.ui.core.ContextAmbient
-import androidx.ui.text.Typeface
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.LoadedFontFamily
-import androidx.ui.text.font.ResourceFont
-import androidx.ui.text.font.SystemFontFamily
-import androidx.ui.text.platform.typefaceFromFontFamily
+import androidx.compose.ui.text.Typeface
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.LoadedFontFamily
+import androidx.compose.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.SystemFontFamily
+import androidx.compose.ui.text.platform.typefaceFromFontFamily
 import androidx.ui.util.fastForEach
 
 private val cacheLock = Object()
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Ambients.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Ambients.kt
index 039bdf3..a61ddab 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Ambients.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Ambients.kt
@@ -24,9 +24,9 @@
 import androidx.ui.core.clipboard.ClipboardManager
 import androidx.ui.core.hapticfeedback.HapticFeedback
 import androidx.ui.core.texttoolbar.TextToolbar
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.TextInputService
 import androidx.ui.platform.UriHandler
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import kotlin.coroutines.CoroutineContext
 
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/InspectableParameter.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/InspectableParameter.kt
new file mode 100644
index 0000000..886b1b8
--- /dev/null
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/InspectableParameter.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.core
+
+/**
+ * A compose parameter that is inspectable by tools. It gives access to private parts of a
+ * parameter value.
+ */
+interface InspectableParameter {
+
+    /**
+     * The elements of a compose parameter instance.
+     */
+    val inspectableElements: Sequence<ParameterElement>
+
+    /**
+     * Use this name as the parameter name shown in tools if this is a sub element of another
+     * [InspectableParameter] specified with an empty name. Example: a modifier with multiple
+     * elements.
+     */
+    val nameFallback: String?
+        get() = null
+
+    /**
+     * Use this value as a representation of the overall value of this parameter.
+     */
+    val valueOverride: Any?
+        get() = null
+}
+
+/**
+ * A parameter element describes the elements of a compose parameter instance.
+ * The [name] typically refers to a (possibly private) property name with its corresponding [value].
+ */
+data class ParameterElement(val name: String, val value: Any?)
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Owner.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Owner.kt
index b9d76cc..4c7ab3c 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Owner.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Owner.kt
@@ -24,9 +24,9 @@
 import androidx.ui.core.semantics.SemanticsOwner
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.graphics.Canvas
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.TextInputService
 import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntOffset
 
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Popup.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Popup.kt
index bcf44ec..a53284e 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Popup.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/Popup.kt
@@ -70,8 +70,6 @@
  * The dropdown popup is positioned below its parent, using the [dropDownAlignment] and [offset].
  * The dropdown popup is visible as long as it is part of the composition hierarchy.
  *
- * @sample androidx.ui.core.samples.DropdownPopupSample
- *
  * @param dropDownAlignment The start or end alignment below the parent.
  * @param offset An offset from the original aligned position of the popup.
  * @param isFocusable Indicates if the popup can grab the focus.
@@ -80,7 +78,7 @@
  * @param children The content to be displayed inside the popup.
  */
 @Composable
-fun DropdownPopup(
+internal fun DropdownPopup(
     dropDownAlignment: DropDownAlignment = DropDownAlignment.Start,
     offset: IntOffset = IntOffset(0, 0),
     isFocusable: Boolean = false,
@@ -168,7 +166,7 @@
  * The [DropdownPopup] is aligned below its parent relative to its left or right corner.
  * [DropDownAlignment] is used to specify how should [DropdownPopup] be aligned.
  */
-enum class DropDownAlignment {
+internal enum class DropDownAlignment {
     Start,
     End
 }
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/clipboard/ClipboardManager.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/clipboard/ClipboardManager.kt
index 7608444..63414ae 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/clipboard/ClipboardManager.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/clipboard/ClipboardManager.kt
@@ -16,7 +16,7 @@
 
 package androidx.ui.core.clipboard
 
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 
 /**
  * Interface for managing the Clipboard.
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selectable.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selectable.kt
index f585a98..98bbf1c1 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selectable.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selectable.kt
@@ -18,7 +18,7 @@
 
 import androidx.ui.core.LayoutCoordinates
 import androidx.ui.geometry.Rect
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import androidx.ui.geometry.Offset
 
 /**
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selection.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selection.kt
index 860b854..0e1c3be 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selection.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/Selection.kt
@@ -17,8 +17,8 @@
 package androidx.ui.core.selection
 
 import androidx.compose.Immutable
-import androidx.ui.text.TextRange
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.style.ResolvedTextDirection
 
 /**
  * Information about the current Selection.
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionContainer.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionContainer.kt
index ec1898b..d36932f 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionContainer.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionContainer.kt
@@ -28,7 +28,7 @@
 import androidx.ui.core.gesture.longPressDragGestureFilter
 import androidx.ui.core.gesture.tapGestureFilter
 import androidx.ui.core.onPositioned
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 
 /**
  * Default SelectionContainer to be used in order to make composables selectable by default.
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionHandles.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionHandles.kt
index d61fd6a..fe1b48f 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionHandles.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionHandles.kt
@@ -26,8 +26,8 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.drawscope.DrawScope
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionLayout.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionLayout.kt
index 2a40746..16058a1 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionLayout.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionLayout.kt
@@ -31,8 +31,8 @@
 import androidx.ui.core.hasFixedHeight
 import androidx.ui.core.hasFixedWidth
 import androidx.ui.geometry.Offset
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Dp
 import androidx.ui.unit.IntOffset
 import androidx.ui.unit.IntSize
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionManager.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionManager.kt
index 51f5a9e..7d54b9f 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionManager.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/selection/SelectionManager.kt
@@ -30,11 +30,11 @@
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.core.texttoolbar.TextToolbarStatus
 import androidx.ui.geometry.Rect
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.length
-import androidx.ui.text.subSequence
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.length
+import androidx.compose.ui.text.subSequence
 import androidx.ui.geometry.Offset
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import kotlin.math.max
 import kotlin.math.min
 
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
index 98c1c85..2b9abb5 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/semantics/SemanticsProperties.kt
@@ -16,9 +16,9 @@
 
 package androidx.ui.semantics
 
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
 import kotlin.reflect.KProperty
 
 /**
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt b/ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
similarity index 97%
rename from ui/ui-core/src/test/kotlin/androidx/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
rename to ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
index 9962e57..481b8c2 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/RecordingInputConnectionUpdateTextFieldValueTest.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.view.View
 import android.view.inputmethod.ExtractedText
 import android.view.inputmethod.InputConnection
 import android.view.inputmethod.InputMethodManager
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.argumentCaptor
 import com.nhaarman.mockitokotlin2.eq
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/input/TextInputServiceAndroidTest.kt b/ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroidTest.kt
similarity index 99%
rename from ui/ui-core/src/test/kotlin/androidx/ui/input/TextInputServiceAndroidTest.kt
rename to ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroidTest.kt
index 200bf5b..b004c8c 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/input/TextInputServiceAndroidTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroidTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import android.content.Context
 import android.text.InputType
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerDragTest.kt b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerDragTest.kt
index 7b54831..83fedf9 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerDragTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerDragTest.kt
@@ -18,7 +18,7 @@
 
 import androidx.test.filters.SmallTest
 import androidx.ui.core.LayoutCoordinates
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.geometry.Offset
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
index 0cc31cb..473a7ce 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
@@ -18,7 +18,7 @@
 
 import androidx.test.filters.SmallTest
 import androidx.ui.core.LayoutCoordinates
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.geometry.Offset
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerTest.kt b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerTest.kt
index f5a33f9..cf282f9 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionManagerTest.kt
@@ -23,10 +23,10 @@
 import androidx.ui.core.hapticfeedback.HapticFeedbackType
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.geometry.Rect
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.length
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.subSequence
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.length
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.subSequence
 import androidx.ui.geometry.Offset
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
diff --git a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionTest.kt b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionTest.kt
index 00f0ac4..42d966e 100644
--- a/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionTest.kt
+++ b/ui/ui-core/src/test/kotlin/androidx/ui/core/selection/SelectionTest.kt
@@ -17,8 +17,8 @@
 package androidx.ui.core.selection
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.mock
 import org.junit.Test
diff --git a/ui/ui-desktop/samples/src/jvmMain/kotlin/androidx/ui/desktop/examples/example1/Main.kt b/ui/ui-desktop/samples/src/jvmMain/kotlin/androidx/ui/desktop/examples/example1/Main.kt
index 66577e8..976bba3 100644
--- a/ui/ui-desktop/samples/src/jvmMain/kotlin/androidx/ui/desktop/examples/example1/Main.kt
+++ b/ui/ui-desktop/samples/src/jvmMain/kotlin/androidx/ui/desktop/examples/example1/Main.kt
@@ -27,6 +27,7 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.ImageAsset
 import androidx.ui.graphics.asImageAsset
+import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.fillMaxSize
@@ -39,11 +40,11 @@
 import androidx.ui.material.Scaffold
 import androidx.ui.material.Slider
 import androidx.ui.material.TopAppBar
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.SpanStyle
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.SpanStyle
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
-import androidx.ui.text.font.fontFamily
+import androidx.compose.ui.text.font.fontFamily
 import androidx.ui.desktop.font
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.background
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/ComposeInit.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/ComposeInit.kt
index 2b8188a..466c594 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/ComposeInit.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/ComposeInit.kt
@@ -29,8 +29,8 @@
 import androidx.ui.graphics.DesktopPath
 import androidx.ui.graphics.DesktopRadialGradientShader
 import androidx.ui.graphics.GraphicsFactory
-import androidx.ui.text.platform.paragraphActualFactory
-import androidx.ui.text.platform.paragraphIntrinsicsActualFactory
+import androidx.compose.ui.text.platform.paragraphActualFactory
+import androidx.compose.ui.text.platform.paragraphIntrinsicsActualFactory
 import org.jetbrains.skija.Library
 
 /**
@@ -53,7 +53,7 @@
     ComposeInit
 }
 
-@OptIn(androidx.ui.text.platform.InternalPlatformTextApi::class, InternalComposeApi::class)
+@OptIn(androidx.compose.ui.text.android.InternalPlatformTextApi::class, InternalComposeApi::class)
 private object ComposeInit {
     init {
         Library.load("/", "skija")
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopFont.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopFont.kt
index 96973d6..4aca644 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopFont.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopFont.kt
@@ -15,11 +15,11 @@
 */
 package androidx.ui.desktop
 
-import androidx.ui.text.font.Font as uiFont
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.Font as uiFont
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
 import org.jetbrains.skija.FontMgr
 import org.jetbrains.skija.Typeface
 import org.jetbrains.skija.paragraph.FontCollection
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraph.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraph.kt
index 16b1710..96a839e 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraph.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraph.kt
@@ -21,11 +21,11 @@
 import androidx.ui.graphics.DesktopPath
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.toAndroidX
-import androidx.ui.text.Paragraph
-import androidx.ui.text.ParagraphConstraints
-import androidx.ui.text.ParagraphIntrinsics
-import androidx.ui.text.TextRange
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.Paragraph
+import androidx.compose.ui.text.ParagraphConstraints
+import androidx.compose.ui.text.ParagraphIntrinsics
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import org.jetbrains.skija.paragraph.LineMetrics
 import org.jetbrains.skija.paragraph.RectHeightMode
 import org.jetbrains.skija.paragraph.RectWidthMode
@@ -156,6 +156,11 @@
         lineMetricsForOffset(offset)?.run { lineNumber.toInt() }
             ?: 0
 
+    override fun getLineForVerticalPosition(vertical: Float): Int {
+        println("Paragraph.getLineForVerticalPosition $vertical")
+        return 0
+    }
+
     override fun getHorizontalPosition(offset: Int, usePrimaryDirection: Boolean): Float {
         val metrics = lineMetricsForOffset(offset)
 
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraphIntrinsics.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraphIntrinsics.kt
index a17b297..6c69c12 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraphIntrinsics.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopParagraphIntrinsics.kt
@@ -17,13 +17,13 @@
 
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.toArgb
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.ParagraphIntrinsics
-import androidx.ui.text.Placeholder
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.SpanStyleRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.ParagraphIntrinsics
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.SpanStyleRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import kotlin.math.ceil
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopPlatformInput.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopPlatformInput.kt
index 7d717dc..73d6efb 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopPlatformInput.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/DesktopPlatformInput.kt
@@ -15,14 +15,14 @@
  */
 package androidx.ui.desktop
 
-import androidx.ui.input.BackspaceKeyEditOp
-import androidx.ui.input.CommitTextEditOp
-import androidx.ui.input.EditOperation
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.MoveCursorEditOp
-import androidx.ui.input.PlatformTextInputService
+import androidx.compose.ui.text.input.BackspaceKeyEditOp
+import androidx.compose.ui.text.input.CommitTextEditOp
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.MoveCursorEditOp
+import androidx.compose.ui.text.input.PlatformTextInputService
 import androidx.ui.geometry.Rect
 
 import java.awt.event.KeyEvent
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/SkiaWindow.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/SkiaWindow.kt
index 115bf1c..babe747 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/SkiaWindow.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/SkiaWindow.kt
@@ -17,8 +17,8 @@
 
 import androidx.compose.animation.core.AnimationClockObserver
 import androidx.compose.runtime.dispatch.DesktopUiDispatcher
-import androidx.ui.text.platform.paragraphActualFactory
-import androidx.ui.text.platform.paragraphIntrinsicsActualFactory
+import androidx.compose.ui.text.platform.paragraphActualFactory
+import androidx.compose.ui.text.platform.paragraphIntrinsicsActualFactory
 import com.jogamp.opengl.GL
 import com.jogamp.opengl.GLAutoDrawable
 import com.jogamp.opengl.GLCapabilities
@@ -103,7 +103,7 @@
 }
 
 class Dialog : JDialog, SkiaFrame {
-    @OptIn(androidx.ui.text.platform.InternalPlatformTextApi::class)
+    @OptIn(androidx.compose.ui.text.android.InternalPlatformTextApi::class)
     companion object {
         init {
             Library.load("/", "skija")
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/test/TestSkiaWindow.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/test/TestSkiaWindow.kt
index 972e74a..cacd0b8 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/test/TestSkiaWindow.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/desktop/test/TestSkiaWindow.kt
@@ -34,7 +34,7 @@
 import androidx.ui.desktop.DesktopPlatformInput
 import androidx.ui.desktop.FontLoader
 import androidx.ui.desktop.initCompose
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.TextInputService
 import org.jetbrains.skija.Canvas
 import org.jetbrains.skija.Surface
 
@@ -51,7 +51,7 @@
         androidCanvas = android.graphics.Canvas(canvas)
     }
 
-    @OptIn(androidx.ui.text.platform.InternalPlatformTextApi::class)
+    @OptIn(androidx.compose.ui.text.android.InternalPlatformTextApi::class)
     companion object {
         init {
             initCompose()
diff --git a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/view/LayoutScope.kt b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/view/LayoutScope.kt
index bcdc970..8b25fec 100644
--- a/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/view/LayoutScope.kt
+++ b/ui/ui-desktop/src/jvmMain/kotlin/androidx/ui/view/LayoutScope.kt
@@ -37,7 +37,7 @@
 import androidx.ui.desktop.DesktopSelectionContainer
 import androidx.ui.desktop.FontLoader
 import androidx.ui.desktop.LayoutScopeGlobal
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.TextInputService
 import androidx.ui.unit.IntOffset
 import com.jogamp.opengl.awt.GLCanvas
 import org.jetbrains.skija.Canvas
diff --git a/ui/ui-desktop/src/jvmTest/kotlin/androidx/ui/desktop/ParagraphTest.kt b/ui/ui-desktop/src/jvmTest/kotlin/androidx/ui/desktop/ParagraphTest.kt
index ec6154c..6049651 100644
--- a/ui/ui-desktop/src/jvmTest/kotlin/androidx/ui/desktop/ParagraphTest.kt
+++ b/ui/ui-desktop/src/jvmTest/kotlin/androidx/ui/desktop/ParagraphTest.kt
@@ -30,9 +30,9 @@
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.ui.material.Scaffold
 import androidx.ui.material.TopAppBar
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.font.fontFamily
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.font.fontFamily
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
 import org.junit.Rule
diff --git a/ui/ui-foundation/api/0.1.0-dev16.txt b/ui/ui-foundation/api/0.1.0-dev16.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/0.1.0-dev16.txt
+++ b/ui/ui-foundation/api/0.1.0-dev16.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/api/current.txt b/ui/ui-foundation/api/current.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/current.txt
+++ b/ui/ui-foundation/api/current.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev16.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev16.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/api/public_plus_experimental_current.txt b/ui/ui-foundation/api/public_plus_experimental_current.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/public_plus_experimental_current.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_current.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/api/restricted_0.1.0-dev16.txt b/ui/ui-foundation/api/restricted_0.1.0-dev16.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-foundation/api/restricted_0.1.0-dev16.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/api/restricted_current.txt b/ui/ui-foundation/api/restricted_current.txt
index d023b01..ca739a2 100644
--- a/ui/ui-foundation/api/restricted_current.txt
+++ b/ui/ui-foundation/api/restricted_current.txt
@@ -13,7 +13,7 @@
   }
 
   public final class BaseTextFieldKt {
-    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-63P0bO0(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
+    method @androidx.compose.Composable @androidx.compose.foundation.ExperimentalFoundationApi public static void BaseTextField-hrKMqGY(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long cursorColor = contentColor());
   }
 
   @androidx.compose.Immutable public final class Border {
@@ -46,7 +46,7 @@
   }
 
   public final class ClickableTextKt {
-    method @androidx.compose.Composable public static void ClickableText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+    method @androidx.compose.Composable public static void ClickableText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style = TextStyle.Default, boolean softWrap = true, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
   }
 
   public final class ContentColorKt {
@@ -197,10 +197,10 @@
   }
 
   public final class TextKt {
-    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @androidx.compose.Composable public static void Text-0VOI5ok(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static void Text-GyNEQHM(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.ui.text.font.FontStyle? fontStyle = null, androidx.ui.text.font.FontWeight? fontWeight = null, androidx.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.ui.text.style.TextDecoration? textDecoration = null, androidx.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  androidx.ui.text.TextStyle style = currentTextStyle());
-    method @androidx.compose.Composable public static androidx.ui.text.TextStyle currentTextStyle();
+    method @androidx.compose.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method @androidx.compose.Composable public static void Text-TzwKYGo(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static void Text-ofH8Il4(String text, androidx.ui.core.Modifier modifier = Modifier, long color = Color.Unset, long fontSize = TextUnit.Inherit, androidx.compose.ui.text.font.FontStyle? fontStyle = null, androidx.compose.ui.text.font.FontWeight? fontWeight = null, androidx.compose.ui.text.font.FontFamily? fontFamily = null, long letterSpacing = TextUnit.Inherit, androidx.compose.ui.text.style.TextDecoration? textDecoration = null, androidx.compose.ui.text.style.TextAlign? textAlign = null, long lineHeight = TextUnit.Inherit, androidx.compose.ui.text.style.TextOverflow overflow = TextOverflow.Clip, boolean softWrap = true, int maxLines = 2147483647, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent = mapOf(), kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  androidx.compose.ui.text.TextStyle style = currentTextStyle());
+    method @androidx.compose.Composable public static androidx.compose.ui.text.TextStyle currentTextStyle();
   }
 
 }
@@ -282,8 +282,8 @@
 package androidx.compose.foundation.lazy {
 
   public final class LazyItemsKt {
-    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
-    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyColumnItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Horizontal horizontalGravity = Alignment.Start, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
+    method @androidx.compose.Composable public static <T> void LazyRowItems(java.util.List<? extends T> items, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.foundation.layout.InnerPadding contentPadding = androidx.compose.foundation.layout.InnerPadding(0.dp), androidx.ui.core.Alignment.Vertical verticalGravity = Alignment.Top, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> itemContent);
   }
 
 }
diff --git a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
index af930d2..d086c85 100644
--- a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
+++ b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ClickableTextSample.kt
@@ -24,10 +24,10 @@
 import androidx.ui.core.gesture.longPressGestureFilter
 import androidx.compose.foundation.ClickableText
 import androidx.compose.foundation.Text
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.TextOverflow
 
 @Sampled
 @Composable
diff --git a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt
index ff14aa0..c7cc5fc 100644
--- a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt
+++ b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/InteractionStateSample.kt
@@ -33,7 +33,7 @@
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.preferredSize
 import androidx.compose.foundation.layout.wrapContentSize
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.dp
 
 @Sampled
diff --git a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt
index 0e5699a..e428b8e 100644
--- a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt
+++ b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/ScrollableSamples.kt
@@ -28,7 +28,7 @@
 import androidx.compose.foundation.gestures.scrollable
 import androidx.ui.graphics.Color
 import androidx.compose.foundation.layout.preferredSize
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
 import kotlin.math.roundToInt
diff --git a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/TextFieldSample.kt b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/TextFieldSample.kt
index 59d6a20..4b4f1f2 100644
--- a/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/TextFieldSample.kt
+++ b/ui/ui-foundation/samples/src/main/java/androidx/compose/foundation/samples/TextFieldSample.kt
@@ -23,7 +23,7 @@
 import androidx.compose.foundation.BaseTextField
 import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.Text
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
 
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableTextTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableTextTest.kt
index 3a3c5c2..9917cf0 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableTextTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ClickableTextTest.kt
@@ -23,7 +23,7 @@
 import androidx.ui.test.performClick
 import androidx.ui.test.onNodeWithTag
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.mock
 import com.nhaarman.mockitokotlin2.times
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SelectableTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SelectableTest.kt
index f49e55f..021c327 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SelectableTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SelectableTest.kt
@@ -27,7 +27,7 @@
 import androidx.ui.test.assertCountEquals
 import androidx.ui.test.assertIsInMutuallyExclusiveGroup
 import androidx.ui.test.assertIsSelected
-import androidx.ui.test.assertIsUnselected
+import androidx.ui.test.assertIsNotSelected
 import androidx.ui.test.center
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.performClick
@@ -83,11 +83,11 @@
         }
 
         onNode(isInMutuallyExclusiveGroup())
-            .assertIsUnselected()
+            .assertIsNotSelected()
             .performClick()
             .assertIsSelected()
             .performClick()
-            .assertIsUnselected()
+            .assertIsNotSelected()
     }
 
     @Test
@@ -103,9 +103,9 @@
         }
 
         onNode(isInMutuallyExclusiveGroup())
-            .assertIsUnselected()
+            .assertIsNotSelected()
             .performClick()
-            .assertIsUnselected()
+            .assertIsNotSelected()
     }
 
     @Test
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SoftwareKeyboardTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SoftwareKeyboardTest.kt
index 7f71bc4..4cb556f 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SoftwareKeyboardTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/SoftwareKeyboardTest.kt
@@ -21,15 +21,15 @@
 import androidx.test.filters.SmallTest
 import androidx.ui.core.Modifier
 import androidx.ui.core.TextInputServiceAmbient
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.TextInputService
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.hasInputMethodsSupport
 import androidx.ui.test.onNode
 import androidx.ui.test.performClick
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.SoftwareKeyboardController
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.mock
 import com.nhaarman.mockitokotlin2.times
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldCursorTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldCursorTest.kt
index 0f3a4a5..1914071 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldCursorTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldCursorTest.kt
@@ -23,7 +23,7 @@
 import androidx.ui.core.Modifier
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.RectangleShape
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.preferredSize
 import androidx.ui.test.assertPixels
@@ -34,7 +34,7 @@
 import androidx.ui.test.onNode
 import androidx.ui.test.hasInputMethodsSupport
 import androidx.ui.test.waitForIdle
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Density
 import androidx.ui.unit.Dp
 import androidx.ui.unit.IntSize
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldFocusTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldFocusTest.kt
index eadbce51..3f06c08 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldFocusTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldFocusTest.kt
@@ -22,7 +22,7 @@
 import androidx.test.filters.LargeTest
 import androidx.ui.core.Modifier
 import androidx.ui.core.focus.FocusModifier
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.width
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.runOnIdle
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldOnValueChangeTextFieldValueTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldOnValueChangeTextFieldValueTest.kt
index 8a8078b..0487fb7 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldOnValueChangeTextFieldValueTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldOnValueChangeTextFieldValueTest.kt
@@ -21,14 +21,14 @@
 import androidx.test.filters.SmallTest
 import androidx.ui.core.TextInputServiceAmbient
 import androidx.ui.geometry.Offset
-import androidx.ui.input.CommitTextEditOp
-import androidx.ui.input.DeleteSurroundingTextEditOp
-import androidx.ui.input.EditOperation
-import androidx.ui.input.FinishComposingTextEditOp
-import androidx.ui.input.SetComposingRegionEditOp
-import androidx.ui.input.SetComposingTextEditOp
-import androidx.ui.input.SetSelectionEditOp
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.CommitTextEditOp
+import androidx.compose.ui.text.input.DeleteSurroundingTextEditOp
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.FinishComposingTextEditOp
+import androidx.compose.ui.text.input.SetComposingRegionEditOp
+import androidx.compose.ui.text.input.SetComposingTextEditOp
+import androidx.compose.ui.text.input.SetSelectionEditOp
+import androidx.compose.ui.text.input.TextInputService
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.performGesture
 import androidx.ui.test.onNode
@@ -36,7 +36,7 @@
 import androidx.ui.test.runOnIdle
 import androidx.ui.test.runOnUiThread
 import androidx.ui.test.click
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.argumentCaptor
@@ -59,7 +59,7 @@
     @get:Rule
     val composeTestRule = createComposeRule()
 
-    val onValueChange: (androidx.ui.input.TextFieldValue) -> Unit = mock()
+    val onValueChange: (androidx.compose.ui.text.input.TextFieldValue) -> Unit = mock()
 
     lateinit var onEditCommandCallback: (List<EditOperation>) -> Unit
 
@@ -76,7 +76,7 @@
                 TextInputServiceAmbient provides textInputService
             ) {
                 val state = state {
-                    androidx.ui.input.TextFieldValue(
+                    androidx.compose.ui.text.input.TextFieldValue(
                         "abcde",
                         TextRange.Zero
                     )
@@ -126,7 +126,7 @@
         runOnIdle {
             verify(onValueChange, times(1))
                 .invoke(eq(
-                    androidx.ui.input.TextFieldValue(
+                    androidx.compose.ui.text.input.TextFieldValue(
                         "ABCDEabcde",
                         TextRange(5)
                     )
@@ -139,7 +139,8 @@
         // Composition change will be reported as a change
         performEditOperation(SetComposingRegionEditOp(0, 5))
         runOnIdle {
-            verify(onValueChange, times(1)).invoke(eq(androidx.ui.input.TextFieldValue(
+            verify(onValueChange, times(1)).invoke(eq(
+                androidx.compose.ui.text.input.TextFieldValue(
                 text = "abcde",
                 selection = TextRange.Zero,
                 composition = TextRange(0, 5)
@@ -154,7 +155,7 @@
         runOnIdle {
             verify(onValueChange, times(1))
                 .invoke(eq(
-                    androidx.ui.input.TextFieldValue(
+                    androidx.compose.ui.text.input.TextFieldValue(
                         text = "ABCDEabcde",
                         selection = TextRange(5),
                         composition = TextRange(0, 5)
@@ -169,7 +170,7 @@
         performEditOperation(SetSelectionEditOp(1, 1))
         runOnIdle {
             verify(onValueChange, times(1)).invoke(eq(
-                androidx.ui.input.TextFieldValue(
+                androidx.compose.ui.text.input.TextFieldValue(
                     "abcde",
                     TextRange(1)
                 )
@@ -181,7 +182,7 @@
     fun clearComposition_onValueChange_call_once() {
         val composingText = "ABCDE"
         performEditOperation(SetComposingTextEditOp(composingText, 1))
-        val expectedTextFieldValue = androidx.ui.input.TextFieldValue(
+        val expectedTextFieldValue = androidx.compose.ui.text.input.TextFieldValue(
             text = "ABCDEabcde",
             selection = TextRange(5),
             composition = TextRange(0, composingText.length)
@@ -205,7 +206,7 @@
         performEditOperation(DeleteSurroundingTextEditOp(0, 1))
         runOnIdle {
             verify(onValueChange, times(1)).invoke(eq(
-                androidx.ui.input.TextFieldValue(
+                androidx.compose.ui.text.input.TextFieldValue(
                     "bcde",
                     TextRange.Zero
                 )
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldTest.kt
index b116f74e..9202523 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextFieldTest.kt
@@ -23,7 +23,15 @@
 import androidx.compose.Composable
 import androidx.compose.MutableState
 import androidx.compose.Providers
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.preferredSize
+import androidx.compose.foundation.layout.preferredWidth
+import androidx.compose.getValue
+import androidx.compose.setValue
+import androidx.compose.runtime.savedinstancestate.savedInstanceState
 import androidx.compose.state
+import androidx.compose.ui.text.AnnotatedString
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.ui.core.Modifier
@@ -35,18 +43,23 @@
 import androidx.ui.core.testTag
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.RectangleShape
-import androidx.ui.input.CommitTextEditOp
-import androidx.ui.input.EditOperation
-import androidx.ui.input.ImeAction
-import androidx.ui.input.TextInputService
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.preferredSize
-import androidx.compose.foundation.layout.preferredWidth
-import androidx.compose.runtime.savedinstancestate.savedInstanceState
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.input.CommitTextEditOp
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue.Companion.Saver
+import androidx.compose.ui.text.input.TextInputService
+import androidx.compose.ui.text.length
+import androidx.ui.semantics.SemanticsActions
+import androidx.ui.semantics.SemanticsProperties
+import androidx.ui.test.SemanticsMatcher
 import androidx.ui.test.StateRestorationTester
 import androidx.ui.test.assert
+import androidx.ui.test.assertHasClickAction
 import androidx.ui.test.assertShape
+import androidx.ui.test.assertTextEquals
 import androidx.ui.test.captureToBitmap
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.performClick
@@ -54,9 +67,10 @@
 import androidx.ui.test.onNodeWithTag
 import androidx.ui.test.hasImeAction
 import androidx.ui.test.hasInputMethodsSupport
+import androidx.ui.test.isFocused
+import androidx.ui.test.isNotFocused
+import androidx.ui.test.performSemanticsAction
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
 import androidx.ui.unit.dp
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
@@ -89,7 +103,7 @@
 
         lateinit var focusModifier: FocusModifier
         composeTestRule.setContent {
-            val state = state { androidx.ui.input.TextFieldValue("") }
+            val state = state { TextFieldValue("") }
             Providers(
                 TextInputServiceAmbient provides inputService
             ) {
@@ -112,7 +126,7 @@
 
     @Composable
     private fun TextFieldApp() {
-        val state = state { androidx.ui.input.TextFieldValue("") }
+        val state = state { TextFieldValue("") }
         BaseTextField(
             value = state.value,
             modifier = Modifier.fillMaxSize(),
@@ -171,7 +185,7 @@
         }
 
         runOnIdle {
-            val stateCaptor = argumentCaptor<androidx.ui.input.TextFieldValue>()
+            val stateCaptor = argumentCaptor<TextFieldValue>()
             verify(textInputService, atLeastOnce())
                 .onStateUpdated(eq(inputSessionToken), stateCaptor.capture())
 
@@ -182,7 +196,7 @@
 
     @Composable
     private fun OnlyDigitsApp() {
-        val state = state { androidx.ui.input.TextFieldValue("") }
+        val state = state { TextFieldValue("") }
         BaseTextField(
             value = state.value,
             modifier = Modifier.fillMaxSize(),
@@ -243,7 +257,7 @@
         }
 
         runOnIdle {
-            val stateCaptor = argumentCaptor<androidx.ui.input.TextFieldValue>()
+            val stateCaptor = argumentCaptor<TextFieldValue>()
             verify(textInputService, atLeastOnce())
                 .onStateUpdated(eq(inputSessionToken), stateCaptor.capture())
 
@@ -266,7 +280,7 @@
             Providers(
                 TextInputServiceAmbient provides textInputService
             ) {
-                val state = state { androidx.ui.input.TextFieldValue("") }
+                val state = state { TextFieldValue("") }
                 BaseTextField(
                     value = state.value,
                     modifier = Modifier.fillMaxSize(),
@@ -323,7 +337,7 @@
         composeTestRule.setContent {
             Box {
                 BaseTextField(
-                    value = androidx.ui.input.TextFieldValue(),
+                    value = TextFieldValue(),
                     >
                     modifier = Modifier.onPositioned {
                         size = it.size.width
@@ -344,7 +358,7 @@
         composeTestRule.setContent {
             Box {
                 BaseTextField(
-                    value = androidx.ui.input.TextFieldValue(),
+                    value = TextFieldValue(),
                     >
                     modifier = Modifier
                         .preferredWidth(textFieldWidth)
@@ -369,7 +383,7 @@
             Box(Modifier.preferredSize(parentSize)) {
                 Row {
                     BaseTextField(
-                        value = androidx.ui.input.TextFieldValue(),
+                        value = TextFieldValue(),
                         >
                         modifier = Modifier
                             .weight(1f)
@@ -389,17 +403,17 @@
 
     @Test
     fun textFieldValue_saverRestoresState() {
-        var state: MutableState<androidx.ui.input.TextFieldValue>? = null
+        var state: MutableState<TextFieldValue>? = null
 
         val restorationTester = StateRestorationTester(composeTestRule)
         restorationTester.setContent {
-            state = savedInstanceState(saver = androidx.ui.input.TextFieldValue.Saver) {
-                androidx.ui.input.TextFieldValue()
+            state = savedInstanceState(saver = Saver) {
+                TextFieldValue()
             }
         }
 
         runOnIdle {
-            state!!.value = androidx.ui.input.TextFieldValue("test", TextRange(1, 2))
+            state!!.value = TextFieldValue("test", TextRange(1, 2))
 
             // we null it to ensure recomposition happened
             state = null
@@ -409,7 +423,7 @@
 
         runOnIdle {
             assertThat(state!!.value).isEqualTo(
-                androidx.ui.input.TextFieldValue("test", TextRange(1, 2))
+                TextFieldValue("test", TextRange(1, 2))
             )
         }
     }
@@ -419,7 +433,7 @@
     fun textFieldNotFocused_cursorNotRendered() {
         composeTestRule.setContent {
             BaseTextField(
-                value = androidx.ui.input.TextFieldValue(),
+                value = TextFieldValue(),
                 >
                 textColor = Color.White,
                 modifier = Modifier.preferredSize(10.dp, 20.dp).background(color = Color.White),
@@ -443,21 +457,79 @@
         composeTestRule.setContent {
             BaseTextField(
                 modifier = Modifier.testTag("textField"),
-                value = androidx.ui.input.TextFieldValue(),
+                value = TextFieldValue(),
                 >
             )
         }
 
         onNodeWithTag("textField")
+            .assertTextEquals("")
+            .assertHasClickAction()
             .assert(hasInputMethodsSupport())
             .assert(hasImeAction(ImeAction.Unspecified))
+            .assert(isNotFocused())
+            .assert(SemanticsMatcher.expectValue(SemanticsProperties.TextSelectionRange,
+                TextRange.Zero))
+            .assert(SemanticsMatcher.keyIsDefined(SemanticsActions.SetText))
+            .assert(SemanticsMatcher.keyIsDefined(SemanticsActions.SetSelection))
+            .assert(SemanticsMatcher.keyIsDefined(SemanticsActions.GetTextLayoutResult))
+
+        val textLayoutResults = mutableListOf<TextLayoutResult>()
+        onNodeWithTag("textField")
+            .performSemanticsAction(SemanticsActions.GetTextLayoutResult) { it(textLayoutResults) }
+        assert(textLayoutResults.size == 1) { "TextLayoutResult is null" }
+    }
+
+    @Test
+    fun semantics_clickAction() {
+        composeTestRule.setContent {
+            var value by state { TextFieldValue() }
+            BaseTextField(
+                modifier = Modifier.testTag("textField"),
+                value = value,
+                 value = it }
+            )
+        }
+
+        onNodeWithTag("textField")
+            .assert(isNotFocused())
+            .performSemanticsAction(SemanticsActions.OnClick)
+        onNodeWithTag("textField")
+            .assert(isFocused())
+    }
+
+    @Test
+    fun semantics_setTextSetSelectionActions() {
+        composeTestRule.setContent {
+            var value by state { TextFieldValue() }
+            BaseTextField(
+                modifier = Modifier.testTag("textField"),
+                value = value,
+                 value = it }
+            )
+        }
+
+        val hello = AnnotatedString("Hello")
+        onNodeWithTag("textField")
+            .assertTextEquals("")
+            .performSemanticsAction(SemanticsActions.SetText) { it(hello) }
+        onNodeWithTag("textField")
+            .assertTextEquals(hello.text)
+            .assert(SemanticsMatcher.expectValue(SemanticsProperties.TextSelectionRange,
+                TextRange(hello.length)))
+
+        onNodeWithTag("textField")
+            .performSemanticsAction(SemanticsActions.SetSelection) { it(1, 3, true) }
+        onNodeWithTag("textField")
+            .assert(SemanticsMatcher.expectValue(SemanticsProperties.TextSelectionRange,
+                TextRange(1, 3)))
     }
 
     @Test
     fun setImeAction_isReflectedInSemantics() {
         composeTestRule.setContent {
             BaseTextField(
-                value = androidx.ui.input.TextFieldValue(),
+                value = TextFieldValue(),
                 imeAction = ImeAction.Search,
                 >
             )
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextTest.kt
index 89e4e69..d0d8692 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/TextTest.kt
@@ -16,17 +16,20 @@
 
 package androidx.compose.foundation
 
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.style.TextAlign
 import androidx.test.filters.MediumTest
 import androidx.ui.core.Modifier
 import androidx.ui.core.testTag
 import androidx.ui.graphics.Color
+import androidx.ui.semantics.SemanticsActions
 import androidx.ui.test.assertTextEquals
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.onNodeWithTag
+import androidx.ui.test.performSemanticsAction
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.style.TextAlign
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
@@ -232,6 +235,10 @@
             }
         }
 
-        onNodeWithTag("text").assertTextEquals(TestText)
+        val textLayoutResults = mutableListOf<TextLayoutResult>()
+        onNodeWithTag("text")
+            .assertTextEquals(TestText)
+            .performSemanticsAction(SemanticsActions.GetTextLayoutResult) { it(textLayoutResults) }
+        assert(textLayoutResults.size == 1) { "TextLayoutResult is null" }
     }
 }
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnItemsTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnItemsTest.kt
index eebe5b4..d43a078 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnItemsTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyColumnItemsTest.kt
@@ -37,10 +37,13 @@
 import androidx.compose.foundation.layout.preferredHeight
 import androidx.compose.foundation.layout.preferredSize
 import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.ui.core.Alignment
 import androidx.ui.test.SemanticsNodeInteraction
 import androidx.ui.test.assertCountEquals
 import androidx.ui.test.assertIsDisplayed
 import androidx.ui.test.assertIsNotDisplayed
+import androidx.ui.test.assertPositionInRootIsEqualTo
 import androidx.ui.test.center
 import androidx.ui.test.onChildren
 import androidx.ui.test.createComposeRule
@@ -400,8 +403,7 @@
         Truth.assertThat(lazyColumnBounds.left.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
         Truth.assertThat(lazyColumnBounds.right.toIntPx()).isWithin1PixelFrom(50.dp.toIntPx())
         Truth.assertThat(lazyColumnBounds.top.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
-        // TODO: wrap-content on the main-axis must be implemented
-//        Truth.assertThat(itemInsideBounds.bottom.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
+        Truth.assertThat(lazyColumnBounds.bottom.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
 
         runOnIdle {
             sameSizeItems = false
@@ -421,8 +423,74 @@
         Truth.assertThat(lazyColumnBounds.left.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
         Truth.assertThat(lazyColumnBounds.right.toIntPx()).isWithin1PixelFrom(70.dp.toIntPx())
         Truth.assertThat(lazyColumnBounds.top.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
-        // TODO: wrap-content on the main-axis must be implemented
-//        Truth.assertThat(itemInsideBounds.bottom.toIntPx()).isWithin1PixelFrom(120.dp.toIntPx())
+        Truth.assertThat(lazyColumnBounds.bottom.toIntPx()).isWithin1PixelFrom(120.dp.toIntPx())
+    }
+
+    private val firstItemTag = "firstItemTag"
+    private val secondItemTag = "secondItemTag"
+
+    private fun prepareLazyColumnsItemsAlignment(horizontalGravity: Alignment.Horizontal) {
+        composeTestRule.setContent {
+            LazyColumnItems(
+                items = listOf(1, 2),
+                modifier = Modifier.testTag(LazyColumnItemsTag).width(100.dp),
+                horizontalGravity = horizontalGravity
+            ) {
+                if (it == 1) {
+                    Spacer(Modifier.preferredSize(50.dp).testTag(firstItemTag))
+                } else {
+                    Spacer(Modifier.preferredSize(70.dp).testTag(secondItemTag))
+                }
+            }
+        }
+
+        onNodeWithTag(firstItemTag)
+            .assertIsDisplayed()
+
+        onNodeWithTag(secondItemTag)
+            .assertIsDisplayed()
+
+        val lazyColumnBounds = onNodeWithTag(LazyColumnItemsTag)
+            .getBoundsInRoot()
+
+        with(composeTestRule.density) {
+            // Verify the width of the column
+            Truth.assertThat(lazyColumnBounds.left.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
+            Truth.assertThat(lazyColumnBounds.right.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
+        }
+    }
+
+    @Test
+    fun lazyColumnAlignmentCenterHorizontally() {
+        prepareLazyColumnsItemsAlignment(Alignment.CenterHorizontally)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(25.dp, 0.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(15.dp, 50.dp)
+    }
+
+    @Test
+    fun lazyColumnAlignmentStart() {
+        prepareLazyColumnsItemsAlignment(Alignment.Start)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(0.dp, 0.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(0.dp, 50.dp)
+    }
+
+    @Test
+    fun lazyColumnAlignmentEnd() {
+        prepareLazyColumnsItemsAlignment(Alignment.End)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(50.dp, 0.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(30.dp, 50.dp)
     }
 }
 
diff --git a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyRowItemsTest.kt b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyRowItemsTest.kt
index 9cfe680..f10c3bd 100644
--- a/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyRowItemsTest.kt
+++ b/ui/ui-foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyRowItemsTest.kt
@@ -27,10 +27,13 @@
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.preferredSize
 import androidx.compose.foundation.layout.preferredWidth
 import androidx.compose.foundation.layout.size
+import androidx.ui.core.Alignment
 import androidx.ui.test.assertIsDisplayed
+import androidx.ui.test.assertPositionInRootIsEqualTo
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.getBoundsInRoot
 import androidx.ui.test.onNodeWithTag
@@ -46,7 +49,6 @@
 @MediumTest
 @RunWith(JUnit4::class)
 class LazyRowItemsTest {
-
     private val LazyRowItemsTag = "LazyRowItemsTag"
 
     @get:Rule
@@ -229,8 +231,7 @@
             .getBoundsInRoot()
 
         Truth.assertThat(lazyRowBounds.left.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
-        // TODO: wrap-content on the main-axis must be implemented
-//        Truth.assertThat(lazyRowBounds.right.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
+        Truth.assertThat(lazyRowBounds.right.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
         Truth.assertThat(lazyRowBounds.top.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
         Truth.assertThat(lazyRowBounds.bottom.toIntPx()).isWithin1PixelFrom(50.dp.toIntPx())
 
@@ -250,9 +251,75 @@
             .getBoundsInRoot()
 
         Truth.assertThat(lazyRowBounds.left.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
-        // TODO: wrap-content on the main-axis must be implemented
-//        Truth.assertThat(lazyRowBounds.right.toIntPx()).isWithin1PixelFrom(120.dp.toIntPx())
+        Truth.assertThat(lazyRowBounds.right.toIntPx()).isWithin1PixelFrom(120.dp.toIntPx())
         Truth.assertThat(lazyRowBounds.top.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
         Truth.assertThat(lazyRowBounds.bottom.toIntPx()).isWithin1PixelFrom(70.dp.toIntPx())
     }
+
+    private val firstItemTag = "firstItemTag"
+    private val secondItemTag = "secondItemTag"
+
+    private fun prepareLazyRowItemsAlignment(verticalGravity: Alignment.Vertical) {
+        composeTestRule.setContent {
+            LazyRowItems(
+                items = listOf(1, 2),
+                modifier = Modifier.testTag(LazyRowItemsTag).height(100.dp),
+                verticalGravity = verticalGravity
+            ) {
+                if (it == 1) {
+                    Spacer(Modifier.preferredSize(50.dp).testTag(firstItemTag))
+                } else {
+                    Spacer(Modifier.preferredSize(70.dp).testTag(secondItemTag))
+                }
+            }
+        }
+
+        onNodeWithTag(firstItemTag)
+            .assertIsDisplayed()
+
+        onNodeWithTag(secondItemTag)
+            .assertIsDisplayed()
+
+        val lazyColumnBounds = onNodeWithTag(LazyRowItemsTag)
+            .getBoundsInRoot()
+
+        with(composeTestRule.density) {
+            // Verify the height of the row
+            Truth.assertThat(lazyColumnBounds.top.toIntPx()).isWithin1PixelFrom(0.dp.toIntPx())
+            Truth.assertThat(lazyColumnBounds.bottom.toIntPx()).isWithin1PixelFrom(100.dp.toIntPx())
+        }
+    }
+
+    @Test
+    fun lazyRowAlignmentCenterVertically() {
+        prepareLazyRowItemsAlignment(Alignment.CenterVertically)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(0.dp, 25.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(50.dp, 15.dp)
+    }
+
+    @Test
+    fun lazyRowAlignmentTop() {
+        prepareLazyRowItemsAlignment(Alignment.Top)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(0.dp, 0.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(50.dp, 0.dp)
+    }
+
+    @Test
+    fun lazyRowAlignmentBottom() {
+        prepareLazyRowItemsAlignment(Alignment.Bottom)
+
+        onNodeWithTag(firstItemTag)
+            .assertPositionInRootIsEqualTo(0.dp, 50.dp)
+
+        onNodeWithTag(secondItemTag)
+            .assertPositionInRootIsEqualTo(50.dp, 30.dp)
+    }
 }
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/BaseTextField.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/BaseTextField.kt
index c71119bc..4e446ea 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/BaseTextField.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/BaseTextField.kt
@@ -38,19 +38,19 @@
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.useOrElse
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.VisualTransformation
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.VisualTransformation
 import androidx.compose.foundation.layout.defaultMinSizeConstraints
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.foundation.text.CoreTextField
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.SoftwareKeyboardController
 import androidx.compose.foundation.text.TextFieldDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.constrain
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.constrain
 import androidx.ui.unit.dp
 
 // TODO(b/151940543): Remove this variable when we have a solution for idling animations
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/ClickableText.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/ClickableText.kt
index 5115c7b..7001b91 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/ClickableText.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/ClickableText.kt
@@ -20,11 +20,11 @@
 import androidx.ui.core.Modifier
 import androidx.ui.core.gesture.pressIndicatorGestureFilter
 import androidx.ui.core.gesture.tapGestureFilter
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextOverflow
 
 /**
  * A continent version of [Text] component to be able to handle click event on the text.
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/Text.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/Text.kt
index dece8e9..b565716 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/Text.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/Text.kt
@@ -26,18 +26,18 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.useOrElse
 import androidx.ui.semantics.text
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.foundation.text.CoreText
 import androidx.compose.foundation.text.InlineTextContent
-import androidx.ui.text.Paragraph
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.Paragraph
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.TextUnit
 
 /**
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItems.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItems.kt
index 1ab037e..aa59b8f 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItems.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItems.kt
@@ -36,6 +36,7 @@
 import androidx.compose.foundation.layout.InnerPadding
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.padding
+import androidx.ui.core.Alignment
 import androidx.ui.unit.dp
 
 /**
@@ -46,6 +47,7 @@
  * @param contentPadding convenience param to specify a padding around the whole content. This will
  * add padding for the content after it has been clipped, which is not possible via [modifier]
  * param. Note that it is *not* a padding applied for each item's content
+ * @param horizontalGravity the horizontal gravity applied to the items
  * @param itemContent emits the UI for an item from [items] list. May emit any number of components,
  * which will be stacked vertically. Note that [LazyColumnItems] can start scrolling incorrectly
  * if you emit nothing and then lazily recompose with the real content, so even if you load the
@@ -56,9 +58,17 @@
     items: List<T>,
     modifier: Modifier = Modifier,
     contentPadding: InnerPadding = InnerPadding(0.dp),
+    horizontalGravity: Alignment.Horizontal = Alignment.Start,
     itemContent: @Composable (T) -> Unit
 ) {
-    LazyItems(items, modifier, contentPadding, itemContent, isVertical = true)
+    LazyItems(
+        items = items,
+        modifier = modifier,
+        contentPadding = contentPadding,
+        horizontalGravity = horizontalGravity,
+        itemContent = itemContent,
+        isVertical = true
+    )
 }
 
 /**
@@ -69,6 +79,7 @@
  * @param contentPadding convenience param to specify a padding around the whole content. This will
  * add padding for the content after it has been clipped, which is not possible via [modifier]
  * param. Note that it is *not* a padding applied for each item's content
+ * @param verticalGravity the vertical gravity applied to the items
  * @param itemContent emits the UI for an item from [items] list. May emit any number of components,
  * which will be stacked horizontally. Note that [LazyRowItems] can start scrolling incorrectly
  * if you emit nothing and then lazily recompose with the real content, so even if you load the
@@ -79,9 +90,17 @@
     items: List<T>,
     modifier: Modifier = Modifier,
     contentPadding: InnerPadding = InnerPadding(0.dp),
+    verticalGravity: Alignment.Vertical = Alignment.Top,
     itemContent: @Composable (T) -> Unit
 ) {
-    LazyItems(items, modifier, contentPadding, itemContent, isVertical = false)
+    LazyItems(
+        items = items,
+        modifier = modifier,
+        contentPadding = contentPadding,
+        itemContent = itemContent,
+        verticalGravity = verticalGravity,
+        isVertical = false
+    )
 }
 
 @Composable
@@ -91,6 +110,8 @@
     modifier: Modifier = Modifier,
     contentPadding: InnerPadding,
     itemContent: @Composable (T) -> Unit,
+    horizontalGravity: Alignment.Horizontal = Alignment.Start,
+    verticalGravity: Alignment.Vertical = Alignment.Top,
     isVertical: Boolean
 ) {
     val state = remember { LazyItemsState<T>(isVertical = isVertical) }
@@ -100,6 +121,8 @@
     state.items = items
     state.compositionRef = compositionReference()
     state.forceRecompose = true
+    state.horizontalAlignment = horizontalGravity
+    state.verticalAlignment = verticalGravity
 
     val materialized = currentComposer.materialize(
         modifier
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemsState.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemsState.kt
index 3b759e3..06f71be 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemsState.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyItemsState.kt
@@ -22,6 +22,7 @@
 import androidx.compose.CompositionReference
 import androidx.compose.ExperimentalComposeApi
 import androidx.compose.Recomposer
+import androidx.ui.core.Alignment
 import androidx.ui.core.Constraints
 import androidx.ui.core.ExperimentalLayoutNodeApi
 import androidx.ui.core.LayoutDirection
@@ -132,6 +133,16 @@
         }
     }
 
+    /**
+     * The horizontal alignment used by [LazyColumnItems].
+     */
+    var horizontalAlignment: Alignment.Horizontal = Alignment.CenterHorizontally
+
+    /**
+     * The vertical alignment used by [LazyRowItems].
+     */
+    var verticalAlignment: Alignment.Vertical = Alignment.CenterVertically
+
     private val Placeable.mainAxisSize get() = if (isVertical) height else width
     private val Placeable.crossAxisSize get() = if (!isVertical) height else width
 
@@ -363,28 +374,29 @@
                 )
             }
 
-            // Wrap the content of the children on the cross axis
-            val layoutWidth = if (isVertical) {
-                constraints.constrainWidth(maxCrossAxis)
-            } else {
-                constraints.maxWidth
-            }
-            val layoutHeight = if (!isVertical) {
-                constraints.constrainHeight(maxCrossAxis)
-            } else {
-                constraints.maxHeight
-            }
+            // Wrap the content of the children
+            val layoutWidth = constraints.constrainWidth(
+                if (isVertical) maxCrossAxis else mainAxisUsed
+            )
+            val layoutHeight = constraints.constrainHeight(
+                if (!isVertical) maxCrossAxis else mainAxisUsed
+            )
 
             return measureScope.layout(layoutWidth, layoutHeight) {
-                val currentMainAxis = (-firstItemScrollOffset).roundToInt()
-                var x = if (isVertical) 0 else currentMainAxis
-                var y = if (!isVertical) 0 else currentMainAxis
+                var currentMainAxis = (-firstItemScrollOffset).roundToInt()
+                var currentCrossAxis: Int
+
                 rootNode.children.forEach {
-                    it.place(x = x, y = y)
                     if (isVertical) {
-                        y += it.height
+                        currentCrossAxis = horizontalAlignment
+                            .align(layoutWidth - it.width, layoutDirection)
+                        // TODO(b/160139359): use placeAbsolute once RTL is fixed
+                        it.place(currentCrossAxis, currentMainAxis)
+                        currentMainAxis += it.height
                     } else {
-                        x += it.width
+                        currentCrossAxis = verticalAlignment.align(layoutHeight - it.height)
+                        it.place(currentMainAxis, currentCrossAxis)
+                        currentMainAxis += it.width
                     }
                 }
             }
diff --git a/ui/ui-graphics/api/0.1.0-dev16.txt b/ui/ui-graphics/api/0.1.0-dev16.txt
index e014534..652ec98 100644
--- a/ui/ui-graphics/api/0.1.0-dev16.txt
+++ b/ui/ui-graphics/api/0.1.0-dev16.txt
@@ -111,6 +111,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -520,6 +524,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/api/current.txt b/ui/ui-graphics/api/current.txt
index e014534..652ec98 100644
--- a/ui/ui-graphics/api/current.txt
+++ b/ui/ui-graphics/api/current.txt
@@ -111,6 +111,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -520,6 +524,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev16.txt
index e014534..652ec98 100644
--- a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev16.txt
@@ -111,6 +111,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -520,6 +524,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/api/public_plus_experimental_current.txt b/ui/ui-graphics/api/public_plus_experimental_current.txt
index e014534..652ec98 100644
--- a/ui/ui-graphics/api/public_plus_experimental_current.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_current.txt
@@ -111,6 +111,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -520,6 +524,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/api/restricted_0.1.0-dev16.txt b/ui/ui-graphics/api/restricted_0.1.0-dev16.txt
index 3942120..5b534f2 100644
--- a/ui/ui-graphics/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-graphics/api/restricted_0.1.0-dev16.txt
@@ -143,6 +143,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -553,6 +557,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/api/restricted_current.txt b/ui/ui-graphics/api/restricted_current.txt
index 3942120..5b534f2 100644
--- a/ui/ui-graphics/api/restricted_current.txt
+++ b/ui/ui-graphics/api/restricted_current.txt
@@ -143,6 +143,10 @@
     method public static androidx.ui.graphics.Path asComposePath(android.graphics.Path);
   }
 
+  public final class AndroidPathMeasureKt {
+    method public static androidx.ui.graphics.PathMeasure PathMeasure();
+  }
+
   public final class AndroidShaderKt {
   }
 
@@ -553,6 +557,13 @@
     enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
   }
 
+  public interface PathMeasure {
+    method public float getLength();
+    method public boolean getSegment(float startDistance, float stopDistance, androidx.ui.graphics.Path path, boolean startWithMoveTo);
+    method public void setPath(androidx.ui.graphics.Path path, boolean forceClosed);
+    property public abstract float length;
+  }
+
   public enum PathOperation {
     method public static androidx.ui.graphics.PathOperation valueOf(String name) throws java.lang.IllegalArgumentException;
     method public static androidx.ui.graphics.PathOperation[] values();
diff --git a/ui/ui-graphics/src/androidMain/kotlin/androidx/ui/graphics/AndroidPathMeasure.kt b/ui/ui-graphics/src/androidMain/kotlin/androidx/ui/graphics/AndroidPathMeasure.kt
new file mode 100644
index 0000000..21003fe
--- /dev/null
+++ b/ui/ui-graphics/src/androidMain/kotlin/androidx/ui/graphics/AndroidPathMeasure.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.graphics
+
+internal class AndroidPathMeasure() : PathMeasure {
+    private val measure = android.graphics.PathMeasure()
+
+    override fun setPath(path: Path, forceClosed: Boolean) {
+        measure.setPath(path.asAndroidPath(), forceClosed)
+    }
+
+    override fun getSegment(
+        startDistance: Float,
+        stopDistance: Float,
+        path: Path,
+        startWithMoveTo: Boolean
+    ): Boolean =
+        measure.getSegment(startDistance, stopDistance, path.asAndroidPath(), startWithMoveTo)
+
+    override val length: Float
+        get() = measure.length
+}
+
+actual fun PathMeasure(): PathMeasure = AndroidPathMeasure()
\ No newline at end of file
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt b/ui/ui-graphics/src/commonMain/kotlin/androidx/ui/graphics/PathMeasure.kt
similarity index 66%
copy from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt
copy to ui/ui-graphics/src/commonMain/kotlin/androidx/ui/graphics/PathMeasure.kt
index f4ab861..3c246e0 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt
+++ b/ui/ui-graphics/src/commonMain/kotlin/androidx/ui/graphics/PathMeasure.kt
@@ -14,16 +14,17 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.ui.graphics
 
-import androidx.ui.text.font.FontFamily
-
-/**
- * A class that can be used for changing the font used in text.
- */
-interface Typeface {
-    /**
-     * The font family used for creating this Typeface
-     */
-    val fontFamily: FontFamily
+interface PathMeasure {
+    val length: Float
+    fun setPath(path: Path, forceClosed: Boolean)
+    fun getSegment(
+        startDistance: Float,
+        stopDistance: Float,
+        path: Path,
+        startWithMoveTo: Boolean
+    ): Boolean
 }
+
+expect fun PathMeasure(): PathMeasure
\ No newline at end of file
diff --git a/ui/ui-internal-lint-checks/src/main/java/androidx/ui/lint/PackageNameMigrationDetector.kt b/ui/ui-internal-lint-checks/src/main/java/androidx/ui/lint/PackageNameMigrationDetector.kt
index d2d3a09..cc931db 100644
--- a/ui/ui-internal-lint-checks/src/main/java/androidx/ui/lint/PackageNameMigrationDetector.kt
+++ b/ui/ui-internal-lint-checks/src/main/java/androidx/ui/lint/PackageNameMigrationDetector.kt
@@ -67,7 +67,10 @@
             "androidx.ui.layout" to "androidx.compose.foundation.layout",
             "androidx.animation" to "androidx.compose.animation.core",
             "androidx.ui.animation" to "androidx.compose.animation",
-            "androidx.compose.dispatch" to "androidx.compose.runtime.dispatch"
+            "androidx.compose.dispatch" to "androidx.compose.runtime.dispatch",
+            "androidx.ui.text" to "androidx.compose.ui.text",
+            "androidx.ui.input" to "androidx.compose.ui.text.input",
+            "androidx.ui.intl" to "androidx.compose.ui.text.intl"
         )
 
         val ISSUE = Issue.create(
diff --git a/ui/ui-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/TextLayoutDirectionModifierTest.kt b/ui/ui-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/TextLayoutDirectionModifierTest.kt
index 11cade4..802492b 100644
--- a/ui/ui-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/TextLayoutDirectionModifierTest.kt
+++ b/ui/ui-layout/src/androidAndroidTest/kotlin/androidx/compose/foundation/layout/TextLayoutDirectionModifierTest.kt
@@ -19,12 +19,12 @@
 import androidx.test.filters.SmallTest
 import androidx.ui.core.LayoutDirection
 import androidx.ui.core.Modifier
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.foundation.text.CoreText
 import androidx.compose.foundation.text.CoreTextField
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.TextOverflow
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-material/api/0.1.0-dev16.txt b/ui/ui-material/api/0.1.0-dev16.txt
index a017899..721b127 100644
--- a/ui/ui-material/api/0.1.0-dev16.txt
+++ b/ui/ui-material/api/0.1.0-dev16.txt
@@ -179,8 +179,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -207,12 +207,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -316,41 +316,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/api/current.txt b/ui/ui-material/api/current.txt
index a017899..721b127 100644
--- a/ui/ui-material/api/current.txt
+++ b/ui/ui-material/api/current.txt
@@ -179,8 +179,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -207,12 +207,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -316,41 +316,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-material/api/public_plus_experimental_0.1.0-dev16.txt
index a017899..721b127 100644
--- a/ui/ui-material/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-material/api/public_plus_experimental_0.1.0-dev16.txt
@@ -179,8 +179,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -207,12 +207,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -316,41 +316,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/api/public_plus_experimental_current.txt b/ui/ui-material/api/public_plus_experimental_current.txt
index a017899..721b127 100644
--- a/ui/ui-material/api/public_plus_experimental_current.txt
+++ b/ui/ui-material/api/public_plus_experimental_current.txt
@@ -179,8 +179,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -207,12 +207,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -316,41 +316,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/api/restricted_0.1.0-dev16.txt b/ui/ui-material/api/restricted_0.1.0-dev16.txt
index 1d5b4f0..0bd6bc5 100644
--- a/ui/ui-material/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-material/api/restricted_0.1.0-dev16.txt
@@ -180,8 +180,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -208,12 +208,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -317,41 +317,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/api/restricted_current.txt b/ui/ui-material/api/restricted_current.txt
index 1d5b4f0..0bd6bc5 100644
--- a/ui/ui-material/api/restricted_current.txt
+++ b/ui/ui-material/api/restricted_current.txt
@@ -180,8 +180,8 @@
   }
 
   public final class OutlinedTextFieldKt {
-    method @androidx.compose.Composable public static void OutlinedTextField-CVdlBpA(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
-    method @androidx.compose.Composable public static void OutlinedTextField-wI6llck(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-Ike-ftg(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
+    method @androidx.compose.Composable public static void OutlinedTextField-YAF2Ul0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error);
   }
 
   public final class ProgressIndicatorConstants {
@@ -208,12 +208,12 @@
   public final class RadioButtonKt {
     method @androidx.compose.Composable public static void RadioButton-mLaF0B0(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, long selectedColor = MaterialTheme.colors.secondary, long unselectedColor = RadioButtonConstants.defaultUnselectedColor, long disabledColor = RadioButtonConstants.defaultDisabledColor);
     method @Deprecated @androidx.compose.Composable public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public static void RadioGroup-HJ2D5H4(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public static void RadioGroup-pmj2ZzQ(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   @Deprecated @androidx.compose.Stable public final class RadioGroupScope {
     method @Deprecated @androidx.compose.Composable public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JJAyy3w(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.ui.text.TextStyle? textStyle = null);
+    method @Deprecated @androidx.compose.Composable public void RadioGroupTextItem-JSFNu0c(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.core.Modifier modifier = Modifier, long radioColor = MaterialTheme.colors.secondary, androidx.compose.ui.text.TextStyle? textStyle = null);
   }
 
   public final class Scaffold {
@@ -317,41 +317,41 @@
   }
 
   public final class TextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @Deprecated @androidx.compose.Composable public static void FilledTextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-Vmoa5zc(androidx.ui.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method @androidx.compose.Composable public static void TextField-o4GafH0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.ui.input.ImeAction,? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @Deprecated @androidx.compose.Composable public static void FilledTextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-M28u9F8(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method @androidx.compose.Composable public static void TextField-j88Ozi0(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function2<? super androidx.compose.ui.text.input.ImeAction,? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  _, _ ->  }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit>  long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   @androidx.compose.Immutable public final class Typography {
-    ctor public Typography(androidx.ui.text.font.FontFamily defaultFontFamily, androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle component1();
-    method public androidx.ui.text.TextStyle component10();
-    method public androidx.ui.text.TextStyle component11();
-    method public androidx.ui.text.TextStyle component12();
-    method public androidx.ui.text.TextStyle component13();
-    method public androidx.ui.text.TextStyle component2();
-    method public androidx.ui.text.TextStyle component3();
-    method public androidx.ui.text.TextStyle component4();
-    method public androidx.ui.text.TextStyle component5();
-    method public androidx.ui.text.TextStyle component6();
-    method public androidx.ui.text.TextStyle component7();
-    method public androidx.ui.text.TextStyle component8();
-    method public androidx.ui.text.TextStyle component9();
-    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
-    method public androidx.ui.text.TextStyle getBody1();
-    method public androidx.ui.text.TextStyle getBody2();
-    method public androidx.ui.text.TextStyle getButton();
-    method public androidx.ui.text.TextStyle getCaption();
-    method public androidx.ui.text.TextStyle getH1();
-    method public androidx.ui.text.TextStyle getH2();
-    method public androidx.ui.text.TextStyle getH3();
-    method public androidx.ui.text.TextStyle getH4();
-    method public androidx.ui.text.TextStyle getH5();
-    method public androidx.ui.text.TextStyle getH6();
-    method public androidx.ui.text.TextStyle getOverline();
-    method public androidx.ui.text.TextStyle getSubtitle1();
-    method public androidx.ui.text.TextStyle getSubtitle2();
+    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle component1();
+    method public androidx.compose.ui.text.TextStyle component10();
+    method public androidx.compose.ui.text.TextStyle component11();
+    method public androidx.compose.ui.text.TextStyle component12();
+    method public androidx.compose.ui.text.TextStyle component13();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public androidx.compose.ui.text.TextStyle component3();
+    method public androidx.compose.ui.text.TextStyle component4();
+    method public androidx.compose.ui.text.TextStyle component5();
+    method public androidx.compose.ui.text.TextStyle component6();
+    method public androidx.compose.ui.text.TextStyle component7();
+    method public androidx.compose.ui.text.TextStyle component8();
+    method public androidx.compose.ui.text.TextStyle component9();
+    method @androidx.compose.Immutable public androidx.ui.material.Typography copy(androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    method public androidx.compose.ui.text.TextStyle getBody1();
+    method public androidx.compose.ui.text.TextStyle getBody2();
+    method public androidx.compose.ui.text.TextStyle getButton();
+    method public androidx.compose.ui.text.TextStyle getCaption();
+    method public androidx.compose.ui.text.TextStyle getH1();
+    method public androidx.compose.ui.text.TextStyle getH2();
+    method public androidx.compose.ui.text.TextStyle getH3();
+    method public androidx.compose.ui.text.TextStyle getH4();
+    method public androidx.compose.ui.text.TextStyle getH5();
+    method public androidx.compose.ui.text.TextStyle getH6();
+    method public androidx.compose.ui.text.TextStyle getOverline();
+    method public androidx.compose.ui.text.TextStyle getSubtitle1();
+    method public androidx.compose.ui.text.TextStyle getSubtitle2();
   }
 
   public final class TypographyKt {
diff --git a/ui/ui-material/build.gradle b/ui/ui-material/build.gradle
index 8b1b759..532428b2 100644
--- a/ui/ui-material/build.gradle
+++ b/ui/ui-material/build.gradle
@@ -25,45 +25,57 @@
     id("AndroidXPlugin")
     id("com.android.library")
     id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
+    id("kotlin-multiplatform")
 }
 
 dependencies {
     kotlinPlugin project(path: ":compose:compose-compiler")
+}
 
-    implementation(KOTLIN_STDLIB)
+kotlin {
+    android()
+    sourceSets {
+        commonMain.dependencies {
+            implementation(KOTLIN_STDLIB_COMMON)
+            api project(":compose:runtime:runtime")
+            implementation project(":compose:ui:ui-util")
+            api project(":compose:ui:ui")
+            api project(":compose:foundation:foundation")
+            api project(":compose:material:material-icons-core")
+            api project(":compose:ui:ui-text")
+            api project(":compose:foundation:foundation-text")
+            api project(":compose:animation:animation-core")
 
-    api "androidx.annotation:annotation:1.1.0"
+            implementation project(":compose:foundation:foundation-layout")
+            implementation project(":compose:animation:animation")
+        }
 
-    api project(":compose:runtime:runtime")
-    implementation project(":compose:ui:ui-util")
-    api project(":compose:ui:ui")
-    api project(":compose:foundation:foundation")
-    api project(":compose:material:material-icons-core")
-    api project(":compose:ui:ui-text")
-    api project(":compose:foundation:foundation-text")
-    api project(":compose:animation:animation-core")
+        androidMain.dependencies {
+            api "androidx.annotation:annotation:1.1.0"
+        }
 
-    implementation project(":compose:foundation:foundation-layout")
-    implementation project(":compose:animation:animation")
+        test.dependencies {
+            implementation(ANDROIDX_TEST_RULES)
+            implementation(ANDROIDX_TEST_RUNNER)
+            implementation(JUNIT)
+            implementation(TRUTH)
+        }
 
-    testImplementation(ANDROIDX_TEST_RULES)
-    testImplementation(ANDROIDX_TEST_RUNNER)
-    testImplementation(JUNIT)
-    testImplementation(TRUTH)
+        androidAndroidTest.dependencies {
+            implementation project(":compose:material:material:samples")
+            implementation project(":ui:ui-test")
+            implementation project(":test-screenshot")
 
-    androidTestImplementation project(":compose:material:material:samples")
-    androidTestImplementation project(":ui:ui-test")
-    androidTestImplementation project(":test-screenshot")
-
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(JUNIT)
-    androidTestImplementation(TRUTH)
-    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation MOCKITO_KOTLIN, {
-        exclude group: 'org.mockito' // to keep control on the mockito version
+            implementation(ANDROIDX_TEST_RULES)
+            implementation(ANDROIDX_TEST_RUNNER)
+            implementation(JUNIT)
+            implementation(TRUTH)
+            implementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
+            implementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
+            implementation MOCKITO_KOTLIN, {
+                exclude group: 'org.mockito' // to keep control on the mockito version
+            }
+        }
     }
 }
 
diff --git a/ui/ui-material/icons/core/build.gradle b/ui/ui-material/icons/core/build.gradle
index 024dae1..740f4d5 100644
--- a/ui/ui-material/icons/core/build.gradle
+++ b/ui/ui-material/icons/core/build.gradle
@@ -26,16 +26,24 @@
     id("AndroidXPlugin")
     id("com.android.library")
     id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
+    id("kotlin-multiplatform")
 }
 
-dependencies {
-    implementation(KOTLIN_STDLIB)
+kotlin {
+    android()
+    sourceSets {
+        commonMain.dependencies {
+            implementation(KOTLIN_STDLIB_COMMON)
+            api project(":compose:ui:ui")
+        }
 
-    api project(":compose:ui:ui")
+        androidMain.dependencies {
+            implementation(KOTLIN_STDLIB)
+        }
+    }
 }
 
-IconGenerationTask.registerCoreIconProject(project, android)
+IconGenerationTask.registerCoreIconProject(project)
 
 androidx {
     name = "AndroidX Core Material Icons"
diff --git a/ui/ui-material/icons/core/src/main/AndroidManifest.xml b/ui/ui-material/icons/core/src/androidMain/AndroidManifest.xml
similarity index 100%
rename from ui/ui-material/icons/core/src/main/AndroidManifest.xml
rename to ui/ui-material/icons/core/src/androidMain/AndroidManifest.xml
diff --git a/ui/ui-material/icons/core/src/main/java/androidx/ui/material/icons/Icons.kt b/ui/ui-material/icons/core/src/commonMain/kotlin/androidx/ui/material/icons/Icons.kt
similarity index 100%
rename from ui/ui-material/icons/core/src/main/java/androidx/ui/material/icons/Icons.kt
rename to ui/ui-material/icons/core/src/commonMain/kotlin/androidx/ui/material/icons/Icons.kt
diff --git a/ui/ui-material/icons/extended/build.gradle b/ui/ui-material/icons/extended/build.gradle
index 8f774c6..7efed7e 100644
--- a/ui/ui-material/icons/extended/build.gradle
+++ b/ui/ui-material/icons/extended/build.gradle
@@ -26,29 +26,37 @@
     id("AndroidXPlugin")
     id("com.android.library")
     id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
+    id("kotlin-multiplatform")
 }
 
 dependencies {
     kotlinPlugin project(path: ":compose:compose-compiler")
-    implementation(KOTLIN_STDLIB)
-
-    api project(":compose:material:material-icons-core")
-    implementation project(":compose:runtime:runtime")
-
-    androidTestImplementation project(":compose:foundation:foundation")
-    androidTestImplementation project(":compose:foundation:foundation-layout")
-    androidTestImplementation project(":compose:ui:ui")
-    androidTestImplementation project(":ui:ui-test")
-    androidTestImplementation project(":test-screenshot")
-
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(JUNIT)
-    androidTestImplementation(KOTLIN_REFLECT)
-    androidTestImplementation(TRUTH)
 }
 
+kotlin {
+    android()
+    sourceSets {
+        commonMain.dependencies {
+            implementation(KOTLIN_STDLIB_COMMON)
+            api project(":compose:material:material-icons-core")
+            implementation project(":compose:runtime:runtime")
+        }
+
+        androidTest.dependencies {
+            implementation project(":compose:foundation:foundation")
+            implementation project(":compose:foundation:foundation-layout")
+            implementation project(":compose:ui:ui")
+            implementation project(":ui:ui-test")
+            implementation project(":test-screenshot")
+
+            implementation(ANDROIDX_TEST_RULES)
+            implementation(ANDROIDX_TEST_RUNNER)
+            implementation(JUNIT)
+            implementation(KOTLIN_REFLECT)
+            implementation(TRUTH)
+        }
+    }
+}
 android.buildTypes.all {
     // Jacoco hangs intermittently due to the large number of files
     testCoverageEnabled = false
diff --git a/ui/ui-material/icons/extended/src/androidTest/AndroidManifest.xml b/ui/ui-material/icons/extended/src/androidAndroidTest/AndroidManifest.xml
similarity index 100%
rename from ui/ui-material/icons/extended/src/androidTest/AndroidManifest.xml
rename to ui/ui-material/icons/extended/src/androidAndroidTest/AndroidManifest.xml
diff --git a/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt b/ui/ui-material/icons/extended/src/androidAndroidTest/kotlin/androidx/ui/material/icons/test/IconComparisonTest.kt
similarity index 98%
rename from ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt
rename to ui/ui-material/icons/extended/src/androidAndroidTest/kotlin/androidx/ui/material/icons/test/IconComparisonTest.kt
index 6fe0529..59e385d 100644
--- a/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt
+++ b/ui/ui-material/icons/extended/src/androidAndroidTest/kotlin/androidx/ui/material/icons/test/IconComparisonTest.kt
@@ -40,7 +40,7 @@
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.foundation.layout.preferredSize
 import androidx.ui.res.vectorResource
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.captureToBitmap
 import androidx.ui.test.onNodeWithTag
 import androidx.ui.test.runOnUiThread
@@ -92,7 +92,7 @@
     }
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private val matcher = MSSIMMatcher(threshold = 0.99)
 
diff --git a/ui/ui-material/icons/extended/src/androidTest/AndroidManifest.xml b/ui/ui-material/icons/extended/src/androidMain/AndroidManifest.xml
similarity index 100%
copy from ui/ui-material/icons/extended/src/androidTest/AndroidManifest.xml
copy to ui/ui-material/icons/extended/src/androidMain/AndroidManifest.xml
diff --git a/ui/ui-material/icons/extended/src/main/AndroidManifest.xml b/ui/ui-material/icons/extended/src/main/AndroidManifest.xml
deleted file mode 100644
index 88c6032..0000000
--- a/ui/ui-material/icons/extended/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2020 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-<manifest package="androidx.ui.material.icons" />
diff --git a/ui/ui-material/icons/generator/build.gradle b/ui/ui-material/icons/generator/build.gradle
index 286a7a6..9158245 100644
--- a/ui/ui-material/icons/generator/build.gradle
+++ b/ui/ui-material/icons/generator/build.gradle
@@ -30,6 +30,7 @@
 
     implementation(AGP_STABLE)
     implementation(GUAVA)
+    implementation(KOTLIN_GRADLE_PLUGIN)
     implementation(KOTLIN_STDLIB)
     implementation(KOTLINPOET)
     implementation(XMLPULL)
diff --git a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconGenerationTask.kt b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconGenerationTask.kt
index 6fe7284..d55750b 100644
--- a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconGenerationTask.kt
+++ b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconGenerationTask.kt
@@ -27,6 +27,8 @@
 import org.gradle.api.tasks.OutputDirectory
 import org.gradle.api.tasks.OutputFile
 import org.gradle.api.tasks.TaskAction
+import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
+import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
 import java.io.File
 
 /**
@@ -70,11 +72,11 @@
 
     @get:OutputDirectory
     val generatedSrcMainDirectory: File
-        get() = buildDirectory.resolve("src/main/kotlin")
+        get() = buildDirectory.resolve("src/commonMain/kotlin")
 
     @get:OutputDirectory
     val generatedSrcAndroidTestDirectory: File
-        get() = buildDirectory.resolve("src/androidTest/kotlin")
+        get() = buildDirectory.resolve("src/androidAndroidTest/kotlin")
 
     @get:OutputDirectory
     val generatedResourceDirectory: File
@@ -92,10 +94,8 @@
          * [androidx.ui.material.icons.generator.CoreIcons], and no tests.
          */
         @JvmStatic
-        fun registerCoreIconProject(project: Project, libraryExtension: LibraryExtension) {
-            libraryExtension.libraryVariants.all { variant ->
-                CoreIconGenerationTask.register(project, variant)
-            }
+        fun registerCoreIconProject(project: Project) {
+            CoreIconGenerationTask.register(project)
         }
 
         /**
@@ -105,9 +105,7 @@
          */
         @JvmStatic
         fun registerExtendedIconProject(project: Project, libraryExtension: LibraryExtension) {
-            libraryExtension.libraryVariants.all { variant ->
-                ExtendedIconGenerationTask.register(project, variant)
-            }
+            ExtendedIconGenerationTask.register(project)
 
             libraryExtension.testVariants.all { variant ->
                 IconTestingGenerationTask.register(project, variant)
@@ -123,14 +121,28 @@
  * Registers a new [T] in [this], and sets [IconGenerationTask.buildDirectory] depending on
  * [variant].
  *
+ * @param variant the [BaseVariant] to associate this task with, or `null` if this task does not
+ * change between variants.
  * @return the created [T] of [IconGenerationTask]
  */
+@Suppress("DefaultLocale")
 fun <T : IconGenerationTask> Project.createGenerationTask(
     taskName: String,
-    variant: BaseVariant,
-    taskClass: Class<T>
+    taskClass: Class<T>,
+    variant: BaseVariant? = null
 ): T {
-    return tasks.create("$taskName${variant.name.capitalize()}", taskClass) {
-        it.buildDirectory = project.buildDir.resolve("generatedIcons/${variant.name}")
+    val variantName = variant?.name ?: "allVariants"
+    return tasks.create("$taskName${variantName.capitalize()}", taskClass) {
+        it.buildDirectory = project.buildDir.resolve("generatedIcons/$variantName")
     }
 }
+
+fun Project.getMultiplatformSourceSet(name: String): KotlinSourceSet {
+    val sourceSet = project.multiplatformExtension!!.sourceSets.find { it.name == name }
+    return requireNotNull(sourceSet) {
+        "No source sets found matching $name"
+    }
+}
+
+private val Project.multiplatformExtension
+    get() = extensions.findByType(KotlinMultiplatformExtension::class.java)
diff --git a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconSourceTasks.kt b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconSourceTasks.kt
index 2601163..439a7dc 100644
--- a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconSourceTasks.kt
+++ b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconSourceTasks.kt
@@ -18,8 +18,8 @@
 
 import androidx.ui.material.icons.generator.CoreIcons
 import androidx.ui.material.icons.generator.IconWriter
-import com.android.build.gradle.api.BaseVariant
 import org.gradle.api.Project
+import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
 
 /**
  * Task responsible for converting core icons from xml to a programmatic representation.
@@ -30,15 +30,14 @@
 
     companion object {
         /**
-         * Registers [CoreIconGenerationTask] in [project] for [variant].
+         * Registers [CoreIconGenerationTask] in [project].
          */
-        fun register(project: Project, variant: BaseVariant) {
+        fun register(project: Project) {
             val task = project.createGenerationTask(
                 "generateCoreIcons",
-                variant,
                 CoreIconGenerationTask::class.java
             )
-            variant.registerIconGenerationTask(project, task)
+            registerIconGenerationTask(project, task)
         }
     }
 }
@@ -52,28 +51,25 @@
 
     companion object {
         /**
-         * Registers [ExtendedIconGenerationTask] in [project] for [variant].
+         * Registers [ExtendedIconGenerationTask] in [project].
          */
-        fun register(project: Project, variant: BaseVariant) {
+        fun register(project: Project) {
             val task = project.createGenerationTask(
                 "generateExtendedIcons",
-                variant,
                 ExtendedIconGenerationTask::class.java
             )
-            variant.registerIconGenerationTask(project, task)
+            registerIconGenerationTask(project, task)
         }
     }
 }
 
 /**
- * Helper to register [task] as the java source generating task for [project].
+ * Helper to register [task] as the Kotlin source generating task for [project].
  */
-private fun BaseVariant.registerIconGenerationTask(
+private fun registerIconGenerationTask(
     project: Project,
     task: IconGenerationTask
 ) {
-    registerJavaGeneratingTask(task, task.generatedSrcMainDirectory)
-    // TODO: b/144249620 - fixed in AGP 4.0.0 alpha 4 +
-    javaCompileProvider.configure { it.enabled = false }
-    project.tasks.named("runErrorProne").configure { it.enabled = false }
+    val sourceSet = project.getMultiplatformSourceSet(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
+    sourceSet.kotlin.srcDir(project.files(task.generatedSrcMainDirectory).builtBy(task))
 }
diff --git a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconTestingGenerationTask.kt b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconTestingGenerationTask.kt
index ac01c44..3227b371 100644
--- a/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconTestingGenerationTask.kt
+++ b/ui/ui-material/icons/generator/src/main/kotlin/androidx/ui/material/icons/generator/tasks/IconTestingGenerationTask.kt
@@ -58,13 +58,15 @@
         fun register(project: Project, variant: BaseVariant) {
             val task = project.createGenerationTask(
                 "generateTestFiles",
-                variant,
-                IconTestingGenerationTask::class.java
+                IconTestingGenerationTask::class.java,
+                variant
             )
             variant.registerGeneratedResFolders(
                 project.files(task.generatedResourceDirectory).builtBy(task)
             )
-            variant.registerJavaGeneratingTask(task, task.generatedSrcAndroidTestDirectory)
+            val sourceSet = project.getMultiplatformSourceSet("androidAndroidTest")
+            sourceSet.kotlin
+                .srcDir(project.files(task.generatedSrcAndroidTestDirectory).builtBy(task))
         }
     }
 }
diff --git a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
index e87714c..14a55c26 100644
--- a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
+++ b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
@@ -67,7 +67,7 @@
 import androidx.compose.foundation.layout.preferredSize
 import androidx.ui.material.Surface
 import androidx.ui.material.TopAppBar
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 import java.util.Locale
diff --git a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyTheme.kt b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyTheme.kt
index 60abbdf..9559556 100644
--- a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyTheme.kt
+++ b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyTheme.kt
@@ -21,9 +21,9 @@
 import androidx.ui.material.MaterialTheme
 import androidx.ui.material.Typography
 import androidx.ui.material.darkColorPalette
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontWeight
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
 
diff --git a/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/TextFieldSamples.kt b/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/TextFieldSamples.kt
index 219475a..997703a 100644
--- a/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/TextFieldSamples.kt
+++ b/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/TextFieldSamples.kt
@@ -23,10 +23,10 @@
 import androidx.ui.core.Modifier
 import androidx.compose.foundation.Icon
 import androidx.compose.foundation.Text
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.PasswordVisualTransformation
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PasswordVisualTransformation
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.padding
 import androidx.ui.material.EmphasisAmbient
@@ -37,7 +37,7 @@
 import androidx.ui.material.icons.filled.Favorite
 import androidx.ui.material.icons.filled.Info
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import androidx.ui.unit.dp
 
 @Sampled
diff --git a/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/ThemeSamples.kt b/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/ThemeSamples.kt
index 4b024a9..b20ea3c 100644
--- a/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/ThemeSamples.kt
+++ b/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/ThemeSamples.kt
@@ -31,8 +31,8 @@
 import androidx.ui.material.Typography
 import androidx.ui.material.darkColorPalette
 import androidx.ui.material.lightColorPalette
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontWeight
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontWeight
 import androidx.ui.unit.sp
 
 @Sampled
diff --git a/ui/ui-material/src/androidTest/AndroidManifest.xml b/ui/ui-material/src/androidAndroidTest/AndroidManifest.xml
similarity index 100%
rename from ui/ui-material/src/androidTest/AndroidManifest.xml
rename to ui/ui-material/src/androidAndroidTest/AndroidManifest.xml
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/AppBarTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/AppBarTest.kt
similarity index 99%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/AppBarTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/AppBarTest.kt
index 8186454..d916385 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/AppBarTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/AppBarTest.kt
@@ -34,7 +34,7 @@
 import androidx.ui.test.onNodeWithTag
 import androidx.ui.test.onNodeWithText
 import androidx.ui.test.getBoundsInRoot
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 import androidx.ui.unit.height
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/BottomNavigationTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/BottomNavigationTest.kt
similarity index 97%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/BottomNavigationTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/BottomNavigationTest.kt
index d251ad6..a2adcda 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/BottomNavigationTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/BottomNavigationTest.kt
@@ -32,7 +32,7 @@
 import androidx.ui.test.assertIsEqualTo
 import androidx.ui.test.assertIsNotDisplayed
 import androidx.ui.test.assertIsSelected
-import androidx.ui.test.assertIsUnselected
+import androidx.ui.test.assertIsNotSelected
 import androidx.ui.test.assertLeftPositionInRootIsEqualTo
 import androidx.ui.test.assertTopPositionInRootIsEqualTo
 import androidx.ui.test.createComposeRule
@@ -233,16 +233,16 @@
             // Ensure semantics match for selected state of the items
             .apply {
                 get(0).assertIsSelected()
-                get(1).assertIsUnselected()
-                get(2).assertIsUnselected()
+                get(1).assertIsNotSelected()
+                get(2).assertIsNotSelected()
             }
             // Click the last item
             .apply {
                 get(2).performClick()
             }
             .apply {
-                get(0).assertIsUnselected()
-                get(1).assertIsUnselected()
+                get(0).assertIsNotSelected()
+                get(1).assertIsNotSelected()
                 get(2).assertIsSelected()
             }
     }
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ButtonScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ButtonScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ButtonTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ButtonTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CardTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/CardTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CardTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CheckboxScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CheckboxScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxUiTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CheckboxUiTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/CheckboxUiTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/CheckboxUiTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/DividerUiTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DividerUiTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/DividerUiTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DividerUiTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/DrawerScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DrawerScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/DrawerScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DrawerScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/DrawerTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DrawerTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/DrawerTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/DrawerTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ElevationOverlayTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ElevationOverlayTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ElevationOverlayTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ElevationOverlayTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/EmphasisTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/EmphasisTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/EmphasisTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/EmphasisTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/FloatingActionButtonTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/FloatingActionButtonTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/FloatingActionButtonTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/FloatingActionButtonTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/GoldenCommon.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/GoldenCommon.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/GoldenCommon.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/GoldenCommon.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/IconButtonTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/IconButtonTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/IconButtonTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/IconButtonTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/IconTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/IconTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/IconTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/IconTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ListItemTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ListItemTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ListItemTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ListItemTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/MaterialTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/MaterialTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/MaterialTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/MaterialTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/MenuTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/MenuTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/MenuTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/MenuTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ProgressIndicatorTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ProgressIndicatorTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/RadioButtonScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/RadioButtonScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/RadioButtonTest.kt
similarity index 98%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/RadioButtonTest.kt
index 7e61b92..f1875ad 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/RadioButtonTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/RadioButtonTest.kt
@@ -25,7 +25,7 @@
 import androidx.ui.test.SemanticsNodeInteraction
 import androidx.ui.test.assertIsInMutuallyExclusiveGroup
 import androidx.ui.test.assertIsSelected
-import androidx.ui.test.assertIsUnselected
+import androidx.ui.test.assertIsNotSelected
 import androidx.ui.test.assertValueEquals
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.performClick
@@ -54,7 +54,7 @@
 
     private fun SemanticsNodeInteraction.assertHasUnSelectedSemantics(): SemanticsNodeInteraction =
         assertIsInMutuallyExclusiveGroup()
-            .assertIsUnselected()
+            .assertIsNotSelected()
             .assertValueEquals(Strings.NotSelected)
 
     private val options = listOf(itemOne, itemTwo, itemThree)
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ScaffoldTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ScaffoldTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ScaffoldTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SliderTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SliderTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SliderTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SliderTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SnackbarTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SnackbarTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceContentColorTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SurfaceContentColorTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceContentColorTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SurfaceContentColorTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SurfaceTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SurfaceTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SurfaceTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SwitchScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SwitchScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SwitchScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SwitchScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/SwitchTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SwitchTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/SwitchTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/SwitchTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/TabTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/TabTest.kt
similarity index 96%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/TabTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/TabTest.kt
index 59b5277..2ce3ec9 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/TabTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/TabTest.kt
@@ -37,7 +37,7 @@
 import androidx.ui.test.assertHeightIsEqualTo
 import androidx.ui.test.assertIsEqualTo
 import androidx.ui.test.assertIsSelected
-import androidx.ui.test.assertIsUnselected
+import androidx.ui.test.assertIsNotSelected
 import androidx.ui.test.assertPositionInRootIsEqualTo
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.performClick
@@ -337,8 +337,8 @@
             .assertCountEquals(3)
             .apply {
                 get(0).assertIsSelected()
-                get(1).assertIsUnselected()
-                get(2).assertIsUnselected()
+                get(1).assertIsNotSelected()
+                get(2).assertIsNotSelected()
             }
     }
 
@@ -354,8 +354,8 @@
             .assertCountEquals(3)
             .apply {
                 get(0).assertIsSelected()
-                get(1).assertIsUnselected()
-                get(2).assertIsUnselected()
+                get(1).assertIsNotSelected()
+                get(2).assertIsNotSelected()
             }
 
         // Click the last tab
@@ -365,8 +365,8 @@
         onAllNodes(isInMutuallyExclusiveGroup())
             .assertCountEquals(3)
             .apply {
-                get(0).assertIsUnselected()
-                get(1).assertIsUnselected()
+                get(0).assertIsNotSelected()
+                get(1).assertIsNotSelected()
                 get(2).assertIsSelected()
             }
     }
@@ -384,7 +384,7 @@
             .apply {
                 get(0).assertIsSelected()
                 (1..9).forEach {
-                    get(it).assertIsUnselected()
+                    get(it).assertIsNotSelected()
                 }
             }
     }
@@ -402,7 +402,7 @@
             .apply {
                 get(0).assertIsSelected()
                 (1..9).forEach {
-                    get(it).assertIsUnselected()
+                    get(it).assertIsNotSelected()
                 }
             }
 
@@ -413,10 +413,10 @@
         onAllNodes(isInMutuallyExclusiveGroup())
             .assertCountEquals(10)
             .apply {
-                get(0).assertIsUnselected()
+                get(0).assertIsNotSelected()
                 get(1).assertIsSelected()
                 (2..9).forEach {
-                    get(it).assertIsUnselected()
+                    get(it).assertIsNotSelected()
                 }
             }
     }
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ripple/RippleIndicationTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/ripple/RippleIndicationTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/ripple/RippleIndicationTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/FilledTextFieldTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/FilledTextFieldTest.kt
similarity index 98%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/FilledTextFieldTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/FilledTextFieldTest.kt
index 53d24f6..2d4f047 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/FilledTextFieldTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/FilledTextFieldTest.kt
@@ -36,11 +36,11 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.RectangleShape
 import androidx.ui.graphics.compositeOver
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.PasswordVisualTransformation
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PasswordVisualTransformation
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.TextInputService
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.foundation.layout.height
@@ -63,7 +63,7 @@
 import androidx.ui.test.performImeAction
 import androidx.ui.test.waitForIdle
 import androidx.compose.foundation.text.FirstBaseline
-import androidx.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.SoftwareKeyboardController
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/OutlinedTextFieldTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/OutlinedTextFieldTest.kt
similarity index 98%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/OutlinedTextFieldTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/OutlinedTextFieldTest.kt
index f367ca5..4c79754 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/OutlinedTextFieldTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/OutlinedTextFieldTest.kt
@@ -35,11 +35,11 @@
 import androidx.ui.geometry.Offset
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.RectangleShape
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.PasswordVisualTransformation
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PasswordVisualTransformation
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.TextInputService
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.preferredSize
 import androidx.compose.foundation.layout.preferredWidth
@@ -57,7 +57,7 @@
 import androidx.ui.test.click
 import androidx.ui.test.performImeAction
 import androidx.ui.test.waitForIdle
-import androidx.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.SoftwareKeyboardController
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.dp
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
similarity index 100%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/TextFieldScreenshotTest.kt
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldTest.kt b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/TextFieldTest.kt
similarity index 98%
rename from ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldTest.kt
rename to ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/TextFieldTest.kt
index ebe9a71..fce5dff 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/textfield/TextFieldTest.kt
+++ b/ui/ui-material/src/androidAndroidTest/kotlin/androidx/ui/material/textfield/TextFieldTest.kt
@@ -26,7 +26,7 @@
 import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.background
 import androidx.ui.graphics.Color
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.Stack
 import androidx.compose.foundation.layout.preferredSize
 import androidx.ui.material.TextFieldScroller
diff --git a/ui/ui-material/src/main/AndroidManifest.xml b/ui/ui-material/src/androidMain/AndroidManifest.xml
similarity index 100%
rename from ui/ui-material/src/main/AndroidManifest.xml
rename to ui/ui-material/src/androidMain/AndroidManifest.xml
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/AlertDialog.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/AlertDialog.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/AlertDialog.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/AlertDialog.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/AppBar.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/AppBar.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/AppBar.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/BottomNavigation.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/BottomNavigation.kt
similarity index 98%
rename from ui/ui-material/src/main/java/androidx/ui/material/BottomNavigation.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/BottomNavigation.kt
index 5f0444b..c6b91f3 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/BottomNavigation.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/BottomNavigation.kt
@@ -19,7 +19,6 @@
 import androidx.compose.animation.core.VectorizedAnimationSpec
 import androidx.compose.animation.core.FastOutSlowInEasing
 import androidx.compose.animation.core.TweenSpec
-import androidx.annotation.FloatRange
 import androidx.compose.Composable
 import androidx.compose.Providers
 import androidx.compose.emptyContent
@@ -46,9 +45,10 @@
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.preferredHeight
 import androidx.compose.foundation.text.LastBaseline
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
+import androidx.ui.util.annotation.FloatRange
 import kotlin.math.max
 import kotlin.math.roundToInt
 
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Button.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Button.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Button.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Button.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Card.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Card.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Card.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Card.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Checkbox.kt
similarity index 97%
rename from ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Checkbox.kt
index f432076b..e60365185 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Checkbox.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.material
 
-import android.graphics.PathMeasure
 import androidx.compose.animation.core.FloatPropKey
 import androidx.compose.animation.core.TransitionSpec
 import androidx.compose.animation.core.keyframes
@@ -38,8 +37,8 @@
 import androidx.ui.geometry.Size
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Path
+import androidx.ui.graphics.PathMeasure
 import androidx.ui.graphics.StrokeCap
-import androidx.ui.graphics.asAndroidPath
 import androidx.ui.graphics.drawscope.DrawScope
 import androidx.ui.graphics.drawscope.Fill
 import androidx.ui.graphics.drawscope.Stroke
@@ -251,10 +250,10 @@
         checkPath.lineTo(width * gravitatedCrossX, width * gravitatedCrossY)
         checkPath.lineTo(width * rightX, width * gravitatedRightY)
         // TODO: replace with proper declarative non-android alternative when ready (b/158188351)
-        pathMeasure.setPath(checkPath.asAndroidPath(), false)
+        pathMeasure.setPath(checkPath, false)
         pathToDraw.reset()
         pathMeasure.getSegment(
-            0f, pathMeasure.length * checkFraction, pathToDraw.asAndroidPath(), true
+            0f, pathMeasure.length * checkFraction, pathToDraw, true
         )
     }
     drawPath(drawingCache.pathToDraw, checkColor, style = stroke)
@@ -279,7 +278,7 @@
 private val CheckAnimationDuration = 100
 
 private fun generateTransitionDefinition(color: Color, unselectedColor: Color) =
-    transitionDefinition {
+    transitionDefinition<ToggleableState> {
         state(ToggleableState.On) {
             this[CheckDrawFraction] = 1f
             this[BoxOpacityFraction] = 1f
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Color.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Color.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Color.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Color.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Divider.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Divider.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Divider.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Divider.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Drawer.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Drawer.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Emphasis.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Emphasis.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/Emphasis.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Emphasis.kt
index b93a46f..7f93d56 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Emphasis.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Emphasis.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.material
 
-import androidx.annotation.FloatRange
 import androidx.compose.Ambient
 import androidx.compose.Composable
 import androidx.compose.Immutable
@@ -26,6 +25,7 @@
 import androidx.compose.foundation.contentColor
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.luminance
+import androidx.ui.util.annotation.FloatRange
 
 /**
  * Emphasis allows certain parts of a component to be accentuated, or shown with lower contrast
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ExperimentalMaterialApi.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ExperimentalMaterialApi.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/ExperimentalMaterialApi.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ExperimentalMaterialApi.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/FloatingActionButton.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/FloatingActionButton.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/IconButton.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/IconButton.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/IconButton.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/IconButton.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ListItem.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ListItem.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/ListItem.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ListItem.kt
index 0e9765a..13e0125 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/ListItem.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ListItem.kt
@@ -37,8 +37,8 @@
 import androidx.ui.material.ripple.RippleIndication
 import androidx.compose.foundation.text.FirstBaseline
 import androidx.compose.foundation.text.LastBaseline
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Dp
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.dp
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/MaterialTheme.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/MaterialTheme.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/MaterialTheme.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/MaterialTheme.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Menu.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Menu.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Menu.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Menu.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/OutlinedTextField.kt
similarity index 97%
rename from ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/OutlinedTextField.kt
index 050e4ac..1234f13 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/OutlinedTextField.kt
@@ -46,15 +46,15 @@
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.RectangleShape
 import androidx.ui.graphics.drawscope.Stroke
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.VisualTransformation
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.VisualTransformation
 import androidx.compose.foundation.layout.padding
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.SoftwareKeyboardController
-import androidx.ui.text.TextStyle
-import androidx.ui.text.constrain
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.constrain
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 import kotlin.math.max
@@ -89,7 +89,7 @@
  * @param isErrorValue indicates if the text field's current value is in error. If set to true, the
  * label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
@@ -205,7 +205,7 @@
  * @param isErrorValue indicates if the text field's current value is in error state. If set to
  * true, the label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ProgressIndicator.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ProgressIndicator.kt
index 183f295..34ce6c4 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ProgressIndicator.kt
@@ -25,7 +25,6 @@
 import androidx.compose.animation.core.repeatable
 import androidx.compose.animation.core.transitionDefinition
 import androidx.compose.animation.core.tween
-import androidx.annotation.FloatRange
 import androidx.compose.Composable
 import androidx.compose.animation.transition
 import androidx.ui.core.DensityAmbient
@@ -47,6 +46,7 @@
 import androidx.ui.semantics.accessibilityValue
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
+import androidx.ui.util.annotation.FloatRange
 import kotlin.math.abs
 import kotlin.math.max
 
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/RadioButton.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/RadioButton.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/RadioButton.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/RadioButton.kt
index a5caff4..7969a0f 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/RadioButton.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/RadioButton.kt
@@ -41,7 +41,7 @@
 import androidx.compose.foundation.layout.size
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.ui.material.ripple.RippleIndication
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Scaffold.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Scaffold.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Scaffold.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Scaffold.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Shapes.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Shapes.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Shapes.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Shapes.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Slider.kt
similarity index 98%
rename from ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Slider.kt
index a30dfda..6d9b74d 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Slider.kt
@@ -16,13 +16,11 @@
 
 package androidx.ui.material
 
-import android.annotation.SuppressLint
 import androidx.compose.animation.core.AnimatedFloat
 import androidx.compose.animation.core.AnimationClockObservable
 import androidx.compose.animation.core.AnimationEndReason
 import androidx.compose.animation.core.TargetAnimation
 import androidx.compose.animation.core.TweenSpec
-import androidx.annotation.IntRange
 import androidx.compose.Composable
 import androidx.compose.remember
 import androidx.compose.animation.asDisposableClock
@@ -66,7 +64,9 @@
 import androidx.ui.semantics.scrollForward
 import androidx.ui.semantics.setProgress
 import androidx.ui.unit.dp
+import androidx.ui.util.format
 import androidx.ui.util.lerp
+import androidx.ui.util.annotation.IntRange
 import kotlin.math.abs
 import kotlin.math.roundToInt
 
@@ -428,7 +428,7 @@
     internal var anchorsPx: List<Float> = emptyList()
         private set
 
-    @SuppressLint("UnnecessaryLambdaCreation")
+    @Suppress("UnnecessaryLambdaCreation")
     internal val holder =
         CallbackBasedAnimatedFloat(
             scale(startValue, endValue, initial, startPx, endPx),
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Snackbar.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Snackbar.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Snackbar.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Snackbar.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Surface.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Surface.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/Surface.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Surface.kt
index c09b7a1..30dbfca 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Surface.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Surface.kt
@@ -34,7 +34,7 @@
 import androidx.ui.graphics.RectangleShape
 import androidx.ui.graphics.Shape
 import androidx.ui.graphics.compositeOver
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 import kotlin.math.ln
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Switch.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Switch.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/Switch.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Switch.kt
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Tab.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/Tab.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Tab.kt
index d165bac..bee5d43 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Tab.kt
@@ -62,7 +62,7 @@
 import androidx.ui.material.TabRow.TabPosition
 import androidx.compose.foundation.text.FirstBaseline
 import androidx.compose.foundation.text.LastBaseline
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.Density
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextField.kt
similarity index 97%
rename from ui/ui-material/src/main/java/androidx/ui/material/TextField.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextField.kt
index de79d74..35fecec 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextField.kt
@@ -37,16 +37,16 @@
 import androidx.ui.geometry.Offset
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shape
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.VisualTransformation
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.VisualTransformation
 import androidx.compose.foundation.layout.padding
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import androidx.compose.foundation.text.LastBaseline
-import androidx.ui.text.SoftwareKeyboardController
-import androidx.ui.text.TextStyle
-import androidx.ui.text.constrain
+import androidx.compose.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.constrain
 import androidx.ui.unit.Dp
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.dp
@@ -108,7 +108,7 @@
  * @param isErrorValue indicates if the text field's current value is in error. If set to true, the
  * label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
@@ -253,7 +253,7 @@
  * @param isErrorValue indicates if the text field's current value is in error. If set to true, the
  * label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
@@ -387,7 +387,7 @@
  * @param isErrorValue indicates if the text field's current value is in error state. If set to
  * true, the label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
@@ -494,7 +494,7 @@
  * @param isErrorValue indicates if the text field's current value is in error. If set to true, the
  * label, bottom indicator and trailing icon will be displayed in [errorColor] color
  * @param visualTransformation transforms the visual representation of the input [value].
- * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * For example, you can use [androidx.compose.ui.text.input.PasswordVisualTransformation] to create a password
  * text field. By default no visual transformation is applied
  * @param keyboardType the keyboard type to be used with the text field.
  * Note that the input type is not guaranteed. For example, an IME may send a non-ASCII character
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextFieldImpl.kt
similarity index 97%
rename from ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextFieldImpl.kt
index e33db4a..dae7b49 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/TextFieldImpl.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/TextFieldImpl.kt
@@ -23,7 +23,6 @@
 import androidx.compose.animation.core.TransitionSpec
 import androidx.compose.animation.core.transitionDefinition
 import androidx.compose.animation.core.tween
-import androidx.annotation.VisibleForTesting
 import androidx.compose.Composable
 import androidx.compose.Providers
 import androidx.compose.Stable
@@ -61,20 +60,21 @@
 import androidx.compose.foundation.gestures.scrollable
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shape
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.VisualTransformation
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.VisualTransformation
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.preferredSizeIn
 import androidx.ui.material.ripple.RippleIndication
 import androidx.compose.runtime.savedinstancestate.Saver
 import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
-import androidx.ui.text.SoftwareKeyboardController
-import androidx.ui.text.TextStyle
-import androidx.ui.text.lerp
+import androidx.compose.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.lerp
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
+import androidx.ui.util.annotation.VisibleForTesting
 import kotlin.math.min
 import kotlin.math.roundToInt
 
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Typography.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Typography.kt
similarity index 98%
rename from ui/ui-material/src/main/java/androidx/ui/material/Typography.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Typography.kt
index 8eb265e..35bcec7 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Typography.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/Typography.kt
@@ -18,9 +18,9 @@
 
 import androidx.compose.Immutable
 import androidx.compose.staticAmbientOf
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontWeight
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
 import androidx.ui.unit.sp
 
 /**
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/internal/StateDraggable.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/internal/StateDraggable.kt
index bf8202c..6f16100 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/internal/StateDraggable.kt
@@ -24,7 +24,6 @@
 import androidx.compose.animation.core.OnAnimationEnd
 import androidx.compose.animation.core.Spring
 import androidx.compose.animation.core.TargetAnimation
-import androidx.annotation.FloatRange
 import androidx.compose.onCommit
 import androidx.compose.remember
 import androidx.compose.state
@@ -39,6 +38,7 @@
 import androidx.compose.foundation.gestures.draggable
 import androidx.ui.util.fastFirstOrNull
 import androidx.ui.util.lerp
+import androidx.ui.util.annotation.FloatRange
 import kotlin.math.sign
 
 /**
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleAnimation.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleAnimation.kt
similarity index 99%
rename from ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleAnimation.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleAnimation.kt
index 87cafc5..39c7803 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleAnimation.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleAnimation.kt
@@ -158,7 +158,7 @@
         endRadius: Float,
         startCenter: Offset,
         endCenter: Offset
-    ) = transitionDefinition {
+    ) = transitionDefinition<State> {
         state(State.Initial) {
             this[Alpha] = 0f
             this[Radius] = startRadius
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleIndication.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleIndication.kt
similarity index 98%
rename from ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleIndication.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleIndication.kt
index efa3282..4dfcd78 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleIndication.kt
+++ b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleIndication.kt
@@ -45,6 +45,7 @@
 import androidx.ui.material.MaterialTheme
 import androidx.ui.unit.Dp
 import androidx.ui.util.fastForEach
+import androidx.ui.util.nativeClass
 
 /**
  * Material implementation of [IndicationInstance] that expresses indication via ripples. This
@@ -118,7 +119,7 @@
     // making this class to be "data class"
     override fun equals(other: Any?): Boolean {
         if (this === other) return true
-        if (javaClass != other?.javaClass) return false
+        if (this.nativeClass() != other?.nativeClass()) return false
 
         other as RippleIndication
 
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleTheme.kt b/ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleTheme.kt
similarity index 100%
rename from ui/ui-material/src/main/java/androidx/ui/material/ripple/RippleTheme.kt
rename to ui/ui-material/src/commonMain/kotlin/androidx/ui/material/ripple/RippleTheme.kt
diff --git a/ui/ui-material/src/test/java/androidx/ui/material/BottomAppBarRoundedEdgesTest.kt b/ui/ui-material/src/test/kotlin/androidx/ui/material/BottomAppBarRoundedEdgesTest.kt
similarity index 100%
rename from ui/ui-material/src/test/java/androidx/ui/material/BottomAppBarRoundedEdgesTest.kt
rename to ui/ui-material/src/test/kotlin/androidx/ui/material/BottomAppBarRoundedEdgesTest.kt
diff --git a/ui/ui-material/src/test/java/androidx/ui/material/ripple/RippleAnimationTest.kt b/ui/ui-material/src/test/kotlin/androidx/ui/material/ripple/RippleAnimationTest.kt
similarity index 100%
rename from ui/ui-material/src/test/java/androidx/ui/material/ripple/RippleAnimationTest.kt
rename to ui/ui-material/src/test/kotlin/androidx/ui/material/ripple/RippleAnimationTest.kt
diff --git a/ui/ui-test-font/src/main/AndroidManifest.xml b/ui/ui-test-font/src/main/AndroidManifest.xml
index f6cc38b..2751a04 100644
--- a/ui/ui-test-font/src/main/AndroidManifest.xml
+++ b/ui/ui-test-font/src/main/AndroidManifest.xml
@@ -14,5 +14,5 @@
      limitations under the License.
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.ui.text.font.test">
+    package="androidx.compose.ui.text.font.test">
 </manifest>
diff --git a/ui/ui-test/api/0.1.0-dev16.txt b/ui/ui-test/api/0.1.0-dev16.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/0.1.0-dev16.txt
+++ b/ui/ui-test/api/0.1.0-dev16.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/api/api_lint.ignore b/ui/ui-test/api/api_lint.ignore
index 9ed2298..27ce4b5 100644
--- a/ui/ui-test/api/api_lint.ignore
+++ b/ui/ui-test/api/api_lint.ignore
@@ -1,3 +1,5 @@
 // Baseline format: 1.0
-MissingNullability: androidx.ui.test.android.AndroidComposeTestRuleKt#AndroidComposeTestRule(androidx.compose.Recomposer, boolean, boolean):
+MissingNullability: androidx.ui.test.android.AndroidComposeTestRuleKt#AndroidComposeTestRule(boolean, boolean):
     Missing nullability on method `AndroidComposeTestRule` return
+MissingNullability: androidx.ui.test.android.AndroidComposeTestRuleKt#createAndroidComposeRule(boolean, boolean):
+    Missing nullability on method `createAndroidComposeRule` return
diff --git a/ui/ui-test/api/current.txt b/ui/ui-test/api/current.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/current.txt
+++ b/ui/ui-test/api/current.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-test/api/public_plus_experimental_0.1.0-dev16.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-test/api/public_plus_experimental_0.1.0-dev16.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/api/public_plus_experimental_current.txt b/ui/ui-test/api/public_plus_experimental_current.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/public_plus_experimental_current.txt
+++ b/ui/ui-test/api/public_plus_experimental_current.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/api/restricted_0.1.0-dev16.txt b/ui/ui-test/api/restricted_0.1.0-dev16.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-test/api/restricted_0.1.0-dev16.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/api/restricted_current.txt b/ui/ui-test/api/restricted_current.txt
index fff9759..9dd52b4 100644
--- a/ui/ui-test/api/restricted_current.txt
+++ b/ui/ui-test/api/restricted_current.txt
@@ -42,12 +42,12 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
-    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
@@ -146,7 +146,7 @@
   }
 
   public final class ComposeTestRuleKt {
-    method public static androidx.ui.test.ComposeTestRule createComposeRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class DisableTransitions implements org.junit.rules.TestRule {
@@ -171,7 +171,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasAnyDescendant(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasAnySibling(androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsMatcher hasClickAction();
-    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.ui.input.ImeAction actionType);
+    method public static androidx.ui.test.SemanticsMatcher hasImeAction(androidx.compose.ui.text.input.ImeAction actionType);
     method public static androidx.ui.test.SemanticsMatcher hasInputMethodsSupport();
     method public static androidx.ui.test.SemanticsMatcher hasLabel(String label, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
@@ -185,10 +185,13 @@
     method public static androidx.ui.test.SemanticsMatcher hasValue(String value);
     method public static androidx.ui.test.SemanticsMatcher isDialog();
     method public static androidx.ui.test.SemanticsMatcher isEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isFocused();
     method public static androidx.ui.test.SemanticsMatcher isHidden();
     method public static androidx.ui.test.SemanticsMatcher isInMutuallyExclusiveGroup();
     method public static androidx.ui.test.SemanticsMatcher isNotEnabled();
+    method public static androidx.ui.test.SemanticsMatcher isNotFocused();
     method public static androidx.ui.test.SemanticsMatcher isNotHidden();
+    method public static androidx.ui.test.SemanticsMatcher isNotSelected();
     method public static androidx.ui.test.SemanticsMatcher isOff();
     method public static androidx.ui.test.SemanticsMatcher isOn();
     method public static androidx.ui.test.SemanticsMatcher isPopup();
@@ -196,7 +199,6 @@
     method public static androidx.ui.test.SemanticsMatcher isSelectable();
     method public static androidx.ui.test.SemanticsMatcher isSelected();
     method public static androidx.ui.test.SemanticsMatcher isToggleable();
-    method public static androidx.ui.test.SemanticsMatcher isUnselected();
   }
 
   public final class FindersKt {
@@ -408,14 +410,13 @@
   }
 
   public final class AndroidComposeTestRule<T extends androidx.activity.ComponentActivity> implements androidx.ui.test.ComposeTestRule {
-    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, androidx.compose.Recomposer? recomposer, boolean disableTransitions, boolean disableBlinkingCursor);
+    ctor public AndroidComposeTestRule(androidx.test.ext.junit.rules.ActivityScenarioRule<T> activityRule, boolean disableTransitions, boolean disableBlinkingCursor);
     method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
     method @androidx.ui.test.ExperimentalTesting public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
     method public androidx.test.ext.junit.rules.ActivityScenarioRule<T> getActivityRule();
     method public androidx.ui.test.AnimationClockTestRule getClockTestRule();
     method public androidx.ui.unit.Density getDensity();
     method public android.util.DisplayMetrics getDisplayMetrics();
-    method public androidx.compose.Recomposer? getRecomposer();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
     property public androidx.ui.test.AnimationClockTestRule clockTestRule;
     property public androidx.ui.unit.Density density;
@@ -428,7 +429,8 @@
   }
 
   public final class AndroidComposeTestRuleKt {
-    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(androidx.compose.Recomposer? recomposer = null, boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! AndroidComposeTestRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
+    method public static inline <reified T extends androidx.activity.ComponentActivity> androidx.ui.test.android.AndroidComposeTestRule<T>! createAndroidComposeRule(boolean disableTransitions = false, boolean disableBlinkingCursor = true);
   }
 
   public final class ComposeIdlingResourceKt {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
index e0eb970..6ccecc1 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/AssertsTest.kt
@@ -166,33 +166,33 @@
     }
 
     @Test(expected = AssertionError::class)
-    fun assertIsUnselected_forSelectedElement_throwsError() {
+    fun assertIsNotSelected_forSelectedElement_throwsError() {
         composeTestRule.setContent {
             BoundaryNode { testTag = "test"; selected = true }
         }
 
         onNodeWithTag("test")
-            .assertIsUnselected()
+            .assertIsNotSelected()
     }
 
     @Test
-    fun assertIsUnselected_forUnselectedElement_isOk() {
+    fun assertIsNotSelected_forNotSelectedElement_isOk() {
         composeTestRule.setContent {
             BoundaryNode { testTag = "test"; selected = false }
         }
 
         onNodeWithTag("test")
-            .assertIsUnselected()
+            .assertIsNotSelected()
     }
 
     @Test(expected = AssertionError::class)
-    fun assertIsUnselected_forNotSelectableElement_throwsError() {
+    fun assertIsNotSelected_forNotSelectableElement_throwsError() {
         composeTestRule.setContent {
             BoundaryNode { testTag = "test"; }
         }
 
         onNodeWithTag("test")
-            .assertIsUnselected()
+            .assertIsNotSelected()
     }
     @Test(expected = AssertionError::class)
     fun assertItemInExclusiveGroup_forItemNotInGroup_throwsError() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/CustomActivityTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/CustomActivityTest.kt
index 0dfdb44..88e478c 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/CustomActivityTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/CustomActivityTest.kt
@@ -24,7 +24,7 @@
 import androidx.compose.foundation.layout.Stack
 import androidx.ui.material.Button
 import androidx.ui.material.MaterialTheme
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -48,14 +48,14 @@
 }
 
 /**
- * Tests that we can launch custom activities via [AndroidComposeTestRule].
+ * Tests that we can launch custom activities via [createAndroidComposeRule].
  */
 @MediumTest
 @RunWith(JUnit4::class)
 class CustomActivityTest {
 
     @get:Rule
-    val testRule = AndroidComposeTestRule<CustomActivity>()
+    val testRule = createAndroidComposeRule<CustomActivity>()
 
     @Test
     fun launchCustomActivity() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
index 0dd5872..9cc3efb 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/ErrorMessagesTest.kt
@@ -55,7 +55,8 @@
                 "Disabled = 'kotlin.Unit'\n" +
                 "Text = 'Toggle'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<" +
-                "java.util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                "java.util.List<androidx.compose.ui.text.TextLayoutResult>, " +
+                "java.lang.Boolean>)'\n" +
                 "MergeDescendants = 'true'\n" +
                 "Has 1 sibling\n" +
                 "Selector used: (TestTag = 'MyButton')"
@@ -232,7 +233,8 @@
                 "Node #X at (X, X, X, X)px\n" +
                 "Text = 'Hello'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<" +
-                "java.util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                "java.util.List<androidx.compose.ui.text.TextLayoutResult>," +
+                " java.lang.Boolean>)'\n" +
                 "Has 1 sibling\n" +
                 "Original selector: Text = 'Hello' (ignoreCase: false)"
         ) {
@@ -259,7 +261,8 @@
                 "Node #X at (X, X, X, X)px\n" +
                 "Text = 'Hello'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<" +
-                "java.util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                "java.util.List<androidx.compose.ui.text.TextLayoutResult>," +
+                " java.lang.Boolean>)'\n" +
                 "Has 1 sibling\n" +
                 "Original selector: Text = 'Hello' (ignoreCase: false)"
         ) {
@@ -286,7 +289,8 @@
                 "Node #X at (X, X, X, X)px\n" +
                 "Text = 'Hello'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<" +
-                "java.util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                "java.util.List<androidx.compose.ui.text.TextLayoutResult>," +
+                " java.lang.Boolean>)'\n" +
                 "Has 1 sibling\n" +
                 "Original selector: Text = 'Hello' (ignoreCase: false)"
         ) {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
index 7148d8d..2b07a5b 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/FindersTest.kt
@@ -26,7 +26,7 @@
 import androidx.ui.semantics.testTag
 import androidx.ui.semantics.text
 import androidx.ui.test.util.expectError
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/FirstDrawTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/FirstDrawTest.kt
index 094dd70..1830d43 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/FirstDrawTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/FirstDrawTest.kt
@@ -28,7 +28,7 @@
 import androidx.compose.foundation.Canvas
 import androidx.ui.graphics.Color
 import androidx.compose.foundation.layout.fillMaxSize
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
 import org.junit.Test
@@ -37,7 +37,7 @@
 class FirstDrawTest {
 
     @get:Rule
-    val testRule = AndroidComposeTestRule<ComponentActivity>()
+    val testRule = createAndroidComposeRule<ComponentActivity>()
 
     /**
      * Tests that the compose tree has been drawn at least once when [onIdle] finishes.
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
index 52f0e3f..2fd82e1 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
@@ -22,7 +22,7 @@
 import androidx.activity.ComponentActivity
 import androidx.test.filters.LargeTest
 import androidx.ui.core.setContent
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.util.BoundaryNode
 import org.junit.Rule
 import org.junit.Test
@@ -30,7 +30,7 @@
 @LargeTest
 class LateSetContentTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<Activity>()
+    val composeTestRule = createAndroidComposeRule<Activity>()
 
     @Test
     fun test() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesClickTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesClickTest.kt
index 84f78cb..a446f5f 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesClickTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesClickTest.kt
@@ -27,7 +27,7 @@
 import androidx.ui.core.testTag
 import androidx.compose.foundation.Box
 import androidx.compose.foundation.layout.fillMaxSize
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.util.SinglePointerInputRecorder
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
@@ -36,7 +36,7 @@
 class MultipleActivitiesClickTest {
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<Activity1>(disableTransitions = true)
+    val composeTestRule = createAndroidComposeRule<Activity1>(disableTransitions = true)
 
     @Test
     fun test() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFindTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFindTest.kt
index 6966c28..ec5cebe 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFindTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFindTest.kt
@@ -23,14 +23,14 @@
 import androidx.ui.core.setContent
 import androidx.ui.core.testTag
 import androidx.compose.foundation.Box
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import org.junit.Rule
 import org.junit.Test
 
 class MultipleActivitiesFindTest {
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<Activity1>(disableTransitions = true)
+    val composeTestRule = createAndroidComposeRule<Activity1>(disableTransitions = true)
 
     @Test
     fun test() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFirstDrawTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFirstDrawTest.kt
index 0192da2..662ce83c 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFirstDrawTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleActivitiesFirstDrawTest.kt
@@ -24,7 +24,7 @@
 import androidx.ui.core.Modifier
 import androidx.ui.core.setContent
 import androidx.compose.foundation.Box
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import org.junit.Rule
 import org.junit.Test
 
@@ -32,7 +32,7 @@
 class MultipleActivitiesFirstDrawTest {
 
     @get:Rule
-    val testRule = AndroidComposeTestRule<Activity1>()
+    val testRule = createAndroidComposeRule<Activity1>()
 
     @Test
     fun test() {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleComposeRootsTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleComposeRootsTest.kt
index 1e15607..e45b0c0 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleComposeRootsTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/MultipleComposeRootsTest.kt
@@ -35,7 +35,7 @@
 import androidx.ui.material.MaterialTheme
 import androidx.ui.material.Surface
 import androidx.ui.material.TriStateCheckbox
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -59,7 +59,7 @@
 class MultipleComposeRootsTest {
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     @get:Rule
     val disableTransitions = DisableTransitions()
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
index c625139..eed138f 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/PrintToStringTest.kt
@@ -70,7 +70,7 @@
                 "Node #X at (X, X, X, X)px\n" +
                 "Text = 'Hello'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<java" +
-                ".util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                ".util.List<androidx.compose.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
                 "Has 1 sibling")
     }
 
@@ -88,12 +88,12 @@
                 "1) Node #X at (X, X, X, X)px\n" +
                 "Text = 'Hello'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<java" +
-                ".util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                ".util.List<androidx.compose.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
                 "Has 1 sibling\n" +
                 "2) Node #X at (X, X, X, X)px\n" +
                 "Text = 'World'\n" +
                 "GetTextLayoutResult = 'AccessibilityAction(label=null, action=Function1<java" +
-                ".util.List<androidx.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
+                ".util.List<androidx.compose.ui.text.TextLayoutResult>, java.lang.Boolean>)'\n" +
                 "Has 1 sibling")
     }
 
@@ -124,13 +124,15 @@
                 "<java.lang.Boolean>)'\n" +
                 "    |    Text = 'Button'\n" +
                 "    |    GetTextLayoutResult = 'AccessibilityAction(label=null, " +
-                "action=Function1<java.util.List<androidx.ui.text.TextLayoutResult>, java.lang" +
+                "action=Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>," +
+                " java.lang" +
                 ".Boolean>)'\n" +
                 "    |    MergeDescendants = 'true'\n" +
                 "    |-Node #X at (X, X, X, X)px\n" +
                 "      Text = 'Hello'\n" +
                 "      GetTextLayoutResult = 'AccessibilityAction(label=null, " +
-                "action=Function1<java.util.List<androidx.ui.text.TextLayoutResult>, java.lang" +
+                "action=Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>," +
+                " java.lang" +
                 ".Boolean>)'")
     }
 
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
index ed12e7c..cc93855 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/TextActionsTest.kt
@@ -23,8 +23,8 @@
 import androidx.ui.core.testTag
 import androidx.compose.foundation.BaseTextField
 import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.ui.input.ImeAction
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.ui.test.util.BoundaryNode
 import androidx.ui.test.util.expectError
 import androidx.ui.test.util.expectErrorMessageStartsWith
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/TimeOutTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/TimeOutTest.kt
index 79bf41d..daaa8da 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/TimeOutTest.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/TimeOutTest.kt
@@ -31,7 +31,7 @@
 import androidx.compose.foundation.Box
 import androidx.compose.foundation.Text
 import androidx.compose.foundation.layout.Stack
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.android.ComposeNotIdleException
 import androidx.ui.test.util.expectError
 import org.junit.After
@@ -47,7 +47,7 @@
 class TimeOutTest {
 
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private var idlingResourcePolicy: IdlingPolicy? = null
     private var masterPolicy: IdlingPolicy? = null
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt b/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
index 5515009..db919da0 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
@@ -120,12 +120,12 @@
 fun SemanticsNodeInteraction.assertIsSelected(): SemanticsNodeInteraction = assert(isSelected())
 
 /**
- * Asserts that the current semantics node is unselected.
+ * Asserts that the current semantics node is not selected.
  *
  * Throws [AssertionError] if the node is selected or not selectable.
  */
-fun SemanticsNodeInteraction.assertIsUnselected(): SemanticsNodeInteraction =
-    assert(isUnselected())
+fun SemanticsNodeInteraction.assertIsNotSelected(): SemanticsNodeInteraction =
+    assert(isNotSelected())
 
 /**
  * Asserts that the current semantics node is toggleable.
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/ComposeTestRule.kt b/ui/ui-test/src/main/java/androidx/ui/test/ComposeTestRule.kt
index 97a593d..b9e7874 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/ComposeTestRule.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/ComposeTestRule.kt
@@ -19,18 +19,17 @@
 import android.util.DisplayMetrics
 import androidx.activity.ComponentActivity
 import androidx.compose.Composable
-import androidx.compose.Recomposer
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.unit.Density
 import org.junit.rules.TestRule
 
 /**
  * Enables to run tests of individual composables without having to do manual setup. For Android
- * tests see [AndroidComposeTestRule]. Normally this rule is obtained by using [createComposeRule]
+ * tests see [createAndroidComposeRule]. Normally this rule is obtained by using [createComposeRule]
  * factory that provides proper implementation (depending if running host side or Android side).
  *
  * However if you really need Android specific dependencies and don't want your test to be abstract
- * you can still create [AndroidComposeTestRule] directly and access its underlying ActivityTestRule
+ * you can still create [createAndroidComposeRule] directly and access its underlying Activity.
  */
 interface ComposeTestRule : TestRule {
     /**
@@ -81,18 +80,16 @@
  * Factory method to provide implementation of [ComposeTestRule].
  *
  * This method is useful for tests in compose libraries where no custom Activity is usually
- * needed. For app tests or launching custom activities, see [AndroidComposeTestRule].
+ * needed. For app tests or launching custom activities, see [createAndroidComposeRule].
  *
  * For Android this will use the default Activity (android.app.Activity). You need to add a
  * reference to this activity into the manifest file of the corresponding tests (usually in
  * androidTest/AndroidManifest.xml).
  */
 fun createComposeRule(
-    recomposer: Recomposer? = null,
     disableTransitions: Boolean = false,
     disableBlinkingCursor: Boolean = true
-): ComposeTestRule = AndroidComposeTestRule<ComponentActivity>(
-    recomposer,
+): ComposeTestRule = createAndroidComposeRule<ComponentActivity>(
     disableTransitions,
     disableBlinkingCursor
 )
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt b/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
index 3421989..4362280 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
@@ -20,7 +20,7 @@
 import androidx.ui.core.semantics.getOrNull
 import androidx.compose.foundation.selection.ToggleableState
 import androidx.compose.foundation.semantics.FoundationSemanticsProperties
-import androidx.ui.input.ImeAction
+import androidx.compose.ui.text.input.ImeAction
 import androidx.ui.semantics.AccessibilityRangeInfo
 import androidx.ui.semantics.SemanticsActions
 import androidx.ui.semantics.SemanticsProperties
@@ -88,10 +88,26 @@
  *
  * @see FoundationSemanticsProperties.Selected
  */
-fun isUnselected(): SemanticsMatcher =
+fun isNotSelected(): SemanticsMatcher =
     SemanticsMatcher.expectValue(FoundationSemanticsProperties.Selected, false)
 
 /**
+ * Returns whether the node is focused.
+ *
+ * @see SemanticsProperties.Focused
+ */
+fun isFocused(): SemanticsMatcher =
+    SemanticsMatcher.expectValue(SemanticsProperties.Focused, true)
+
+/**
+ * Returns whether the node is not focused.
+ *
+ * @see SemanticsProperties.Focused
+ */
+fun isNotFocused(): SemanticsMatcher =
+    SemanticsMatcher.expectValue(SemanticsProperties.Focused, false)
+
+/**
  * Return whether the node has a semantics click action defined.
  *
  * @see SemanticsActions.OnClick
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Output.kt b/ui/ui-test/src/main/java/androidx/ui/test/Output.kt
index 6778ad5..88be6de 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Output.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Output.kt
@@ -21,7 +21,7 @@
 import androidx.ui.core.semantics.SemanticsConfiguration
 import androidx.ui.core.semantics.SemanticsNode
 import androidx.ui.semantics.SemanticsProperties
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import androidx.ui.unit.PxBounds
 import androidx.ui.unit.toSize
 
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/TextActions.kt b/ui/ui-test/src/main/java/androidx/ui/test/TextActions.kt
index 712b153..14b76c5 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/TextActions.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/TextActions.kt
@@ -18,10 +18,10 @@
 
 import androidx.ui.core.AndroidOwner
 import androidx.ui.core.ExperimentalLayoutNodeApi
-import androidx.ui.input.CommitTextEditOp
-import androidx.ui.input.DeleteAllEditOp
-import androidx.ui.input.EditOperation
-import androidx.ui.input.ImeAction
+import androidx.compose.ui.text.input.CommitTextEditOp
+import androidx.compose.ui.text.input.DeleteAllEditOp
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.ImeAction
 import androidx.compose.foundation.text.TextSemanticsProperties
 
 /**
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/TextInputServiceForTests.kt b/ui/ui-test/src/main/java/androidx/ui/test/TextInputServiceForTests.kt
index 3f891aa..8cd58f7 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/TextInputServiceForTests.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/TextInputServiceForTests.kt
@@ -16,13 +16,13 @@
 
 package androidx.ui.test
 
-import androidx.ui.input.EditOperation
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.ImeAction
-import androidx.ui.input.InputSessionToken
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.PlatformTextInputService
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.InputSessionToken
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PlatformTextInputService
+import androidx.compose.ui.text.input.TextInputService
 
 /**
  * Extra layer that serves as an observer between the text input service and text fields.
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestRule.kt b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestRule.kt
index e30d703..25660e88 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestRule.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestRule.kt
@@ -27,13 +27,14 @@
 import androidx.ui.core.setContent
 import androidx.compose.foundation.InternalFoundationApi
 import androidx.compose.foundation.blinkingCursorEnabled
-import androidx.ui.input.textInputServiceFactory
+import androidx.compose.ui.text.input.textInputServiceFactory
 import androidx.ui.test.AnimationClockTestRule
 import androidx.ui.test.ComposeTestCase
 import androidx.ui.test.ComposeTestCaseSetup
 import androidx.ui.test.ComposeTestRule
 import androidx.ui.test.ExperimentalTesting
 import androidx.ui.test.TextInputServiceForTests
+import androidx.ui.test.createComposeRule
 import androidx.ui.test.isOnUiThread
 import androidx.ui.test.runOnUiThread
 import androidx.ui.test.waitForIdle
@@ -42,17 +43,16 @@
 import org.junit.runners.model.Statement
 
 /**
- * Factory method to provide implementation of [AndroidComposeTestRule].
+ * Factory method to provide android specific implementation of [createComposeRule].
  *
  * This method is useful for tests that require a custom Activity. This is usually the case for
  * app tests. Make sure that you add the provided activity into your app's manifest file (usually
  * in main/AndroidManifest.xml).
  *
  * If you don't care about specific activity and just want to test composables in general, see
- * [AndroidComposeTestRule].
+ * [createComposeRule].
  */
-inline fun <reified T : ComponentActivity> AndroidComposeTestRule(
-    recomposer: Recomposer? = null,
+inline fun <reified T : ComponentActivity> createAndroidComposeRule(
     disableTransitions: Boolean = false,
     disableBlinkingCursor: Boolean = true
 ): AndroidComposeTestRule<T> {
@@ -61,24 +61,37 @@
     // to set it again via our API. In such case we won't be able to dispose the old composition.
     // Other option would be to provide a smaller interface that does not expose these methods.
     return AndroidComposeTestRule(
-        ActivityScenarioRule(T::class.java),
-        recomposer,
-        disableTransitions,
-        disableBlinkingCursor
+        activityRule = ActivityScenarioRule(T::class.java),
+        disableTransitions = disableTransitions,
+        disableBlinkingCursor = disableBlinkingCursor
     )
 }
 
 /**
- * Android specific implementation of [ComposeTestRule].
+ * Factory method to provide android specific implementation of [createComposeRule].
  *
- * If [recomposer] is `null` the thread-specific [Recomposer.current] will be used when
- * [setContent] is called.
+ * This method is useful for tests that require a custom Activity. This is usually the case for
+ * app tests. Make sure that you add the provided activity into your app's manifest file (usually
+ * in main/AndroidManifest.xml).
+ *
+ * If you don't care about specific activity and just want to test composables in general, see
+ * [createComposeRule].
+ */
+@Deprecated("Renamed to createAndroidComposeRule",
+    replaceWith = ReplaceWith("createAndroidComposeRule(disableTransitions, " +
+            "disableBlinkingCursor)"))
+inline fun <reified T : ComponentActivity> AndroidComposeTestRule(
+    disableTransitions: Boolean = false,
+    disableBlinkingCursor: Boolean = true
+): AndroidComposeTestRule<T> = createAndroidComposeRule(disableTransitions, disableBlinkingCursor)
+
+/**
+ * Android specific implementation of [ComposeTestRule].
  */
 class AndroidComposeTestRule<T : ComponentActivity>(
     // TODO(b/153623653): Remove activityRule from arguments when AndroidComposeTestRule can
     //  work with any kind of Activity launcher.
     val activityRule: ActivityScenarioRule<T>,
-    val recomposer: Recomposer? = null,
     private val disableTransitions: Boolean = false,
     private val disableBlinkingCursor: Boolean = true
 ) : ComposeTestRule {
@@ -123,7 +136,7 @@
 
         runOnUiThread {
             val composition = activity.setContent(
-                recomposer ?: Recomposer.current(),
+                Recomposer.current(),
                 composable
             )
             val contentViewGroup = activity.findViewById<ViewGroup>(android.R.id.content)
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/android/ComposeIdlingResource.kt b/ui/ui-test/src/main/java/androidx/ui/test/android/ComposeIdlingResource.kt
index ecf2ab6..ab3de0f 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/android/ComposeIdlingResource.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/android/ComposeIdlingResource.kt
@@ -41,7 +41,7 @@
  *
  * This makes sure that Espresso is able to wait for any pending changes in Compose. This
  * resource is automatically registered when any compose testing APIs are used including
- * [AndroidComposeTestRule]. If you for some reasons want to only use Espresso but still have it
+ * [createAndroidComposeRule]. If you for some reasons want to only use Espresso but still have it
  * wait for Compose being idle you can use this function.
  */
 fun registerComposeWithEspresso() {
@@ -76,7 +76,7 @@
  *
  * This makes sure that Espresso is able to wait for any pending changes in Compose. This
  * resource is automatically registered when any compose testing APIs are used including
- * [AndroidComposeTestRule]. If you for some reasons want to only use Espresso but still have it
+ * [createAndroidComposeRule]. If you for some reasons want to only use Espresso but still have it
  * wait for Compose being idle you can register this yourself via [registerSelfIntoEspresso].
  */
 internal object ComposeIdlingResource : BaseIdlingResource(), IdlingResourceWithDiagnostics {
diff --git a/ui/ui-text-android/api/0.1.0-dev16.txt b/ui/ui-text-android/api/0.1.0-dev16.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/0.1.0-dev16.txt
+++ b/ui/ui-text-android/api/0.1.0-dev16.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/api/current.txt b/ui/ui-text-android/api/current.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/current.txt
+++ b/ui/ui-text-android/api/current.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-text-android/api/public_plus_experimental_0.1.0-dev16.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-text-android/api/public_plus_experimental_0.1.0-dev16.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/api/public_plus_experimental_current.txt b/ui/ui-text-android/api/public_plus_experimental_current.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/public_plus_experimental_current.txt
+++ b/ui/ui-text-android/api/public_plus_experimental_current.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/api/restricted_0.1.0-dev16.txt b/ui/ui-text-android/api/restricted_0.1.0-dev16.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-text-android/api/restricted_0.1.0-dev16.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/api/restricted_current.txt b/ui/ui-text-android/api/restricted_current.txt
index 9c65639..26d769c 100644
--- a/ui/ui-text-android/api/restricted_current.txt
+++ b/ui/ui-text-android/api/restricted_current.txt
@@ -1,5 +1,5 @@
 // Signature format: 3.0
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.android {
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalPlatformTextApi {
   }
@@ -18,7 +18,7 @@
 
 }
 
-package androidx.ui.text.platform.style {
+package androidx.compose.ui.text.android.style {
 
   public final class FontWeightStyleSpanKt {
   }
diff --git a/ui/ui-text-android/src/androidTest/AndroidManifest.xml b/ui/ui-text-android/src/androidTest/AndroidManifest.xml
index 5077312..e183574 100644
--- a/ui/ui-text-android/src/androidTest/AndroidManifest.xml
+++ b/ui/ui-text-android/src/androidTest/AndroidManifest.xml
@@ -14,4 +14,4 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<manifest package="androidx.ui.text.platform.test" />
+<manifest package="androidx.compose.ui.text.android" />
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/BoringLayoutFactoryTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
similarity index 97%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/BoringLayoutFactoryTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
index ef1b08e..3c52831 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/BoringLayoutFactoryTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/BoringLayoutFactoryTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.BoringLayout
 import android.text.BoringLayout.Metrics
@@ -26,8 +26,8 @@
 import android.text.style.ForegroundColorSpan
 import android.text.style.LeadingMarginSpan
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.BoringLayoutFactory.create
-import androidx.ui.text.platform.BoringLayoutFactory.measure
+import androidx.compose.ui.text.android.BoringLayoutFactory.create
+import androidx.compose.ui.text.android.BoringLayoutFactory.measure
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutCompatTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
similarity index 98%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutCompatTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
index 2792e60..55623b0 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutCompatTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutCompatTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.os.Build
 import android.text.Layout
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutGetHorizontalTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
similarity index 99%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutGetHorizontalTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
index 9cd938f..a9e4e03 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutGetHorizontalTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.TextDirectionHeuristic
 import android.text.TextDirectionHeuristics
@@ -22,7 +22,7 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
+import androidx.compose.ui.text.font.test.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutHelperParagraphTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
similarity index 98%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutHelperParagraphTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
index f07fb09..f62beba 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutHelperParagraphTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutHelperParagraphTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.os.Build
 import android.text.Layout
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutIntrinsicsTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
similarity index 96%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutIntrinsicsTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
index ccbbe4c..b7b427e 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/LayoutIntrinsicsTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.BoringLayout
 import android.text.SpannableString
@@ -24,7 +24,7 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
+import androidx.compose.ui.text.font.test.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/SegmentBreakerTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
similarity index 94%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/SegmentBreakerTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
index de6a1be..7a3db3e 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/SegmentBreakerTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.TextDirectionHeuristic
 import android.text.TextDirectionHeuristics
@@ -22,9 +22,9 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
-import androidx.ui.text.platform.animation.SegmentBreaker
-import androidx.ui.text.platform.animation.SegmentType
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.android.animation.SegmentBreaker
+import androidx.compose.ui.text.android.animation.SegmentType
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/StaticLayoutFactoryTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
similarity index 99%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/StaticLayoutFactoryTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
index 2a77129..c772fa9 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/StaticLayoutFactoryTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.app.Instrumentation
 import android.graphics.Typeface
@@ -25,7 +25,7 @@
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
+import androidx.compose.ui.text.font.test.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Test
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
similarity index 97%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
index b1fa6af..81bf62b 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.graphics.Typeface
 import android.text.SpannableString
@@ -24,9 +24,9 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
-import androidx.ui.text.platform.style.BaselineShiftSpan
-import androidx.ui.text.platform.style.SkewXSpan
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.android.style.BaselineShiftSpan
+import androidx.compose.ui.text.android.style.SkewXSpan
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import org.junit.Before
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
similarity index 98%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
index 7fb8808..04160f7 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/TextLayoutTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.graphics.Typeface
 import android.text.BoringLayout
@@ -26,8 +26,8 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
-import androidx.ui.text.platform.style.BaselineShiftSpan
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.android.style.BaselineShiftSpan
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Test
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/animation/SegmentBreakerBreakSegmentTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
similarity index 99%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/animation/SegmentBreakerBreakSegmentTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
index 687c1d4..ae13037 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/animation/SegmentBreakerBreakSegmentTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.animation
+package androidx.compose.ui.text.android.animation
 
 import android.text.TextDirectionHeuristic
 import android.text.TextDirectionHeuristics
@@ -22,10 +22,10 @@
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.test.R
-import androidx.ui.text.platform.InternalPlatformTextApi
-import androidx.ui.text.platform.LayoutHelper
-import androidx.ui.text.platform.StaticLayoutFactory
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.LayoutHelper
+import androidx.compose.ui.text.android.StaticLayoutFactory
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordBoundaryTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
similarity index 98%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordBoundaryTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
index 10ad385..3181c68 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordBoundaryTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordBoundaryTest.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.selection
+package androidx.compose.ui.text.android.selection
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordIteratorTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
similarity index 99%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordIteratorTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
index 226ccb8..412730e 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/selection/WordIteratorTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/selection/WordIteratorTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.selection
+package androidx.compose.ui.text.android.selection
 
 import androidx.test.filters.SmallTest
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/BaselineShiftSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
similarity index 93%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/BaselineShiftSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
index 982d10a..1d71d79 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/BaselineShiftSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/BaselineShiftSpanTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth.assertThat
 
 import org.junit.Test
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontFeatureSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
similarity index 94%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontFeatureSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
index 747972b..56e775d 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontFeatureSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontFeatureSpanTest.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontSpanTest.kt
similarity index 91%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontSpanTest.kt
index 747ce19..2a99acd64 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontSpanTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Typeface
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontWeightStyleSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontWeightStyleSpanTest.kt
similarity index 98%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontWeightStyleSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontWeightStyleSpanTest.kt
index e0f9693..7e6a59a 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/FontWeightStyleSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/FontWeightStyleSpanTest.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Typeface
 import android.graphics.fonts.FontStyle
 import android.text.TextPaint
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanEmTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
similarity index 92%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanEmTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
index a423f9a..707867c7 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanEmTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEmTest.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanPxTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
similarity index 96%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanPxTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
index e30f9d3..0d48e64 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/LetterSpacingSpanPxTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPxTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.doReturn
 import com.nhaarman.mockitokotlin2.mock
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/PlaceholderSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
similarity index 99%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/PlaceholderSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
index 04dc605..1ef8f8e 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/PlaceholderSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/PlaceholderSpanTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Paint
 import android.text.TextPaint
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import androidx.test.filters.SmallTest
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/ShadowSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
similarity index 92%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/ShadowSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
index 2518d8e..51558d7 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/ShadowSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/ShadowSpanTest.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/SkewXSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
similarity index 92%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/SkewXSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
index dcc02df..b62b398 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/SkewXSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/SkewXSpanTest.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/TypefaceSpanTest.kt b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
similarity index 93%
rename from ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/TypefaceSpanTest.kt
rename to ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
index 11d6009..5807061 100644
--- a/ui/ui-text-android/src/androidTest/java/androidx/ui/text/platform/style/TypefaceSpanTest.kt
+++ b/ui/ui-text-android/src/androidTest/java/androidx/compose/ui/text/android/style/TypefaceSpanTest.kt
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Typeface
 import android.text.TextPaint
 import androidx.test.filters.SmallTest
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import com.google.common.truth.Truth
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-android/src/main/AndroidManifest.xml b/ui/ui-text-android/src/main/AndroidManifest.xml
index c7bd444..e183574 100644
--- a/ui/ui-text-android/src/main/AndroidManifest.xml
+++ b/ui/ui-text-android/src/main/AndroidManifest.xml
@@ -14,4 +14,4 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<manifest package="androidx.ui.text.platform" />
+<manifest package="androidx.compose.ui.text.android" />
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/BoringLayoutFactory.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
similarity index 98%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/BoringLayoutFactory.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
index 210dba6..f4300cb 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/BoringLayoutFactory.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/BoringLayoutFactory.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.BoringLayout
 import android.text.BoringLayout.Metrics
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/CharSequenceCharacterIterator.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
similarity index 98%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/CharSequenceCharacterIterator.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
index 1307d6f..b1fc875 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/CharSequenceCharacterIterator.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/CharSequenceCharacterIterator.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import java.text.CharacterIterator
 
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/InternalPlatformTextApi.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
similarity index 95%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/InternalPlatformTextApi.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
index b0b6832..d87011e 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/InternalPlatformTextApi.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/InternalPlatformTextApi.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 @RequiresOptIn(
     level = RequiresOptIn.Level.ERROR,
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutCompat.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
similarity index 98%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutCompat.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
index 4b9e4d0..015f6a1 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutCompat.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.graphics.text.LineBreaker
 import android.text.Layout
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutHelper.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
similarity index 99%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutHelper.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
index c9ef027..3f2bad5 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutHelper.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutHelper.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.Layout
 import android.text.TextUtils
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutIntrinsics.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
similarity index 96%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutIntrinsics.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
index ec8951b..35dc84c 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutIntrinsics.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/LayoutIntrinsics.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.text.BoringLayout
 import android.text.Layout
@@ -45,7 +45,7 @@
     /**
      * Calculate minimum intrinsic width of the CharSequence.
      *
-     * @see androidx.ui.text.platform.minIntrinsicWidth
+     * @see androidx.compose.ui.text.android.minIntrinsicWidth
      */
     val minIntrinsicWidth: Float by lazy {
         minIntrinsicWidth(charSequence, textPaint)
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/StaticLayoutFactory.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/StaticLayoutFactory.kt
similarity index 96%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/StaticLayoutFactory.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/StaticLayoutFactory.kt
index 6921147..26128c9 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/StaticLayoutFactory.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/StaticLayoutFactory.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.os.Build
 import android.text.Layout.Alignment
@@ -25,9 +25,9 @@
 import android.util.Log
 import androidx.annotation.FloatRange
 import androidx.annotation.IntRange
-import androidx.ui.text.platform.LayoutCompat.BreakStrategy
-import androidx.ui.text.platform.LayoutCompat.HyphenationFrequency
-import androidx.ui.text.platform.LayoutCompat.JustificationMode
+import androidx.compose.ui.text.android.LayoutCompat.BreakStrategy
+import androidx.compose.ui.text.android.LayoutCompat.HyphenationFrequency
+import androidx.compose.ui.text.android.LayoutCompat.JustificationMode
 import java.lang.reflect.Constructor
 import java.lang.reflect.InvocationTargetException
 
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/TextLayout.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
similarity index 86%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/TextLayout.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
index b5ed4a9..a35797e 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/TextLayout.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/TextLayout.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.android
 
 import android.graphics.Canvas
 import android.graphics.Path
@@ -26,31 +26,31 @@
 import androidx.annotation.Px
 import androidx.annotation.RequiresApi
 import androidx.annotation.VisibleForTesting
-import androidx.ui.text.platform.LayoutCompat.ALIGN_CENTER
-import androidx.ui.text.platform.LayoutCompat.ALIGN_LEFT
-import androidx.ui.text.platform.LayoutCompat.ALIGN_NORMAL
-import androidx.ui.text.platform.LayoutCompat.ALIGN_OPPOSITE
-import androidx.ui.text.platform.LayoutCompat.ALIGN_RIGHT
-import androidx.ui.text.platform.LayoutCompat.BreakStrategy
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_ALIGNMENT
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_BREAK_STRATEGY
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_HYPHENATION_FREQUENCY
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_INCLUDE_PADDING
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_LINESPACING_EXTRA
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_TEXT_DIRECTION
-import androidx.ui.text.platform.LayoutCompat.HyphenationFrequency
-import androidx.ui.text.platform.LayoutCompat.JustificationMode
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_ANY_RTL_LTR
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_LTR
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_RTL
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_LOCALE
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_LTR
-import androidx.ui.text.platform.LayoutCompat.TEXT_DIRECTION_RTL
-import androidx.ui.text.platform.LayoutCompat.TextDirection
-import androidx.ui.text.platform.LayoutCompat.TextLayoutAlignment
-import androidx.ui.text.platform.style.BaselineShiftSpan
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_CENTER
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_LEFT
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_NORMAL
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_OPPOSITE
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_RIGHT
+import androidx.compose.ui.text.android.LayoutCompat.BreakStrategy
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_ALIGNMENT
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_BREAK_STRATEGY
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_HYPHENATION_FREQUENCY
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_INCLUDE_PADDING
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINESPACING_EXTRA
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_TEXT_DIRECTION
+import androidx.compose.ui.text.android.LayoutCompat.HyphenationFrequency
+import androidx.compose.ui.text.android.LayoutCompat.JustificationMode
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_ANY_RTL_LTR
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_LTR
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_FIRST_STRONG_RTL
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_LOCALE
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_LTR
+import androidx.compose.ui.text.android.LayoutCompat.TEXT_DIRECTION_RTL
+import androidx.compose.ui.text.android.LayoutCompat.TextDirection
+import androidx.compose.ui.text.android.LayoutCompat.TextLayoutAlignment
+import androidx.compose.ui.text.android.style.BaselineShiftSpan
 import kotlin.math.ceil
 import kotlin.math.min
 
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentBreaker.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
similarity index 97%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentBreaker.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
index edb0081..e54fb1b 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentBreaker.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentBreaker.kt
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.animation
+package androidx.compose.ui.text.android.animation
 
 import android.text.Layout
-import androidx.ui.text.platform.CharSequenceCharacterIterator
-import androidx.ui.text.platform.InternalPlatformTextApi
-import androidx.ui.text.platform.LayoutHelper
-import androidx.ui.text.platform.getLineForOffset
+import androidx.compose.ui.text.android.CharSequenceCharacterIterator
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.LayoutHelper
+import androidx.compose.ui.text.android.getLineForOffset
 import java.text.BreakIterator
 import java.util.Locale
 import kotlin.math.ceil
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentType.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
similarity index 91%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentType.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
index 70bb52a..eac7729 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/animation/SegmentType.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/animation/SegmentType.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.animation
+package androidx.compose.ui.text.android.animation
 
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Defines a segmentation rule for text animation
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordBoundary.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
similarity index 96%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordBoundary.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
index f246d07..563844b 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordBoundary.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordBoundary.kt
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.selection
+package androidx.compose.ui.text.android.selection
 
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import java.text.BreakIterator
 import java.util.Locale
 
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordIterator.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
similarity index 98%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordIterator.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
index 20d818a..da44294 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/selection/WordIterator.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/selection/WordIterator.kt
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.selection
+package androidx.compose.ui.text.android.selection
 
-import androidx.ui.text.platform.CharSequenceCharacterIterator
+import androidx.compose.ui.text.android.CharSequenceCharacterIterator
 import java.text.BreakIterator
 import java.util.Locale
 import kotlin.math.max
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/BaselineShiftSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/BaselineShiftSpan.kt
similarity index 91%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/BaselineShiftSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/BaselineShiftSpan.kt
index bfc734b..d46c285 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/BaselineShiftSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/BaselineShiftSpan.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import kotlin.math.ceil
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span which shifts the vertical position of baseline.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontFeatureSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontFeatureSpan.kt
similarity index 90%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontFeatureSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontFeatureSpan.kt
index e6c66fb..71a0288 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontFeatureSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontFeatureSpan.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span that change font feature settings for font.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontSpan.kt
similarity index 94%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontSpan.kt
index 1c59a60..e062b1a 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontSpan.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Typeface
 import android.graphics.fonts.FontStyle
@@ -22,7 +22,7 @@
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
 import androidx.annotation.VisibleForTesting
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span that changes the typeface of the text.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontWeightStyleSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontWeightStyleSpan.kt
similarity index 97%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontWeightStyleSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontWeightStyleSpan.kt
index 97f2e6b..27f88e6 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/FontWeightStyleSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/FontWeightStyleSpan.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Typeface
 import android.graphics.fonts.FontStyle
@@ -25,7 +25,7 @@
 import androidx.annotation.IntRange
 import androidx.annotation.RequiresApi
 import androidx.annotation.VisibleForTesting
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 private const val AndroidBoldWeight = 600
 
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanEm.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
similarity index 90%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanEm.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
index 167b4e1..aae4ecd 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanEm.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanEm.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span used to adjust the letter spacing, in the unit of Em.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanPx.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
similarity index 88%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanPx.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
index 9d2bbbd..b6caa39 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LetterSpacingSpanPx.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LetterSpacingSpanPx.kt
@@ -1,9 +1,9 @@
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
 import androidx.annotation.Px
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span that sets the letter spacing as [letterSpacing], in the unit of pixel.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LineHeightSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
similarity index 94%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LineHeightSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
index 1a75332..d2ab8e8 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/LineHeightSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/LineHeightSpan.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Paint.FontMetricsInt
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * The span which modifies the height of the covered paragraphs. A paragraph is defined as a
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/PlaceholderSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/PlaceholderSpan.kt
similarity index 97%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/PlaceholderSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/PlaceholderSpan.kt
index edb14d7..6f675dd 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/PlaceholderSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/PlaceholderSpan.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.annotation.SuppressLint
 import android.graphics.Canvas
 import android.graphics.Paint
 import android.text.style.ReplacementSpan
 import androidx.annotation.IntDef
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import java.lang.IllegalArgumentException
 import kotlin.math.ceil
 import kotlin.math.max
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/ShadowSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
similarity index 90%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/ShadowSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
index 4966bc9..2f65ef0 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/ShadowSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/ShadowSpan.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import android.text.style.CharacterStyle
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * A span which applies a shadow effect to the covered text.
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/SkewXSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
similarity index 91%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/SkewXSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
index 59f5f06..e2b3da0 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/SkewXSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/SkewXSpan.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span which shear text in x direction. A pixel at (x, y) will be transfer to (x + y * skewX, y),
diff --git a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/TypefaceSpan.kt b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
similarity index 93%
rename from ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/TypefaceSpan.kt
rename to ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
index f38f158..5448b81 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/style/TypefaceSpan.kt
+++ b/ui/ui-text-android/src/main/java/androidx/compose/ui/text/android/style/TypefaceSpan.kt
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform.style
+package androidx.compose.ui.text.android.style
 
 import android.graphics.Paint
 import android.graphics.Typeface
 import android.text.TextPaint
 import android.text.style.MetricAffectingSpan
-import androidx.ui.text.platform.InternalPlatformTextApi
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 
 /**
  * Span that displays text in the given Typeface. In Android Framework, TypefaceSpan that accepts
diff --git a/ui/ui-text-core/api/0.1.0-dev16.txt b/ui/ui-text-core/api/0.1.0-dev16.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/0.1.0-dev16.txt
+++ b/ui/ui-text-core/api/0.1.0-dev16.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/api/api_lint.ignore b/ui/ui-text-core/api/api_lint.ignore
index 59bb5d5..b49230e 100644
--- a/ui/ui-text-core/api/api_lint.ignore
+++ b/ui/ui-text-core/api/api_lint.ignore
@@ -1,43 +1,43 @@
 // Baseline format: 1.0
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#append(String):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.append(String)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#append(androidx.ui.text.AnnotatedString):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.append(androidx.ui.text.AnnotatedString)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#append(char):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.append(char)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#pop():
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.pop()
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#pop(int):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.pop(int)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#pushStringAnnotation(String, String):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.pushStringAnnotation(String,String)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#pushStyle(androidx.ui.text.ParagraphStyle):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.pushStyle(androidx.ui.text.ParagraphStyle)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#pushStyle(androidx.ui.text.SpanStyle):
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.pushStyle(androidx.ui.text.SpanStyle)
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#toAnnotatedString():
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.toAnnotatedString()
-BuilderSetStyle: androidx.ui.text.AnnotatedString.Builder#toString():
-    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.ui.text.AnnotatedString.Builder.toString()
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#append(String):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.append(String)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#append(androidx.compose.ui.text.AnnotatedString):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.append(androidx.compose.ui.text.AnnotatedString)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#append(char):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.append(char)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#pop():
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.pop()
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#pop(int):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.pop(int)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#pushStringAnnotation(String, String):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.pushStringAnnotation(String,String)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#pushStyle(androidx.compose.ui.text.ParagraphStyle):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.pushStyle(androidx.compose.ui.text.ParagraphStyle)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#pushStyle(androidx.compose.ui.text.SpanStyle):
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.pushStyle(androidx.compose.ui.text.SpanStyle)
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#toAnnotatedString():
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.toAnnotatedString()
+BuilderSetStyle: androidx.compose.ui.text.AnnotatedString.Builder#toString():
+    Builder methods names should use setFoo() / addFoo() / clearFoo() style: method androidx.compose.ui.text.AnnotatedString.Builder.toString()
 
 
-KotlinOperator: androidx.ui.text.font.FontListFontFamily#contains(androidx.ui.text.font.Font):
+KotlinOperator: androidx.compose.ui.text.font.FontListFontFamily#contains(androidx.compose.ui.text.font.Font):
     Note that adding the `operator` keyword would allow calling this method using operator syntax
-KotlinOperator: androidx.ui.text.style.TextDecoration#contains(androidx.ui.text.style.TextDecoration):
+KotlinOperator: androidx.compose.ui.text.style.TextDecoration#contains(androidx.compose.ui.text.style.TextDecoration):
     Note that adding the `operator` keyword would allow calling this method using operator syntax
 
 
-MissingBuildMethod: androidx.ui.text.AnnotatedString.Builder:
-    androidx.ui.text.AnnotatedString.Builder does not declare a `build()` method, but builder classes are expected to
+MissingBuildMethod: androidx.compose.ui.text.AnnotatedString.Builder:
+    androidx.compose.ui.text.AnnotatedString.Builder does not declare a `build()` method, but builder classes are expected to
 
 
-MissingNullability: androidx.ui.text.style.BaselineShift#toString-impl(float):
+MissingNullability: androidx.compose.ui.text.style.BaselineShift#toString-impl(float):
     Missing nullability on method `toString-impl` return
 
 
-SetterReturnsThis: androidx.ui.text.AnnotatedString.Builder#addStringAnnotation(String, String, int, int):
-    Methods must return the builder object (return type androidx.ui.text.AnnotatedString.Builder instead of void): method androidx.ui.text.AnnotatedString.Builder.addStringAnnotation(String,String,int,int)
-SetterReturnsThis: androidx.ui.text.AnnotatedString.Builder#addStyle(androidx.ui.text.ParagraphStyle, int, int):
-    Methods must return the builder object (return type androidx.ui.text.AnnotatedString.Builder instead of void): method androidx.ui.text.AnnotatedString.Builder.addStyle(androidx.ui.text.ParagraphStyle,int,int)
-SetterReturnsThis: androidx.ui.text.AnnotatedString.Builder#addStyle(androidx.ui.text.SpanStyle, int, int):
-    Methods must return the builder object (return type androidx.ui.text.AnnotatedString.Builder instead of void): method androidx.ui.text.AnnotatedString.Builder.addStyle(androidx.ui.text.SpanStyle,int,int)
+SetterReturnsThis: androidx.compose.ui.text.AnnotatedString.Builder#addStringAnnotation(String, String, int, int):
+    Methods must return the builder object (return type androidx.compose.ui.text.AnnotatedString.Builder instead of void): method androidx.compose.ui.text.AnnotatedString.Builder.addStringAnnotation(String,String,int,int)
+SetterReturnsThis: androidx.compose.ui.text.AnnotatedString.Builder#addStyle(androidx.compose.ui.text.ParagraphStyle, int, int):
+    Methods must return the builder object (return type androidx.compose.ui.text.AnnotatedString.Builder instead of void): method androidx.compose.ui.text.AnnotatedString.Builder.addStyle(androidx.compose.ui.text.ParagraphStyle,int,int)
+SetterReturnsThis: androidx.compose.ui.text.AnnotatedString.Builder#addStyle(androidx.compose.ui.text.SpanStyle, int, int):
+    Methods must return the builder object (return type androidx.compose.ui.text.AnnotatedString.Builder instead of void): method androidx.compose.ui.text.AnnotatedString.Builder.addStyle(androidx.compose.ui.text.SpanStyle,int,int)
diff --git a/ui/ui-text-core/api/current.txt b/ui/ui-text-core/api/current.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/current.txt
+++ b/ui/ui-text-core/api/current.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev16.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev16.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/api/public_plus_experimental_current.txt b/ui/ui-text-core/api/public_plus_experimental_current.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-text-core/api/public_plus_experimental_current.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/api/restricted_0.1.0-dev16.txt b/ui/ui-text-core/api/restricted_0.1.0-dev16.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-text-core/api/restricted_0.1.0-dev16.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/api/restricted_current.txt b/ui/ui-text-core/api/restricted_current.txt
index 9230b27..f59f204 100644
--- a/ui/ui-text-core/api/restricted_current.txt
+++ b/ui/ui-text-core/api/restricted_current.txt
@@ -1,321 +1,38 @@
 // Signature format: 3.0
-package androidx.ui.input {
-
-  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
-    ctor public BackspaceKeyEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public CommitTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteAllEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteAllEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
-    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
-    method public int getAfterLength();
-    method public int getBeforeLength();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface EditOperation {
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class EditingBuffer {
-    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
-    field public static final int NOWHERE = -1; // 0xffffffff
-  }
-
-  @Deprecated @androidx.compose.Immutable public final class EditorValue {
-    ctor @Deprecated public EditorValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor @Deprecated public EditorValue();
-    method @Deprecated public String component1();
-    method @Deprecated public androidx.ui.text.TextRange component2();
-    method @Deprecated public androidx.ui.text.TextRange? component3();
-    method @Deprecated @androidx.compose.Immutable public androidx.ui.input.EditorValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method @Deprecated public androidx.ui.text.TextRange? getComposition();
-    method @Deprecated public String getSelectedText();
-    method @Deprecated public androidx.ui.text.TextRange getSelection();
-    method @Deprecated public String getText();
-    method @Deprecated public String getTextAfterSelection(int maxChars);
-    method @Deprecated public String getTextBeforeSelection(int maxChars);
-  }
-
-  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public FinishComposingTextEditOp();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class GapBufferKt {
-  }
-
-  public enum ImeAction {
-    method public static androidx.ui.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.ImeAction[] values();
-    enum_constant public static final androidx.ui.input.ImeAction Done;
-    enum_constant public static final androidx.ui.input.ImeAction Go;
-    enum_constant public static final androidx.ui.input.ImeAction Next;
-    enum_constant public static final androidx.ui.input.ImeAction NoAction;
-    enum_constant public static final androidx.ui.input.ImeAction Previous;
-    enum_constant public static final androidx.ui.input.ImeAction Search;
-    enum_constant public static final androidx.ui.input.ImeAction Send;
-    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
-  }
-
-  public interface InputEventListener {
-    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
-    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
-  }
-
-  public enum KeyboardType {
-    method public static androidx.ui.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.input.KeyboardType[] values();
-    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
-    enum_constant public static final androidx.ui.input.KeyboardType Email;
-    enum_constant public static final androidx.ui.input.KeyboardType Number;
-    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
-    enum_constant public static final androidx.ui.input.KeyboardType Password;
-    enum_constant public static final androidx.ui.input.KeyboardType Phone;
-    enum_constant public static final androidx.ui.input.KeyboardType Text;
-    enum_constant public static final androidx.ui.input.KeyboardType Uri;
-  }
-
-  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
-    ctor public MoveCursorEditOp(int amount);
-    method public int component1();
-    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
-    method public int getAmount();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public interface OffsetMap {
-    method public int originalToTransformed(int offset);
-    method public int transformedToOriginal(int offset);
-    field public static final androidx.ui.input.OffsetMap.Companion Companion;
-  }
-
-  public static final class OffsetMap.Companion {
-    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
-    property public final androidx.ui.input.OffsetMap identityOffsetMap;
-  }
-
-  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
-    method public char component1();
-    method public androidx.ui.input.PasswordVisualTransformation copy(char mask);
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    method public char getMask();
-  }
-
-  public interface PlatformTextInputService {
-    method public void hideSoftwareKeyboard();
-    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard();
-    method public void startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput();
-  }
-
-  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingRegionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
-    method public String component1();
-    method public int component2();
-    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
-    method public int getNewCursorPosition();
-    method public String getText();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
-    ctor public SetSelectionEditOp(int start, int end);
-    method public int component1();
-    method public int component2();
-    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
-    method public int getEnd();
-    method public int getStart();
-    method public void process(androidx.ui.input.EditingBuffer buffer);
-  }
-
-  @androidx.compose.Immutable public final class TextFieldValue {
-    ctor public TextFieldValue(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    ctor public TextFieldValue();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.text.TextRange? component3();
-    method @androidx.compose.Immutable public androidx.ui.input.TextFieldValue copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
-    method public androidx.ui.text.TextRange? getComposition();
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-    field public static final androidx.ui.input.TextFieldValue.Companion Companion;
-  }
-
-  public static final class TextFieldValue.Companion {
-    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> getSaver();
-    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.ui.input.TextFieldValue,java.lang.Object> Saver;
-  }
-
-  public final class TextFieldValueKt {
-    method public static String getSelectedText(androidx.ui.input.TextFieldValue);
-    method public static String getTextAfterSelection(androidx.ui.input.TextFieldValue, int maxChars);
-    method public static String getTextBeforeSelection(androidx.ui.input.TextFieldValue, int maxChars);
-  }
-
-  public class TextInputService {
-    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
-    method public void hideSoftwareKeyboard(int token);
-    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
-    method public void onStateUpdated(int token, androidx.ui.input.TextFieldValue value);
-    method public void showSoftwareKeyboard(int token);
-    method public int startInput(androidx.ui.input.TextFieldValue value, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
-    method public void stopInput(int token);
-  }
-
-  public final class TextInputServiceKt {
-    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.ui.input.PlatformTextInputService,androidx.ui.input.TextInputService> getTextInputServiceFactory();
-    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.ui.input.PlatformTextInputService,? extends androidx.ui.input.TextInputService> p);
-    field public static final int INVALID_SESSION = -1; // 0xffffffff
-    field public static final int NO_SESSION = 0; // 0x0
-  }
-
-  public final class TransformedText {
-    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.text.AnnotatedString component1();
-    method public androidx.ui.input.OffsetMap component2();
-    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
-    method public androidx.ui.input.OffsetMap getOffsetMap();
-    method public androidx.ui.text.AnnotatedString getTransformedText();
-  }
-
-  @androidx.compose.Immutable public interface VisualTransformation {
-    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
-    field public static final androidx.ui.input.VisualTransformation.Companion Companion;
-  }
-
-  public static final class VisualTransformation.Companion {
-    method public androidx.ui.input.VisualTransformation getNone();
-    property public final androidx.ui.input.VisualTransformation None;
-  }
-
-}
-
-package androidx.ui.intl {
-
-  public final class AndroidPlatformLocaleKt {
-  }
-
-  @androidx.compose.Immutable public final class Locale {
-    ctor public Locale(String languageTag);
-    method public String getLanguage();
-    method public String getRegion();
-    method public String getScript();
-    method public String toLanguageTag();
-    property public final String language;
-    property public final String region;
-    property public final String script;
-    field public static final androidx.ui.intl.Locale.Companion Companion;
-  }
-
-  public static final class Locale.Companion {
-    method public androidx.ui.intl.Locale getCurrent();
-    property public final androidx.ui.intl.Locale current;
-  }
-
-  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.ui.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public LocaleList(java.util.List<androidx.ui.intl.Locale> localeList);
-    ctor public LocaleList(String languageTags);
-    ctor public LocaleList(androidx.ui.intl.Locale... locales);
-    method public java.util.List<androidx.ui.intl.Locale> component1();
-    method public operator boolean contains(androidx.ui.intl.Locale element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.intl.LocaleList copy(java.util.List<androidx.ui.intl.Locale> localeList);
-    method public operator androidx.ui.intl.Locale get(int i);
-    method public java.util.List<androidx.ui.intl.Locale> getLocaleList();
-    method public int getSize();
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.intl.Locale> iterator();
-    property public int size;
-    field public static final androidx.ui.intl.LocaleList.Companion Companion;
-  }
-
-  public static final class LocaleList.Companion {
-    method public androidx.ui.intl.LocaleList getCurrent();
-    property public final androidx.ui.intl.LocaleList current;
-  }
-
-  public final class PlatformLocaleKt {
-  }
-
-}
-
-package androidx.ui.text {
+package androidx.compose.ui.text {
 
   @androidx.compose.Immutable public final class AnnotatedString {
-    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public String component1();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> component3();
-    method @androidx.compose.Immutable public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> getSpanStyles();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.AnnotatedString copy(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> annotations);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
     method public String getText();
-    method @androidx.compose.Stable public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
   }
 
   public static final class AnnotatedString.Builder {
     ctor public AnnotatedString.Builder(int capacity);
     ctor public AnnotatedString.Builder();
     ctor public AnnotatedString.Builder(String text);
-    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String scope, String annotation, int start, int end);
-    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
-    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
     method public void append(String text);
     method public void append(char p);
-    method public void append(androidx.ui.text.AnnotatedString text);
+    method public void append(androidx.compose.ui.text.AnnotatedString text);
     method public int getLength();
     method public void pop();
     method public void pop(int index);
     method public int pushStringAnnotation(String tag, String annotation);
-    method public int pushStyle(androidx.ui.text.SpanStyle style);
-    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
-    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+    method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
     property public final int length;
   }
 
@@ -326,7 +43,7 @@
     method public int component2();
     method public int component3();
     method public String component4();
-    method public androidx.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+    method public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
     method public int getEnd();
     method public T! getItem();
     method public int getStart();
@@ -334,18 +51,18 @@
   }
 
   public final class AnnotatedStringKt {
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
-    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
-    method @Deprecated public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static inline androidx.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
-    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static int getLength(androidx.ui.text.AnnotatedString);
-    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
-    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.intl.LocaleList localeList = LocaleList.current);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
-    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, androidx.compose.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+    method @Deprecated public static inline androidx.compose.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static inline androidx.compose.ui.text.AnnotatedString annotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.compose.ui.text.AnnotatedString);
+    method public static androidx.compose.ui.text.AnnotatedString subSequence(androidx.compose.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.intl.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
   }
 
   @kotlin.RequiresOptIn(level=RequiresOptIn.Level.ERROR, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public @interface InternalTextApi {
@@ -355,16 +72,16 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints);
-    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
     method public float getFirstBaseline();
     method public float getHeight();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
-    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
     method public float getLastBaseline();
     method public float getLineBottom(int lineIndex);
     method public int getLineCount();
@@ -372,6 +89,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -382,11 +100,11 @@
     method public int getMaxLines();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public final boolean didExceedMaxLines;
     property public final float firstBaseline;
@@ -399,12 +117,12 @@
     property public final float width;
   }
 
-  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
-    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+  public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
     property public float maxIntrinsicWidth;
     property public float minIntrinsicWidth;
   }
@@ -416,7 +134,7 @@
   }
 
   public interface Paragraph {
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidExceedMaxLines();
@@ -430,6 +148,7 @@
     method public int getLineEllipsisOffset(int lineIndex);
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
     method public float getLineHeight(int lineIndex);
     method public float getLineLeft(int lineIndex);
     method public float getLineRight(int lineIndex);
@@ -439,11 +158,11 @@
     method public float getMaxIntrinsicWidth();
     method public float getMinIntrinsicWidth();
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public float getWidth();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     method public void paint(androidx.ui.graphics.Canvas canvas);
     property public abstract boolean didExceedMaxLines;
     property public abstract float firstBaseline;
@@ -459,7 +178,7 @@
   public final class ParagraphConstraints {
     ctor public ParagraphConstraints(float width);
     method public float component1();
-    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public androidx.compose.ui.text.ParagraphConstraints copy(float width);
     method public float getWidth();
   }
 
@@ -471,56 +190,56 @@
   }
 
   public final class ParagraphIntrinsicsKt {
-    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
   }
 
   public final class ParagraphKt {
-    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
-    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.ui.text.ParagraphConstraints constraints);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles = listOf(), java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders = listOf(), int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints, androidx.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, int maxLines = 2147483647, boolean ellipsis = false, androidx.compose.ui.text.ParagraphConstraints constraints);
   }
 
   @androidx.compose.Immutable public final class ParagraphStyle {
-    method public androidx.ui.text.style.TextAlign? component1();
-    method public androidx.ui.text.style.TextDirection? component2();
+    method public androidx.compose.ui.text.style.TextAlign? component1();
+    method public androidx.compose.ui.text.style.TextDirection? component2();
     method public long component3();
-    method public androidx.ui.text.style.TextIndent? component4();
-    method @androidx.compose.Immutable public androidx.ui.text.ParagraphStyle copy-JVmhFNw(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.TextIndent? component4();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.ParagraphStyle copy-yfYFPjM(androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getLineHeight();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.ParagraphStyle plus(androidx.ui.text.ParagraphStyle other);
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle merge(androidx.compose.ui.text.ParagraphStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
   }
 
   public final class ParagraphStyleKt {
-    method @androidx.compose.Stable public static androidx.ui.text.ParagraphStyle lerp(androidx.ui.text.ParagraphStyle start, androidx.ui.text.ParagraphStyle stop, float fraction);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class Placeholder {
     method public long component1();
     method public long component2();
-    method public androidx.ui.text.PlaceholderVerticalAlign component3();
-    method @androidx.compose.Immutable public androidx.ui.text.Placeholder copy-eLqjHCw(long width, long height, androidx.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.Placeholder copy-LxtbTAo(long width, long height, androidx.compose.ui.text.PlaceholderVerticalAlign placeholderVerticalAlign);
     method public long getHeight();
-    method public androidx.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
+    method public androidx.compose.ui.text.PlaceholderVerticalAlign getPlaceholderVerticalAlign();
     method public long getWidth();
   }
 
   public enum PlaceholderVerticalAlign {
-    method public static androidx.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.PlaceholderVerticalAlign[] values();
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign AboveBaseline;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Bottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Center;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextBottom;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextCenter;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign TextTop;
-    enum_constant public static final androidx.ui.text.PlaceholderVerticalAlign Top;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.PlaceholderVerticalAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign AboveBaseline;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Bottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Center;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextBottom;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextCenter;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign TextTop;
+    enum_constant public static final androidx.compose.ui.text.PlaceholderVerticalAlign Top;
   }
 
   public final class SoftwareKeyboardController {
-    ctor public SoftwareKeyboardController(androidx.ui.input.TextInputService textInputService, int token);
+    ctor public SoftwareKeyboardController(androidx.compose.ui.text.input.TextInputService textInputService, int token);
     method public void hideSoftwareKeyboard();
     method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
     method public void showSoftwareKeyboard();
@@ -528,86 +247,86 @@
 
   @androidx.compose.Immutable public final class SpanStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.SpanStyle copy-HjQ0eR4(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.SpanStyle copy-3JaCuMk(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
-    method @androidx.compose.Stable public operator androidx.ui.text.SpanStyle plus(androidx.ui.text.SpanStyle other);
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle merge(androidx.compose.ui.text.SpanStyle? other = null);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
   }
 
   public final class SpanStyleKt {
-    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+    method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
   }
 
   public final class StringKt {
-    method public static String capitalize(String, androidx.ui.intl.Locale locale);
-    method public static String capitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String decapitalize(String, androidx.ui.intl.Locale locale);
-    method public static String decapitalize(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toLowerCase(String, androidx.ui.intl.Locale locale);
-    method public static String toLowerCase(String, androidx.ui.intl.LocaleList localeList);
-    method public static String toUpperCase(String, androidx.ui.intl.Locale locale);
-    method public static String toUpperCase(String, androidx.ui.intl.LocaleList localeList);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+    method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
   }
 
   public final class TextLayoutHelperKt {
   }
 
   public final class TextLayoutInput {
-    ctor public TextLayoutInput(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.text.AnnotatedString component1();
+    ctor public TextLayoutInput(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.AnnotatedString component1();
     method public androidx.ui.core.Constraints component10();
-    method public androidx.ui.text.TextStyle component2();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> component3();
+    method public androidx.compose.ui.text.TextStyle component2();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> component3();
     method public int component4();
     method public boolean component5();
-    method public androidx.ui.text.style.TextOverflow component6();
+    method public androidx.compose.ui.text.style.TextOverflow component6();
     method public androidx.ui.unit.Density component7();
     method public androidx.ui.core.LayoutDirection component8();
-    method public androidx.ui.text.font.Font.ResourceLoader component9();
-    method public androidx.ui.text.TextLayoutInput copy(androidx.ui.text.AnnotatedString text, androidx.ui.text.TextStyle style, java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
+    method public androidx.compose.ui.text.font.Font.ResourceLoader component9();
+    method public androidx.compose.ui.text.TextLayoutInput copy(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, androidx.ui.unit.Density density, androidx.ui.core.LayoutDirection layoutDirection, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, androidx.ui.core.Constraints constraints);
     method public androidx.ui.core.Constraints getConstraints();
     method public androidx.ui.unit.Density getDensity();
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public int getMaxLines();
-    method public androidx.ui.text.style.TextOverflow getOverflow();
-    method public java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>> getPlaceholders();
-    method public androidx.ui.text.font.Font.ResourceLoader getResourceLoader();
+    method public androidx.compose.ui.text.style.TextOverflow getOverflow();
+    method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+    method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
     method public boolean getSoftWrap();
-    method public androidx.ui.text.TextStyle getStyle();
-    method public androidx.ui.text.AnnotatedString getText();
+    method public androidx.compose.ui.text.TextStyle getStyle();
+    method public androidx.compose.ui.text.AnnotatedString getText();
   }
 
   public final class TextLayoutResult {
-    method public androidx.ui.text.TextLayoutInput component1();
+    method public androidx.compose.ui.text.TextLayoutInput component1();
     method public androidx.ui.unit.IntSize component3();
-    method public androidx.ui.text.TextLayoutResult copy(androidx.ui.text.TextLayoutInput layoutInput, androidx.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
-    method public androidx.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+    method public androidx.compose.ui.text.TextLayoutResult copy(androidx.compose.ui.text.TextLayoutInput layoutInput, androidx.compose.ui.text.MultiParagraph multiParagraph, androidx.ui.unit.IntSize size);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.ui.geometry.Rect getCursorRect(int offset);
     method public boolean getDidOverflowHeight();
@@ -616,38 +335,43 @@
     method public boolean getHasVisualOverflow();
     method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
     method public float getLastBaseline();
-    method public androidx.ui.text.TextLayoutInput getLayoutInput();
+    method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
     method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
     method public int getLineEnd(int lineIndex);
     method public int getLineForOffset(int offset);
+    method public int getLineForVerticalPosition(float vertical);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
     method public int getLineStart(int lineIndex);
     method public float getLineTop(int lineIndex);
     method public int getOffsetForPosition(androidx.ui.geometry.Offset position);
-    method public androidx.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+    method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
     method public androidx.ui.graphics.Path getPathForRange(int start, int end);
     method public java.util.List<androidx.ui.geometry.Rect> getPlaceholderRects();
     method public androidx.ui.unit.IntSize getSize();
-    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public androidx.compose.ui.text.TextRange getWordBoundary(int offset);
     property public final boolean didOverflowHeight;
     property public final boolean didOverflowWidth;
     property public final float firstBaseline;
     property public final boolean hasVisualOverflow;
     property public final float lastBaseline;
+    property public final int lineCount;
     property public final java.util.List<androidx.ui.geometry.Rect> placeholderRects;
   }
 
   public final class TextPainter {
-    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.ui.text.TextLayoutResult textLayoutResult);
-    field public static final androidx.ui.text.TextPainter INSTANCE;
+    method public void paint(androidx.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+    field public static final androidx.compose.ui.text.TextPainter INSTANCE;
   }
 
   @androidx.compose.Immutable public final class TextRange {
     ctor public TextRange(@IntRange(from=null) int start, @IntRange(from=null) int end);
     method public int component1();
     method public int component2();
-    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(androidx.compose.ui.text.TextRange other);
     method public operator boolean contains(int offset);
-    method @androidx.compose.Immutable public androidx.ui.text.TextRange copy(int start, int end);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextRange copy(int start, int end);
     method public boolean getCollapsed();
     method public int getEnd();
     method public int getLength();
@@ -655,274 +379,557 @@
     method public int getMin();
     method public boolean getReversed();
     method public int getStart();
-    method public boolean intersects(androidx.ui.text.TextRange other);
+    method public boolean intersects(androidx.compose.ui.text.TextRange other);
     property public final boolean collapsed;
     property public final int length;
     property public final int max;
     property public final int min;
     property public final boolean reversed;
-    field public static final androidx.ui.text.TextRange.Companion Companion;
+    field public static final androidx.compose.ui.text.TextRange.Companion Companion;
   }
 
   public static final class TextRange.Companion {
-    method public androidx.ui.text.TextRange getZero();
-    property public final androidx.ui.text.TextRange Zero;
+    method public androidx.compose.ui.text.TextRange getZero();
+    property public final androidx.compose.ui.text.TextRange Zero;
   }
 
   public final class TextRangeKt {
-    method public static androidx.ui.text.TextRange TextRange(int index);
-    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+    method public static androidx.compose.ui.text.TextRange TextRange(int index);
+    method public static String substring(CharSequence, androidx.compose.ui.text.TextRange range);
   }
 
   @androidx.compose.Immutable public final class TextStyle {
     method public long component1();
-    method public androidx.ui.text.style.TextGeometricTransform? component10();
-    method public androidx.ui.intl.LocaleList? component11();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.compose.ui.text.intl.LocaleList? component11();
     method public long component12();
-    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.compose.ui.text.style.TextDecoration? component13();
     method public androidx.ui.graphics.Shadow? component14();
-    method public androidx.ui.text.style.TextAlign? component15();
-    method public androidx.ui.text.style.TextDirection? component16();
+    method public androidx.compose.ui.text.style.TextAlign? component15();
+    method public androidx.compose.ui.text.style.TextDirection? component16();
     method public long component17();
-    method public androidx.ui.text.style.TextIndent? component18();
+    method public androidx.compose.ui.text.style.TextIndent? component18();
     method public long component2();
-    method public androidx.ui.text.font.FontWeight? component3();
-    method public androidx.ui.text.font.FontStyle? component4();
-    method public androidx.ui.text.font.FontSynthesis? component5();
-    method public androidx.ui.text.font.FontFamily? component6();
+    method public androidx.compose.ui.text.font.FontWeight? component3();
+    method public androidx.compose.ui.text.font.FontStyle? component4();
+    method public androidx.compose.ui.text.font.FontSynthesis? component5();
+    method public androidx.compose.ui.text.font.FontFamily? component6();
     method public String? component7();
     method public long component8();
-    method public androidx.ui.text.style.BaselineShift? component9();
-    method @androidx.compose.Immutable public androidx.ui.text.TextStyle copy-7aJ7aFo(long color, long fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.intl.LocaleList? localeList, long background, androidx.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.compose.ui.text.style.BaselineShift? component9();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.TextStyle copy-7Y_OIKU(long color, long fontSize, androidx.compose.ui.text.font.FontWeight? fontWeight, androidx.compose.ui.text.font.FontStyle? fontStyle, androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, androidx.compose.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, long letterSpacing, androidx.compose.ui.text.style.BaselineShift? baselineShift, androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.compose.ui.text.intl.LocaleList? localeList, long background, androidx.compose.ui.text.style.TextDecoration? textDecoration, androidx.ui.graphics.Shadow? shadow, androidx.compose.ui.text.style.TextAlign? textAlign, androidx.compose.ui.text.style.TextDirection? textDirection, long lineHeight, androidx.compose.ui.text.style.TextIndent? textIndent);
     method public long getBackground();
-    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift();
     method public long getColor();
-    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
     method public String? getFontFeatureSettings();
     method public long getFontSize();
-    method public androidx.ui.text.font.FontStyle? getFontStyle();
-    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
-    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.compose.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
     method public long getLetterSpacing();
     method public long getLineHeight();
-    method public androidx.ui.intl.LocaleList? getLocaleList();
+    method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
     method public androidx.ui.graphics.Shadow? getShadow();
-    method public androidx.ui.text.style.TextAlign? getTextAlign();
-    method public androidx.ui.text.style.TextDecoration? getTextDecoration();
-    method public androidx.ui.text.style.TextDirection? getTextDirection();
-    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
-    method public androidx.ui.text.style.TextIndent? getTextIndent();
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.TextStyle merge(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.TextStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.ParagraphStyle other);
-    method @androidx.compose.Stable public operator androidx.ui.text.TextStyle plus(androidx.ui.text.SpanStyle other);
-    method @androidx.compose.Stable public androidx.ui.text.ParagraphStyle toParagraphStyle();
-    method @androidx.compose.Stable public androidx.ui.text.SpanStyle toSpanStyle();
-    field public static final androidx.ui.text.TextStyle.Companion Companion;
+    method public androidx.compose.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+    method public androidx.compose.ui.text.style.TextDirection? getTextDirection();
+    method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.TextStyle? other = null);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+    method @androidx.compose.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+    method @androidx.compose.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+    method @androidx.compose.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+    field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
   }
 
   public static final class TextStyle.Companion {
-    method public androidx.ui.text.TextStyle getDefault();
-    property public final androidx.ui.text.TextStyle Default;
+    method public androidx.compose.ui.text.TextStyle getDefault();
+    property public final androidx.compose.ui.text.TextStyle Default;
   }
 
   public final class TextStyleKt {
-    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
-    method public static androidx.ui.text.TextStyle resolveDefaults(androidx.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
+    method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+    method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.ui.core.LayoutDirection direction);
   }
 
   public interface Typeface {
-    method public androidx.ui.text.font.FontFamily getFontFamily();
-    property public abstract androidx.ui.text.font.FontFamily fontFamily;
+    method public androidx.compose.ui.text.font.FontFamily getFontFamily();
+    property public abstract androidx.compose.ui.text.font.FontFamily fontFamily;
   }
 
 }
 
-package androidx.ui.text.font {
+package androidx.compose.ui.text.font {
 
-  public abstract sealed class FileBasedFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
   @androidx.compose.Immutable public interface Font {
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
-    property public abstract androidx.ui.text.font.FontStyle style;
-    property public abstract androidx.ui.text.font.FontWeight weight;
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
+    property public abstract androidx.compose.ui.text.font.FontStyle style;
+    property public abstract androidx.compose.ui.text.font.FontWeight weight;
   }
 
   public static interface Font.ResourceLoader {
-    method public Object load(androidx.ui.text.font.Font font);
+    method public Object load(androidx.compose.ui.text.font.Font font);
   }
 
   @androidx.compose.Immutable public abstract sealed class FontFamily {
     method public final boolean getCanLoadSynchronously();
-    field public static final androidx.ui.text.font.FontFamily.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
   }
 
   public static final class FontFamily.Companion {
-    method public androidx.ui.text.font.GenericFontFamily getCursive();
-    method public androidx.ui.text.font.SystemFontFamily getDefault();
-    method public androidx.ui.text.font.GenericFontFamily getMonospace();
-    method public androidx.ui.text.font.GenericFontFamily getSansSerif();
-    method public androidx.ui.text.font.GenericFontFamily getSerif();
-    property public final androidx.ui.text.font.GenericFontFamily Cursive;
-    property public final androidx.ui.text.font.SystemFontFamily Default;
-    property public final androidx.ui.text.font.GenericFontFamily Monospace;
-    property public final androidx.ui.text.font.GenericFontFamily SansSerif;
-    property public final androidx.ui.text.font.GenericFontFamily Serif;
+    method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+    method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+    method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+    method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+    property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+    property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+    property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+    property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
   }
 
   public final class FontFamilyKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily fontFamily(androidx.ui.text.font.Font... fonts);
-    method public static androidx.ui.text.font.LoadedFontFamily fontFamily(androidx.ui.text.Typeface typeface);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily fontFamily(androidx.compose.ui.text.font.Font... fonts);
+    method public static androidx.compose.ui.text.font.LoadedFontFamily fontFamily(androidx.compose.ui.text.Typeface typeface);
   }
 
   public final class FontKt {
-    method @androidx.compose.Stable public static androidx.ui.text.font.FontListFontFamily asFontFamily(androidx.ui.text.font.Font);
-    method @androidx.compose.Stable public static androidx.ui.text.font.Font font(int resId, androidx.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.ui.text.font.FontStyle style = androidx.ui.text.font.FontStyle.Normal);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.FontListFontFamily asFontFamily(androidx.compose.ui.text.font.Font);
+    method @androidx.compose.Stable public static androidx.compose.ui.text.font.Font font(int resId, androidx.compose.ui.text.font.FontWeight weight = FontWeight.Normal, androidx.compose.ui.text.font.FontStyle style = androidx.compose.ui.text.font.FontStyle.Normal);
   }
 
-  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
-    ctor public FontListFontFamily(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public java.util.List<androidx.ui.text.font.Font> component1();
-    method public boolean contains(androidx.ui.text.font.Font element);
+  @androidx.compose.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+    ctor public FontListFontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public java.util.List<androidx.compose.ui.text.font.Font> component1();
+    method public boolean contains(androidx.compose.ui.text.font.Font element);
     method public boolean containsAll(java.util.Collection<?> elements);
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.ui.text.font.Font> fonts);
-    method public androidx.ui.text.font.Font get(int index);
-    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontListFontFamily copy(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+    method public androidx.compose.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
     method public int getSize();
-    method public int indexOf(androidx.ui.text.font.Font element);
+    method public int indexOf(androidx.compose.ui.text.font.Font element);
     method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
-    method public int lastIndexOf(androidx.ui.text.font.Font element);
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
-    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
-    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
   }
 
   public enum FontStyle {
-    method public static androidx.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontStyle[] values();
-    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
-    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+    method public static androidx.compose.ui.text.font.FontStyle valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontStyle[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.compose.ui.text.font.FontStyle Normal;
   }
 
   public enum FontSynthesis {
-    method public static androidx.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.font.FontSynthesis[] values();
-    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
-    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+    method public static androidx.compose.ui.text.font.FontSynthesis valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.font.FontSynthesis[] values();
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.compose.ui.text.font.FontSynthesis Weight;
   }
 
-  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+  @androidx.compose.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
     ctor public FontWeight(int weight);
-    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public int compareTo(androidx.compose.ui.text.font.FontWeight other);
     method public int component1();
-    method @androidx.compose.Immutable public androidx.ui.text.font.FontWeight copy(int weight);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.font.FontWeight copy(int weight);
     method public int getWeight();
-    field public static final androidx.ui.text.font.FontWeight.Companion Companion;
+    field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
   }
 
   public static final class FontWeight.Companion {
-    method public androidx.ui.text.font.FontWeight getBlack();
-    method public androidx.ui.text.font.FontWeight getBold();
-    method public androidx.ui.text.font.FontWeight getExtraBold();
-    method public androidx.ui.text.font.FontWeight getExtraLight();
-    method public androidx.ui.text.font.FontWeight getLight();
-    method public androidx.ui.text.font.FontWeight getMedium();
-    method public androidx.ui.text.font.FontWeight getNormal();
-    method public androidx.ui.text.font.FontWeight getSemiBold();
-    method public androidx.ui.text.font.FontWeight getThin();
-    method public androidx.ui.text.font.FontWeight getW100();
-    method public androidx.ui.text.font.FontWeight getW200();
-    method public androidx.ui.text.font.FontWeight getW300();
-    method public androidx.ui.text.font.FontWeight getW400();
-    method public androidx.ui.text.font.FontWeight getW500();
-    method public androidx.ui.text.font.FontWeight getW600();
-    method public androidx.ui.text.font.FontWeight getW700();
-    method public androidx.ui.text.font.FontWeight getW800();
-    method public androidx.ui.text.font.FontWeight getW900();
-    property public final androidx.ui.text.font.FontWeight Black;
-    property public final androidx.ui.text.font.FontWeight Bold;
-    property public final androidx.ui.text.font.FontWeight ExtraBold;
-    property public final androidx.ui.text.font.FontWeight ExtraLight;
-    property public final androidx.ui.text.font.FontWeight Light;
-    property public final androidx.ui.text.font.FontWeight Medium;
-    property public final androidx.ui.text.font.FontWeight Normal;
-    property public final androidx.ui.text.font.FontWeight SemiBold;
-    property public final androidx.ui.text.font.FontWeight Thin;
-    property public final androidx.ui.text.font.FontWeight W100;
-    property public final androidx.ui.text.font.FontWeight W200;
-    property public final androidx.ui.text.font.FontWeight W300;
-    property public final androidx.ui.text.font.FontWeight W400;
-    property public final androidx.ui.text.font.FontWeight W500;
-    property public final androidx.ui.text.font.FontWeight W600;
-    property public final androidx.ui.text.font.FontWeight W700;
-    property public final androidx.ui.text.font.FontWeight W800;
-    property public final androidx.ui.text.font.FontWeight W900;
+    method public androidx.compose.ui.text.font.FontWeight getBlack();
+    method public androidx.compose.ui.text.font.FontWeight getBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+    method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+    method public androidx.compose.ui.text.font.FontWeight getLight();
+    method public androidx.compose.ui.text.font.FontWeight getMedium();
+    method public androidx.compose.ui.text.font.FontWeight getNormal();
+    method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+    method public androidx.compose.ui.text.font.FontWeight getThin();
+    method public androidx.compose.ui.text.font.FontWeight getW100();
+    method public androidx.compose.ui.text.font.FontWeight getW200();
+    method public androidx.compose.ui.text.font.FontWeight getW300();
+    method public androidx.compose.ui.text.font.FontWeight getW400();
+    method public androidx.compose.ui.text.font.FontWeight getW500();
+    method public androidx.compose.ui.text.font.FontWeight getW600();
+    method public androidx.compose.ui.text.font.FontWeight getW700();
+    method public androidx.compose.ui.text.font.FontWeight getW800();
+    method public androidx.compose.ui.text.font.FontWeight getW900();
+    property public final androidx.compose.ui.text.font.FontWeight Black;
+    property public final androidx.compose.ui.text.font.FontWeight Bold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+    property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+    property public final androidx.compose.ui.text.font.FontWeight Light;
+    property public final androidx.compose.ui.text.font.FontWeight Medium;
+    property public final androidx.compose.ui.text.font.FontWeight Normal;
+    property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+    property public final androidx.compose.ui.text.font.FontWeight Thin;
+    property public final androidx.compose.ui.text.font.FontWeight W100;
+    property public final androidx.compose.ui.text.font.FontWeight W200;
+    property public final androidx.compose.ui.text.font.FontWeight W300;
+    property public final androidx.compose.ui.text.font.FontWeight W400;
+    property public final androidx.compose.ui.text.font.FontWeight W500;
+    property public final androidx.compose.ui.text.font.FontWeight W600;
+    property public final androidx.compose.ui.text.font.FontWeight W700;
+    property public final androidx.compose.ui.text.font.FontWeight W800;
+    property public final androidx.compose.ui.text.font.FontWeight W900;
   }
 
   public final class FontWeightKt {
-    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+    method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.ui.text.font.SystemFontFamily {
+  @androidx.compose.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
     method public String getName();
   }
 
-  public final class LoadedFontFamily extends androidx.ui.text.font.FontFamily {
-    ctor public LoadedFontFamily(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface component1();
-    method public androidx.ui.text.font.LoadedFontFamily copy(androidx.ui.text.Typeface typeface);
-    method public androidx.ui.text.Typeface getTypeface();
+  public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+    ctor public LoadedFontFamily(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface component1();
+    method public androidx.compose.ui.text.font.LoadedFontFamily copy(androidx.compose.ui.text.Typeface typeface);
+    method public androidx.compose.ui.text.Typeface getTypeface();
   }
 
-  public final class ResourceFont implements androidx.ui.text.font.Font {
-    ctor public ResourceFont(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+  public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+    ctor public ResourceFont(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int component1();
-    method public androidx.ui.text.font.FontWeight component2();
-    method public androidx.ui.text.font.FontStyle component3();
-    method public androidx.ui.text.font.ResourceFont copy(int resId, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public androidx.compose.ui.text.font.FontWeight component2();
+    method public androidx.compose.ui.text.font.FontStyle component3();
+    method public androidx.compose.ui.text.font.ResourceFont copy(int resId, androidx.compose.ui.text.font.FontWeight weight, androidx.compose.ui.text.font.FontStyle style);
     method public int getResId();
-    method public androidx.ui.text.font.FontStyle getStyle();
-    method public androidx.ui.text.font.FontWeight getWeight();
+    method public androidx.compose.ui.text.font.FontStyle getStyle();
+    method public androidx.compose.ui.text.font.FontWeight getWeight();
   }
 
-  public abstract sealed class SystemFontFamily extends androidx.ui.text.font.FontFamily {
+  public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
   }
 
 }
 
-package androidx.ui.text.platform {
+package androidx.compose.ui.text.input {
+
+  public final class BackspaceKeyEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteAllEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteAllEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.compose.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  @Deprecated @androidx.compose.Immutable public final class EditorValue {
+    ctor @Deprecated public EditorValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor @Deprecated public EditorValue();
+    method @Deprecated public String component1();
+    method @Deprecated public androidx.compose.ui.text.TextRange component2();
+    method @Deprecated public androidx.compose.ui.text.TextRange? component3();
+    method @Deprecated @androidx.compose.Immutable public androidx.compose.ui.text.input.EditorValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method @Deprecated public androidx.compose.ui.text.TextRange? getComposition();
+    method @Deprecated public String getSelectedText();
+    method @Deprecated public androidx.compose.ui.text.TextRange getSelection();
+    method @Deprecated public String getText();
+    method @Deprecated public String getTextAfterSelection(int maxChars);
+    method @Deprecated public String getTextBeforeSelection(int maxChars);
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class GapBufferKt {
+  }
+
+  public enum ImeAction {
+    method public static androidx.compose.ui.text.input.ImeAction valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.ImeAction[] values();
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Done;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Go;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Next;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction NoAction;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Previous;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Search;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Send;
+    enum_constant public static final androidx.compose.ui.text.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.compose.ui.text.input.EditOperation> editOps);
+    method public void onImeAction(androidx.compose.ui.text.input.ImeAction imeAction);
+  }
+
+  public enum KeyboardType {
+    method public static androidx.compose.ui.text.input.KeyboardType valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.input.KeyboardType[] values();
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Ascii;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Email;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Number;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Password;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Phone;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Text;
+    enum_constant public static final androidx.compose.ui.text.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.compose.ui.text.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.compose.ui.text.input.OffsetMap.Companion Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.compose.ui.text.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.compose.ui.text.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public char component1();
+    method public androidx.compose.ui.text.input.PasswordVisualTransformation copy(char mask);
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void hideSoftwareKeyboard();
+    method public void notifyFocusedRect(androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.compose.ui.text.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.compose.ui.text.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.compose.ui.text.input.EditingBuffer buffer);
+  }
+
+  @androidx.compose.Immutable public final class TextFieldValue {
+    ctor public TextFieldValue(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    ctor public TextFieldValue();
+    method public String component1();
+    method public androidx.compose.ui.text.TextRange component2();
+    method public androidx.compose.ui.text.TextRange? component3();
+    method @androidx.compose.Immutable public androidx.compose.ui.text.input.TextFieldValue copy(String text, androidx.compose.ui.text.TextRange selection, androidx.compose.ui.text.TextRange? composition);
+    method public androidx.compose.ui.text.TextRange? getComposition();
+    method public androidx.compose.ui.text.TextRange getSelection();
+    method public String getText();
+    field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+  }
+
+  public static final class TextFieldValue.Companion {
+    method public androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+    property public final androidx.compose.runtime.savedinstancestate.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+  }
+
+  public final class TextFieldValueKt {
+    method public static String getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+    method public static String getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+    method public static String getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+    method public void hideSoftwareKeyboard(int token);
+    method public void notifyFocusedRect(int token, androidx.ui.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.compose.ui.text.input.TextFieldValue value);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    method @Deprecated public static kotlin.jvm.functions.Function1<androidx.compose.ui.text.input.PlatformTextInputService,androidx.compose.ui.text.input.TextInputService> getTextInputServiceFactory();
+    method @Deprecated public static void setTextInputServiceFactory(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.PlatformTextInputService,? extends androidx.compose.ui.text.input.TextInputService> p);
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.AnnotatedString component1();
+    method public androidx.compose.ui.text.input.OffsetMap component2();
+    method public androidx.compose.ui.text.input.TransformedText copy(androidx.compose.ui.text.AnnotatedString transformedText, androidx.compose.ui.text.input.OffsetMap offsetMap);
+    method public androidx.compose.ui.text.input.OffsetMap getOffsetMap();
+    method public androidx.compose.ui.text.AnnotatedString getTransformedText();
+  }
+
+  @androidx.compose.Immutable public interface VisualTransformation {
+    method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+    field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.compose.ui.text.input.VisualTransformation getNone();
+    property public final androidx.compose.ui.text.input.VisualTransformation None;
+  }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+  public final class AndroidPlatformLocaleKt {
+  }
+
+  @androidx.compose.Immutable public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.compose.ui.text.intl.Locale getCurrent();
+    property public final androidx.compose.ui.text.intl.Locale current;
+  }
+
+  @androidx.compose.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> component1();
+    method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.intl.LocaleList copy(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+    method public operator androidx.compose.ui.text.intl.Locale get(int i);
+    method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+    property public int size;
+    field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+    property public final androidx.compose.ui.text.intl.LocaleList current;
+  }
+
+  public final class PlatformLocaleKt {
+  }
+
+}
+
+package androidx.compose.ui.text.platform {
 
   public final class AndroidParagraphHelperKt {
   }
 
   public final class AndroidParagraphIntrinsicsKt {
-    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.ui.text.TextStyle,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.ui.text.font.Font.ResourceLoader,androidx.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
-    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.ui.text.TextStyle,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.SpanStyle>>,? super java.util.List<androidx.ui.text.AnnotatedString.Range<androidx.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.ui.text.font.Font.ResourceLoader,? extends androidx.ui.text.ParagraphIntrinsics> p);
+    method @Deprecated public static kotlin.jvm.functions.Function6<java.lang.String,androidx.compose.ui.text.TextStyle,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,androidx.ui.unit.Density,androidx.compose.ui.text.font.Font.ResourceLoader,androidx.compose.ui.text.ParagraphIntrinsics> getParagraphIntrinsicsActualFactory();
+    method @Deprecated public static void setParagraphIntrinsicsActualFactory(kotlin.jvm.functions.Function6<? super java.lang.String,? super androidx.compose.ui.text.TextStyle,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>>,? super java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>>,? super androidx.ui.unit.Density,? super androidx.compose.ui.text.font.Font.ResourceLoader,? extends androidx.compose.ui.text.ParagraphIntrinsics> p);
   }
 
   public final class AndroidParagraphKt {
-    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.ui.text.ParagraphConstraints,androidx.ui.text.Paragraph> getParagraphActualFactory();
-    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.ui.text.ParagraphConstraints,? extends androidx.ui.text.Paragraph> p);
+    method @Deprecated public static kotlin.jvm.functions.Function4<androidx.compose.ui.text.ParagraphIntrinsics,java.lang.Integer,java.lang.Boolean,androidx.compose.ui.text.ParagraphConstraints,androidx.compose.ui.text.Paragraph> getParagraphActualFactory();
+    method @Deprecated public static void setParagraphActualFactory(kotlin.jvm.functions.Function4<? super androidx.compose.ui.text.ParagraphIntrinsics,? super java.lang.Integer,? super java.lang.Boolean,? super androidx.compose.ui.text.ParagraphConstraints,? extends androidx.compose.ui.text.Paragraph> p);
   }
 
   public final class AndroidStringDelegateKt {
   }
 
   public final class TypefaceAdapterKt {
-    method public static androidx.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.ui.text.font.FontWeight,? extends androidx.ui.text.font.FontStyle>>? necessaryStyles = null);
+    method public static androidx.compose.ui.text.Typeface typefaceFromFontFamily(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, java.util.List<? extends kotlin.Pair<androidx.compose.ui.text.font.FontWeight,? extends androidx.compose.ui.text.font.FontStyle>>? necessaryStyles = null);
   }
 
 }
 
-package androidx.ui.text.platform.extensions {
+package androidx.compose.ui.text.platform.extensions {
 
   public final class LocaleExtensionsKt {
   }
@@ -938,7 +945,7 @@
 
 }
 
-package androidx.ui.text.style {
+package androidx.compose.ui.text.style {
 
   @androidx.compose.Immutable public final inline class BaselineShift {
     ctor public BaselineShift();
@@ -948,7 +955,7 @@
     method public float getMultiplier();
     method @androidx.compose.Immutable public static inline int hashCode-impl(float p);
     method @androidx.compose.Immutable public static inline String! toString-impl(float p);
-    field public static final androidx.ui.text.style.BaselineShift.Companion Companion;
+    field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
   }
 
   public static final class BaselineShift.Companion {
@@ -961,54 +968,54 @@
   }
 
   public final class BaselineShiftKt {
-    method @androidx.compose.Stable public static float lerp-7csQwvo(float start, float stop, float fraction);
+    method @androidx.compose.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
   }
 
   public enum ResolvedTextDirection {
-    method public static androidx.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.ResolvedTextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.ResolvedTextDirection Rtl;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.ResolvedTextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
   }
 
   public enum TextAlign {
-    method public static androidx.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextAlign[] values();
-    enum_constant public static final androidx.ui.text.style.TextAlign Center;
-    enum_constant public static final androidx.ui.text.style.TextAlign End;
-    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
-    enum_constant public static final androidx.ui.text.style.TextAlign Left;
-    enum_constant public static final androidx.ui.text.style.TextAlign Right;
-    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+    method public static androidx.compose.ui.text.style.TextAlign valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextAlign[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.compose.ui.text.style.TextAlign Start;
   }
 
   @androidx.compose.Immutable public final class TextDecoration {
     method public int component1();
-    method public operator boolean contains(androidx.ui.text.style.TextDecoration other);
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextDecoration copy(int mask);
     method public int getMask();
-    method public operator androidx.ui.text.style.TextDecoration plus(androidx.ui.text.style.TextDecoration decoration);
-    field public static final androidx.ui.text.style.TextDecoration.Companion Companion;
+    method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+    field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
   }
 
   public static final class TextDecoration.Companion {
-    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
-    method public androidx.ui.text.style.TextDecoration getLineThrough();
-    method public androidx.ui.text.style.TextDecoration getNone();
-    method public androidx.ui.text.style.TextDecoration getUnderline();
-    property public final androidx.ui.text.style.TextDecoration LineThrough;
-    property public final androidx.ui.text.style.TextDecoration None;
-    property public final androidx.ui.text.style.TextDecoration Underline;
+    method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+    method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.compose.ui.text.style.TextDecoration getNone();
+    method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.compose.ui.text.style.TextDecoration None;
+    property public final androidx.compose.ui.text.style.TextDecoration Underline;
   }
 
   public enum TextDirection {
-    method public static androidx.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextDirection[] values();
-    enum_constant public static final androidx.ui.text.style.TextDirection Content;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrLtr;
-    enum_constant public static final androidx.ui.text.style.TextDirection ContentOrRtl;
-    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
-    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+    method public static androidx.compose.ui.text.style.TextDirection valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextDirection[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Content;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrLtr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection ContentOrRtl;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.compose.ui.text.style.TextDirection Rtl;
   }
 
   @androidx.compose.Immutable public final class TextGeometricTransform {
@@ -1016,42 +1023,42 @@
     ctor public TextGeometricTransform();
     method public float component1();
     method public float component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
     method public float getScaleX();
     method public float getSkewX();
-    field public static final androidx.ui.text.style.TextGeometricTransform.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
   }
 
   public static final class TextGeometricTransform.Companion {
   }
 
   public final class TextGeometricTransformKt {
-    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
   }
 
   @androidx.compose.Immutable public final class TextIndent {
     method public long component1();
     method public long component2();
-    method @androidx.compose.Immutable public androidx.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
+    method @androidx.compose.Immutable public androidx.compose.ui.text.style.TextIndent copy-gL_aCS0(long firstLine, long restLine);
     method public long getFirstLine();
     method public long getRestLine();
-    field public static final androidx.ui.text.style.TextIndent.Companion Companion;
+    field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
   }
 
   public static final class TextIndent.Companion {
-    method public androidx.ui.text.style.TextIndent getNone();
-    property public final androidx.ui.text.style.TextIndent None;
+    method public androidx.compose.ui.text.style.TextIndent getNone();
+    property public final androidx.compose.ui.text.style.TextIndent None;
   }
 
   public final class TextIndentKt {
-    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+    method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
   }
 
   public enum TextOverflow {
-    method public static androidx.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
-    method public static androidx.ui.text.style.TextOverflow[] values();
-    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
-    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    method public static androidx.compose.ui.text.style.TextOverflow valueOf(String name) throws java.lang.IllegalArgumentException;
+    method public static androidx.compose.ui.text.style.TextOverflow[] values();
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.compose.ui.text.style.TextOverflow Ellipsis;
   }
 
 }
diff --git a/ui/ui-text-core/samples/src/main/AndroidManifest.xml b/ui/ui-text-core/samples/src/main/AndroidManifest.xml
index 361b69f..88c8279 100644
--- a/ui/ui-text-core/samples/src/main/AndroidManifest.xml
+++ b/ui/ui-text-core/samples/src/main/AndroidManifest.xml
@@ -14,4 +14,4 @@
   limitations under the License.
   -->
 
-<manifest package="androidx.ui.text.samples" />
+<manifest package="androidx.compose.ui.text.samples" />
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/AnnotatedStringBuilderSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/AnnotatedStringBuilderSamples.kt
similarity index 91%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/AnnotatedStringBuilderSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/AnnotatedStringBuilderSamples.kt
index 22f18f7..919c4f3 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/AnnotatedStringBuilderSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/AnnotatedStringBuilderSamples.kt
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.ui.graphics.Color
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.ParagraphStyle
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextIndent
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.ParagraphStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.sp
 
 @Sampled
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/BaselineShiftSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/BaselineShiftSamples.kt
similarity index 86%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/BaselineShiftSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/BaselineShiftSamples.kt
index 0bd524f..9f1f9c2 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/BaselineShiftSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/BaselineShiftSamples.kt
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.sp
 
 @Sampled
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/FontFamilySamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/FontFamilySamples.kt
similarity index 86%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/FontFamilySamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/FontFamilySamples.kt
index b184c7a..1a1344c 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/FontFamilySamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/FontFamilySamples.kt
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.font
-import androidx.ui.text.font.fontFamily
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.fontFamily
 
 @Sampled
 @Composable
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/ParagraphStyleSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/ParagraphStyleSamples.kt
similarity index 88%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/ParagraphStyleSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/ParagraphStyleSamples.kt
index bfa3f78..b37cec7 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/ParagraphStyleSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/ParagraphStyleSamples.kt
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
-import androidx.ui.text.ParagraphStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.ParagraphStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.sp
 
 @Sampled
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/SpanStyleSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/SpanStyleSamples.kt
similarity index 86%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/SpanStyleSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/SpanStyleSamples.kt
index 725a166..5d0a747 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/SpanStyleSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/SpanStyleSamples.kt
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
 import androidx.ui.graphics.Color
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.sp
 
 @Sampled
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextDecorationSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextDecorationSamples.kt
similarity index 92%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextDecorationSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextDecorationSamples.kt
index cc3d3b8..b6c1da3 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextDecorationSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextDecorationSamples.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
-import androidx.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextDecoration
 
 @Sampled
 @Composable
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextStyleSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextStyleSamples.kt
similarity index 81%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextStyleSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextStyleSamples.kt
index b12cc0d8..5b14f7e 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/TextStyleSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/TextStyleSamples.kt
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
 import androidx.compose.Composable
 import androidx.compose.foundation.Text
 import androidx.ui.graphics.Color
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.TextDecoration
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextDecoration
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
 
diff --git a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/VisualTransformationSamples.kt b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/VisualTransformationSamples.kt
similarity index 92%
rename from ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/VisualTransformationSamples.kt
rename to ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/VisualTransformationSamples.kt
index e25e640..11e3f72 100644
--- a/ui/ui-text-core/samples/src/main/java/androidx/ui/text/samples/VisualTransformationSamples.kt
+++ b/ui/ui-text-core/samples/src/main/java/androidx/compose/ui/text/samples/VisualTransformationSamples.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.samples
+package androidx.compose.ui.text.samples
 
 import androidx.annotation.Sampled
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.TransformedText
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.TransformedText
+import androidx.compose.ui.text.AnnotatedString
 
 @Sampled
 fun passwordFilter(text: AnnotatedString): TransformedText {
diff --git a/ui/ui-text-core/src/androidAndroidTest/AndroidManifest.xml b/ui/ui-text-core/src/androidAndroidTest/AndroidManifest.xml
index 92206d6..39e91c6 100644
--- a/ui/ui-text-core/src/androidAndroidTest/AndroidManifest.xml
+++ b/ui/ui-text-core/src/androidAndroidTest/AndroidManifest.xml
@@ -14,4 +14,4 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
-<manifest package="androidx.ui.text.core.test" />
+<manifest package="androidx.compose.ui.text" />
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/FontTestData.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
similarity index 95%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/FontTestData.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
index cccb5e7..21fe261 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/FontTestData.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.font.font
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.test.R
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.test.R
 
 class FontTestData {
     companion object {
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTest.kt
similarity index 98%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTest.kt
index 8c54adf..f1b57593 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
@@ -23,13 +23,13 @@
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.PathOperation
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTextDirectionTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
similarity index 97%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
index 4ea7ff5..e71ea3e 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/MultiParagraphIntegrationTextDirectionTest.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.style.TextDirection
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.TextDirection
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTest.kt
similarity index 96%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTest.kt
index 4f2e661..ddc8cf3 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTest.kt
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
@@ -28,18 +28,18 @@
 import androidx.ui.graphics.PathOperation
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.asAndroidBitmap
-import androidx.ui.text.FontTestData.Companion.BASIC_KERN_FONT
-import androidx.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
-import androidx.ui.text.FontTestData.Companion.FONT_100_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_200_REGULAR
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.matchers.assertThat
-import androidx.ui.text.matchers.isZero
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_KERN_FONT
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
+import androidx.compose.ui.text.FontTestData.Companion.FONT_100_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_200_REGULAR
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.matchers.assertThat
+import androidx.compose.ui.text.matchers.isZero
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.geometry.Offset
 import androidx.ui.unit.em
@@ -358,6 +358,99 @@
     }
 
     @Test
+    fun getLineForVerticalPosition_ltr() {
+        with(defaultDensity) {
+            val text = "abcdefgh"
+            val fontSize = 20f
+            // Make the layout 4 lines
+            val layoutWidth = text.length * fontSize / 4
+            val lineHeight = 30f
+
+            val paragraph = simpleParagraph(
+                text = text,
+                style = TextStyle(
+                    fontSize = fontSize.sp,
+                    lineHeight = lineHeight.sp
+                ),
+                constraints = ParagraphConstraints(width = layoutWidth)
+            )
+
+            assertThat(paragraph.lineCount).isEqualTo(4)
+            // test positions are 1, lineHeight+1, 2lineHeight+1, 3lineHeight + 1 which map to line
+            // 0, 1, 2, 3
+            for (i in 0 until paragraph.lineCount) {
+                val position = i * lineHeight.sp.toPx() + 1
+                val line = paragraph.getLineForVerticalPosition(position)
+                assertWithMessage(
+                    "Line at line index $i, position $position does not match"
+                ).that(line).isEqualTo(i)
+            }
+        }
+    }
+
+    @Test
+    fun getLineForVerticalPosition_rtl() {
+        with(defaultDensity) {
+            val text = "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7"
+            val fontSize = 20f
+            // Make the layout 4 lines
+            val layoutWidth = text.length * fontSize / 4
+            val lineHeight = 30f
+
+            val paragraph = simpleParagraph(
+                text = text,
+                style = TextStyle(
+                    fontSize = fontSize.sp,
+                    lineHeight = lineHeight.sp
+                ),
+                constraints = ParagraphConstraints(width = layoutWidth)
+            )
+
+            assertThat(paragraph.lineCount).isEqualTo(4)
+            // test positions are 1, lineHeight+1, 2lineHeight+1, 3lineHeight + 1 which map to line
+            // 0, 1, 2, 3
+            for (i in 0 until paragraph.lineCount) {
+                val position = i * lineHeight.sp.toPx() + 1
+                val line = paragraph.getLineForVerticalPosition(position)
+                assertWithMessage(
+                    "Line at line index $i, position $position does not match"
+                ).that(line).isEqualTo(i)
+            }
+        }
+    }
+
+    @Test
+    fun getLineForVerticalPosition_ltr_height_outOfBounds() {
+        with(defaultDensity) {
+            val text = "abcdefgh"
+            val fontSize = 20f
+            // Make the layout 4 lines
+            val layoutWidth = text.length * fontSize / 4
+            val lineHeight = 30f
+
+            val paragraph = simpleParagraph(
+                text = text,
+                style = TextStyle(
+                    fontSize = fontSize.sp,
+                    lineHeight = lineHeight.sp
+                ),
+                constraints = ParagraphConstraints(width = layoutWidth)
+            )
+
+            assertThat(paragraph.lineCount).isEqualTo(4)
+            // greater than height
+            var position = lineHeight.sp.toPx() * paragraph.lineCount * 2
+            var line = paragraph.getLineForVerticalPosition(position)
+            assertThat(line).isEqualTo(paragraph.lineCount - 1)
+
+            // negative
+            position = -1 * lineHeight.sp.toPx()
+            line = paragraph.getLineForVerticalPosition(position)
+            assertThat(line).isZero()
+        }
+    }
+
+    @Test
     fun getBoundingBox_ltr_singleLine() {
         with(defaultDensity) {
             val text = "abc"
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTextDirectionTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
similarity index 95%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTextDirectionTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
index 6aa73e2..1cde843 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntegrationTextDirectionTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntegrationTextDirectionTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntrinsicIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
similarity index 98%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntrinsicIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
index 1aaea33..59cc6bc 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphIntrinsicIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphIntrinsicIntegrationTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.asFontFamily
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphPlaceholderIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
similarity index 99%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphPlaceholderIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
index b2b1fe2..ace7224 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/ParagraphPlaceholderIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/ParagraphPlaceholderIntegrationTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.asFontFamily
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/StringTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
similarity index 95%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/StringTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
index 2b24cbd..4370df6 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/StringTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/StringTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SmallTest
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextDelegateIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextDelegateIntegrationTest.kt
similarity index 98%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextDelegateIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextDelegateIntegrationTest.kt
index 5eca43e..48e6d90 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextDelegateIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextDelegateIntegrationTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import android.graphics.Bitmap
 import androidx.test.filters.SmallTest
@@ -25,9 +25,9 @@
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Paint
-import androidx.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.matchers.assertThat
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.matchers.assertThat
 import androidx.ui.unit.Density
 import androidx.ui.unit.sp
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextLayoutResultIntegrationTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutResultIntegrationTest.kt
similarity index 96%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextLayoutResultIntegrationTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutResultIntegrationTest.kt
index cbe373b..58e833e 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextLayoutResultIntegrationTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextLayoutResultIntegrationTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
@@ -22,9 +22,9 @@
 import androidx.ui.core.LayoutDirection
 import androidx.ui.geometry.Offset
 import androidx.ui.graphics.Canvas
-import androidx.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.matchers.isZero
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.matchers.isZero
 import androidx.ui.unit.Density
 import androidx.ui.unit.sp
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextTestExtensions.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
similarity index 92%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextTestExtensions.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
index e596f60..a0bd79f 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/TextTestExtensions.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/TextTestExtensions.kt
@@ -13,15 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import android.content.Context
 import android.graphics.Bitmap
 import android.graphics.Canvas
 import android.graphics.Typeface
 import androidx.core.content.res.ResourcesCompat
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.ResourceFont
 import kotlin.math.ceil
 import kotlin.math.roundToInt
 
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/BackspaceKeyEditOpTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceKeyEditOpTest.kt
similarity index 97%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/BackspaceKeyEditOpTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceKeyEditOpTest.kt
index ac30fd6..9427a195a 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/BackspaceKeyEditOpTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/BackspaceKeyEditOpTest.kt
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/MoveCursorEditOpTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorEditOpTest.kt
similarity index 98%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/MoveCursorEditOpTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorEditOpTest.kt
index 85d4ec0..b25c8cb 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/input/MoveCursorEditOpTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/input/MoveCursorEditOpTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleListTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
similarity index 97%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleListTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
index 0839a0e..5b10e8a 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleListTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleListTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.test.filters.SmallTest
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
similarity index 97%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
index 890157b..a86994c 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/intl/LocaleTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/intl/LocaleTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.test.filters.SmallTest
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/BitmapSubject.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
similarity index 97%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/BitmapSubject.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
index 192dc3c..ab87842 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/BitmapSubject.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/BitmapSubject.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.matchers
+package androidx.compose.ui.text.matchers
 
 import android.graphics.Bitmap
 import com.google.common.truth.FailureMetadata
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/CharSequenceSubject.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
similarity index 99%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/CharSequenceSubject.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
index 0b6238b..2dc842c 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/CharSequenceSubject.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/CharSequenceSubject.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.matchers
+package androidx.compose.ui.text.matchers
 
 import android.text.Spanned
 import com.google.common.truth.Fact.simpleFact
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/ComposeMatchers.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
similarity index 96%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/ComposeMatchers.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
index f7366ae..bec7fcb 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/ComposeMatchers.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/ComposeMatchers.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.matchers
+package androidx.compose.ui.text.matchers
 
 import android.graphics.Bitmap
 import android.graphics.Typeface
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/TypefaceSubject.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceSubject.kt
similarity index 95%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/TypefaceSubject.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceSubject.kt
index 3a3edbb..7d86827 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/matchers/TypefaceSubject.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/matchers/TypefaceSubject.kt
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.matchers
+package androidx.compose.ui.text.matchers
 
 import android.graphics.Typeface
 import android.os.Build
 import android.text.TextPaint
-import androidx.ui.text.FontTestData
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.matchers.TypefaceSubject.Companion.DEFINED_CHARACTERS
+import androidx.compose.ui.text.FontTestData
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.matchers.TypefaceSubject.Companion.DEFINED_CHARACTERS
 import com.google.common.truth.FailureMetadata
 import com.google.common.truth.Subject
 import com.google.common.truth.Subject.Factory
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTest.kt
similarity index 96%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTest.kt
index 48c0376..e0cfd35 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTest.kt
@@ -1,4 +1,4 @@
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Paint
 import android.text.TextPaint
@@ -17,31 +17,33 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.toArgb
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
-import androidx.ui.text.ParagraphConstraints
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TestFontResourceLoader
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.matchers.assertThat
-import androidx.ui.text.platform.style.BaselineShiftSpan
-import androidx.ui.text.platform.style.FontFeatureSpan
-import androidx.ui.text.platform.style.FontSpan
-import androidx.ui.text.platform.style.LetterSpacingSpanEm
-import androidx.ui.text.platform.style.LetterSpacingSpanPx
-import androidx.ui.text.platform.style.ShadowSpan
-import androidx.ui.text.platform.style.SkewXSpan
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.FontTestData.Companion.BASIC_MEASURE_FONT
+import androidx.compose.ui.text.ParagraphConstraints
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TestFontResourceLoader
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.TextLayout
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.matchers.assertThat
+import androidx.compose.ui.text.android.style.BaselineShiftSpan
+import androidx.compose.ui.text.android.style.FontFeatureSpan
+import androidx.compose.ui.text.android.style.FontSpan
+import androidx.compose.ui.text.android.style.LetterSpacingSpanEm
+import androidx.compose.ui.text.android.style.LetterSpacingSpanPx
+import androidx.compose.ui.text.android.style.ShadowSpan
+import androidx.compose.ui.text.android.style.SkewXSpan
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTextDirectionTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTextDirectionTest.kt
similarity index 94%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTextDirectionTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTextDirectionTest.kt
index f072c75..61365d6 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidParagraphTextDirectionTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidParagraphTextDirectionTest.kt
@@ -14,11 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.LayoutCompat
 import androidx.test.filters.SmallTest
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.style.TextDirection
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.style.TextDirection
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
 import org.junit.Before
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceCacheTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
similarity index 91%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceCacheTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
index 74daa86..3d04b1d 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceCacheTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceCacheTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.FontTestData
-import androidx.ui.text.matchers.assertThat
+import androidx.compose.ui.text.FontTestData
+import androidx.compose.ui.text.matchers.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.junit.MockitoJUnitRunner
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceSubsetTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
similarity index 91%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceSubsetTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
index 92cffca..08a805a 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceSubsetTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceSubsetTest.kt
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.content.Context
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.FontTestData
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.fontFamily
-import androidx.ui.text.matchers.assertThat
+import androidx.compose.ui.text.FontTestData
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.fontFamily
+import androidx.compose.ui.text.matchers.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.junit.MockitoJUnitRunner
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
similarity index 96%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
index 8b66324..c60c98c 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/AndroidTypefaceTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/AndroidTypefaceTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.content.Context
 import android.graphics.Typeface
@@ -22,17 +22,17 @@
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.FontTestData
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontMatcher
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.font.font
-import androidx.ui.text.font.fontFamily
-import androidx.ui.text.matchers.assertThat
-import androidx.ui.text.core.test.R
+import androidx.compose.ui.text.FontTestData
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontMatcher
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.fontFamily
+import androidx.compose.ui.text.matchers.assertThat
+import androidx.compose.ui.text.test.R
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.eq
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/GenerifFontFamilyCacheTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenerifFontFamilyCacheTest.kt
similarity index 84%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/GenerifFontFamilyCacheTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenerifFontFamilyCacheTest.kt
index a094134..47e7d9a 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/GenerifFontFamilyCacheTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/GenerifFontFamilyCacheTest.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.matchers.assertThat
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.matchers.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.junit.MockitoJUnitRunner
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TextTestExtensions.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
similarity index 91%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TextTestExtensions.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
index d371fe8..175ba72 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TextTestExtensions.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TextTestExtensions.kt
@@ -14,13 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Bitmap
 import android.graphics.Canvas
 import android.graphics.Typeface
 import android.text.Layout
 import android.text.TextPaint
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.TextLayout
 import kotlin.math.ceil
 
 internal fun AndroidParagraph.bitmap(): Bitmap {
diff --git a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TypefaceAdapterTest.kt b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TypefaceAdapterTest.kt
similarity index 89%
rename from ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TypefaceAdapterTest.kt
rename to ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TypefaceAdapterTest.kt
index 419d336..11e1a26 100644
--- a/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/ui/text/platform/TypefaceAdapterTest.kt
+++ b/ui/ui-text-core/src/androidAndroidTest/kotlin/androidx/compose/ui/text/platform/TypefaceAdapterTest.kt
@@ -13,42 +13,42 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Typeface
 import android.os.Build
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.text.FontTestData.Companion.FONT_100_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_100_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_200_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_200_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_300_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_300_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_400_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_400_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_500_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_500_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_600_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_600_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_700_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_700_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_800_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_800_REGULAR
-import androidx.ui.text.FontTestData.Companion.FONT_900_ITALIC
-import androidx.ui.text.FontTestData.Companion.FONT_900_REGULAR
-import androidx.ui.text.TestFontResourceLoader
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.font
-import androidx.ui.text.font.fontFamily
-import androidx.ui.text.font.FontMatcher
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.matchers.assertThat
-import androidx.ui.text.core.test.R
+import androidx.compose.ui.text.FontTestData.Companion.FONT_100_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_100_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_200_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_200_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_300_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_300_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_400_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_400_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_500_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_500_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_600_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_600_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_700_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_700_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_800_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_800_REGULAR
+import androidx.compose.ui.text.FontTestData.Companion.FONT_900_ITALIC
+import androidx.compose.ui.text.FontTestData.Companion.FONT_900_REGULAR
+import androidx.compose.ui.text.TestFontResourceLoader
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.fontFamily
+import androidx.compose.ui.text.font.FontMatcher
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.matchers.assertThat
+import androidx.compose.ui.text.test.R
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.eq
diff --git a/ui/ui-text-core/src/androidMain/AndroidManifest.xml b/ui/ui-text-core/src/androidMain/AndroidManifest.xml
index 3085d36..39e91c6 100644
--- a/ui/ui-text-core/src/androidMain/AndroidManifest.xml
+++ b/ui/ui-text-core/src/androidMain/AndroidManifest.xml
@@ -14,4 +14,4 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
-<manifest package="androidx.ui.text.core" />
+<manifest package="androidx.compose.ui.text" />
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidLocaleDelegate.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.kt
similarity index 98%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidLocaleDelegate.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.kt
index 35e3ec3..a192a45d 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidLocaleDelegate.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidLocaleDelegate.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.annotation.RequiresApi
 import android.os.LocaleList as AndroidLocaleList
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidPlatformLocale.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidPlatformLocale.kt
similarity index 95%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidPlatformLocale.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidPlatformLocale.kt
index 340722c..3bb2d2a 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/intl/AndroidPlatformLocale.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/intl/AndroidPlatformLocale.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import android.os.Build
 
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidDefaultTypeface.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.kt
similarity index 81%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidDefaultTypeface.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.kt
index 7c0bdf3..8951161 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidDefaultTypeface.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidDefaultTypeface.kt
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Typeface
 import android.os.Build
-import androidx.ui.text.font.DefaultFontFamily
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.DefaultFontFamily
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
 
 /**
  * An implementation of [AndroidTypeface] for [DefaultFontFamily]
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidFontListTypeface.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.kt
similarity index 89%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidFontListTypeface.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.kt
index bab7ef8..a62a522 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidFontListTypeface.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidFontListTypeface.kt
@@ -14,21 +14,21 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.content.Context
 import android.graphics.Typeface
 import android.util.TypedValue
 import androidx.collection.LruCache
 import androidx.core.content.res.ResourcesCompat
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.FontMatcher
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.FontMatcher
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.ResourceFont
 import androidx.ui.util.fastForEach
 
 /**
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidGenericFontFamilyTypeface.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.kt
similarity index 89%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidGenericFontFamilyTypeface.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.kt
index fe3909f..4ded9a9 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidGenericFontFamilyTypeface.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidGenericFontFamilyTypeface.kt
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Typeface
 import android.os.Build
 import androidx.annotation.GuardedBy
 import androidx.collection.SparseArrayCompat
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.GenericFontFamily
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.GenericFontFamily
 
 /**
  * An implementation of [AndroidTypeface] for [GenericFontFamily]
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraph.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraph.kt
similarity index 89%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraph.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraph.kt
index af00d7f..cafa3e6 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraph.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraph.kt
@@ -13,37 +13,39 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.text.Spanned
 import android.text.TextPaint
 import android.text.TextUtils
+import androidx.compose.ui.text.android.InternalPlatformTextApi
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.asComposePath
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.Paragraph
-import androidx.ui.text.ParagraphConstraints
-import androidx.ui.text.ParagraphIntrinsics
-import androidx.ui.text.Placeholder
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
-import androidx.ui.text.platform.LayoutCompat.ALIGN_CENTER
-import androidx.ui.text.platform.LayoutCompat.ALIGN_LEFT
-import androidx.ui.text.platform.LayoutCompat.ALIGN_NORMAL
-import androidx.ui.text.platform.LayoutCompat.ALIGN_OPPOSITE
-import androidx.ui.text.platform.LayoutCompat.ALIGN_RIGHT
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_ALIGNMENT
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
-import androidx.ui.text.platform.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
-import androidx.ui.text.platform.LayoutCompat.JUSTIFICATION_MODE_INTER_WORD
-import androidx.ui.text.platform.selection.WordBoundary
-import androidx.ui.text.platform.style.PlaceholderSpan
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.Paragraph
+import androidx.compose.ui.text.ParagraphConstraints
+import androidx.compose.ui.text.ParagraphIntrinsics
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_CENTER
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_LEFT
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_NORMAL
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_OPPOSITE
+import androidx.compose.ui.text.android.LayoutCompat.ALIGN_RIGHT
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_ALIGNMENT
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
+import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
+import androidx.compose.ui.text.android.LayoutCompat.JUSTIFICATION_MODE_INTER_WORD
+import androidx.compose.ui.text.android.TextLayout
+import androidx.compose.ui.text.android.selection.WordBoundary
+import androidx.compose.ui.text.android.style.PlaceholderSpan
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import androidx.ui.geometry.Offset
 import androidx.ui.util.annotation.VisibleForTesting
@@ -208,6 +210,10 @@
     internal val textPaint: TextPaint
         get() = paragraphIntrinsics.textPaint
 
+    override fun getLineForVerticalPosition(vertical: Float): Int {
+        return layout.getLineForVertical(vertical.toInt())
+    }
+
     override fun getOffsetForPosition(position: Offset): Int {
         val line = layout.getLineForVertical(position.y.toInt())
         return layout.getOffsetForHorizontal(line, position.x)
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphHelper.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.kt
similarity index 74%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphHelper.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.kt
index 6b12724..0dabd95 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphHelper.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.kt
@@ -14,17 +14,18 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.text.SpannableString
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.Placeholder
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.platform.extensions.setLineHeight
-import androidx.ui.text.platform.extensions.setPlaceholders
-import androidx.ui.text.platform.extensions.setSpanStyles
-import androidx.ui.text.platform.extensions.setTextIndent
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.platform.extensions.setLineHeight
+import androidx.compose.ui.text.platform.extensions.setPlaceholders
+import androidx.compose.ui.text.platform.extensions.setSpanStyles
+import androidx.compose.ui.text.platform.extensions.setTextIndent
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphIntrinsics.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.kt
similarity index 87%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphIntrinsics.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.kt
index 1277b38..c38778a 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidParagraphIntrinsics.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphIntrinsics.kt
@@ -14,22 +14,25 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.graphics.Paint
 import android.text.TextPaint
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.LayoutCompat
+import androidx.compose.ui.text.android.LayoutIntrinsics
 import androidx.core.text.TextUtilsCompat
 import androidx.core.view.ViewCompat
-import androidx.ui.intl.AndroidLocale
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.ParagraphIntrinsics
-import androidx.ui.text.Placeholder
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
-import androidx.ui.text.platform.extensions.applySpanStyle
-import androidx.ui.text.style.TextDirection
+import androidx.compose.ui.text.intl.AndroidLocale
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.ParagraphIntrinsics
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.platform.extensions.applySpanStyle
+import androidx.compose.ui.text.style.TextDirection
 import androidx.ui.unit.Density
 import java.util.Locale
 
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidStringDelegate.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.kt
similarity index 86%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidStringDelegate.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.kt
index 02469d3..d5522c5 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidStringDelegate.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidStringDelegate.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
-import androidx.ui.intl.AndroidLocale
-import androidx.ui.intl.PlatformLocale
-import androidx.ui.text.PlatformStringDelegate
+import androidx.compose.ui.text.intl.AndroidLocale
+import androidx.compose.ui.text.intl.PlatformLocale
+import androidx.compose.ui.text.PlatformStringDelegate
 
 /**
  * An Android implementation of StringDelegate
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidTypeface.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.kt
similarity index 84%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidTypeface.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.kt
index 359a6ae..f30da6d 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/AndroidTypeface.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidTypeface.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
-import androidx.ui.text.Typeface
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
+import androidx.compose.ui.text.Typeface
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
 import android.graphics.Typeface as NativeTypeface
 
 /**
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/TypefaceAdapter.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.kt
similarity index 94%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/TypefaceAdapter.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.kt
index 29c8247f0..a99c794 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/TypefaceAdapter.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/TypefaceAdapter.kt
@@ -14,23 +14,23 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
 import android.content.Context
 import android.graphics.Typeface
 import android.os.Build
 import androidx.collection.LruCache
-import androidx.ui.text.font.DefaultFontFamily
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.FontMatcher
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.GenericFontFamily
-import androidx.ui.text.font.LoadedFontFamily
-import androidx.ui.text.font.font
+import androidx.compose.ui.text.font.DefaultFontFamily
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.FontMatcher
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.GenericFontFamily
+import androidx.compose.ui.text.font.LoadedFontFamily
+import androidx.compose.ui.text.font.font
 
 /**
  * Creates a Typeface based on generic font family or a custom [FontFamily].
@@ -274,7 +274,7 @@
     context: Context,
     fontFamily: FontFamily,
     necessaryStyles: List<Pair<FontWeight, FontStyle>>? = null
-): androidx.ui.text.Typeface {
+): androidx.compose.ui.text.Typeface {
     return when (fontFamily) {
         is FontListFontFamily -> AndroidFontListTypeface(fontFamily, context, necessaryStyles)
         is GenericFontFamily -> AndroidGenericFontFamilyTypeface(fontFamily)
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/LocaleExtensions.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.kt
similarity index 82%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/LocaleExtensions.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.kt
index 061c10d..a1b62b4f 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/LocaleExtensions.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/LocaleExtensions.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.extensions
+package androidx.compose.ui.text.platform.extensions
 
 import androidx.annotation.RequiresApi
-import androidx.ui.intl.AndroidLocale
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.AndroidLocale
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
 
 internal fun Locale.toJavaLocale(): java.util.Locale = (platformLocale as AndroidLocale).javaLocale
 
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/PlaceholderExtensions.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/PlaceholderExtensions.kt
similarity index 89%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/PlaceholderExtensions.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/PlaceholderExtensions.kt
index 45a5674..191691c 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/PlaceholderExtensions.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/PlaceholderExtensions.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.extensions
+package androidx.compose.ui.text.platform.extensions
 
 import android.text.Spannable
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.Placeholder
-import androidx.ui.text.PlaceholderVerticalAlign
-import androidx.ui.text.platform.InternalPlatformTextApi
-import androidx.ui.text.platform.style.PlaceholderSpan
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.PlaceholderVerticalAlign
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.android.style.PlaceholderSpan
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.TextUnitType
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/SpannableExtensions.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/SpannableExtensions.kt
similarity index 88%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/SpannableExtensions.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/SpannableExtensions.kt
index 17387cc..a33f12c 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/SpannableExtensions.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/SpannableExtensions.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.extensions
+package androidx.compose.ui.text.platform.extensions
 
 import android.graphics.Typeface
 import android.os.Build
@@ -34,29 +34,29 @@
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.isSet
 import androidx.ui.graphics.toArgb
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.platform.InternalPlatformTextApi
-import androidx.ui.text.platform.TypefaceAdapter
-import androidx.ui.text.platform.style.BaselineShiftSpan
-import androidx.ui.text.platform.style.FontFeatureSpan
-import androidx.ui.text.platform.style.FontSpan
-import androidx.ui.text.platform.style.FontWeightStyleSpan
-import androidx.ui.text.platform.style.LetterSpacingSpanEm
-import androidx.ui.text.platform.style.LetterSpacingSpanPx
-import androidx.ui.text.platform.style.LineHeightSpan
-import androidx.ui.text.platform.style.ShadowSpan
-import androidx.ui.text.platform.style.SkewXSpan
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.android.InternalPlatformTextApi
+import androidx.compose.ui.text.platform.TypefaceAdapter
+import androidx.compose.ui.text.android.style.BaselineShiftSpan
+import androidx.compose.ui.text.android.style.FontFeatureSpan
+import androidx.compose.ui.text.android.style.FontSpan
+import androidx.compose.ui.text.android.style.FontWeightStyleSpan
+import androidx.compose.ui.text.android.style.LetterSpacingSpanEm
+import androidx.compose.ui.text.android.style.LetterSpacingSpanPx
+import androidx.compose.ui.text.android.style.LineHeightSpan
+import androidx.compose.ui.text.android.style.ShadowSpan
+import androidx.compose.ui.text.android.style.SkewXSpan
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.TextUnitType
diff --git a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/TextPaintExtensions.kt b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.kt
similarity index 88%
rename from ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/TextPaintExtensions.kt
rename to ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.kt
index 0d7fb2c..f8578b9 100644
--- a/ui/ui-text-core/src/androidMain/kotlin/androidx/ui/text/platform/extensions/TextPaintExtensions.kt
+++ b/ui/ui-text-core/src/androidMain/kotlin/androidx/compose/ui/text/platform/extensions/TextPaintExtensions.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform.extensions
+package androidx.compose.ui.text.platform.extensions
 
 import android.graphics.Typeface
 import android.os.Build
@@ -23,17 +23,17 @@
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.isSet
 import androidx.ui.graphics.toArgb
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.platform.TypefaceAdapter
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.platform.TypefaceAdapter
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.TextUnitType
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/AnnotatedString.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/AnnotatedString.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
index 9b9bfde..16e4427 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/AnnotatedString.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/AnnotatedString.kt
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.AnnotatedString.Builder
-import androidx.ui.text.AnnotatedString.Range
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.AnnotatedString.Builder
+import androidx.compose.ui.text.AnnotatedString.Range
 import androidx.ui.util.fastForEach
 
 /**
@@ -67,7 +67,7 @@
      * between specified paragraph [Range]s, a default paragraph will be created in between.
      *
      * @throws IllegalArgumentException if [paragraphStyles] contains any two overlapping [Range]s.
-     * @sample androidx.ui.text.samples.AnnotatedStringConstructorSample
+     * @sample androidx.compose.ui.text.samples.AnnotatedStringConstructorSample
      *
      * @see SpanStyle
      * @see ParagraphStyle
@@ -149,7 +149,7 @@
      * Builder class for AnnotatedString. Enables construction of an [AnnotatedString] using
      * methods such as [append] and [addStyle].
      *
-     * @sample androidx.ui.text.samples.AnnotatedStringBuilderSample
+     * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderSample
      *
      * @param capacity initial capacity for the internal char buffer
      */
@@ -270,7 +270,7 @@
          * @param start the inclusive starting offset of the range
          * @param end the exclusive end offset of the range
          * @see getStringAnnotations
-         * @sample androidx.ui.text.samples.AnnotatedStringAddStringAnnotationSample
+         * @sample androidx.compose.ui.text.samples.AnnotatedStringAddStringAnnotationSample
          */
         fun addStringAnnotation(scope: String, annotation: String, start: Int, end: Int) {
             annotations.add(MutableRange(annotation, start, end, scope))
@@ -280,7 +280,7 @@
          * Applies the given [SpanStyle] to any appended text until a corresponding [pop] is
          * called.
          *
-         * @sample androidx.ui.text.samples.AnnotatedStringBuilderPushSample
+         * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderPushSample
          *
          * @param style SpanStyle to be applied
          */
@@ -296,7 +296,7 @@
          * Applies the given [ParagraphStyle] to any appended text until a corresponding [pop]
          * is called.
          *
-         * @sample androidx.ui.text.samples.AnnotatedStringBuilderPushParagraphStyleSample
+         * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderPushParagraphStyleSample
          *
          * @param style ParagraphStyle to be applied
          */
@@ -312,7 +312,7 @@
          * Attach the given [annotation] to any appended text until a corresponding [pop]
          * is called.
          *
-         * @sample androidx.ui.text.samples.AnnotatedStringBuilderPushStringAnnotationSample
+         * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderPushStringAnnotationSample
          *
          * @param tag the tag used to distinguish annotations
          * @param annotation the string annotation attached on this AnnotatedString
@@ -581,7 +581,7 @@
 /**
  * Pushes [style] to the [AnnotatedString.Builder], executes [block] and then pops the [style].
  *
- * @sample androidx.ui.text.samples.AnnotatedStringBuilderWithStyleSample
+ * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderWithStyleSample
  *
  * @param style [SpanStyle] to be applied
  * @param block function to be executed
@@ -606,7 +606,7 @@
 /**
  * Pushes [style] to the [AnnotatedString.Builder], executes [block] and then pops the [style].
  *
- * @sample androidx.ui.text.samples.AnnotatedStringBuilderWithStyleSample
+ * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderWithStyleSample
  *
  * @param style [SpanStyle] to be applied
  * @param block function to be executed
@@ -700,7 +700,7 @@
  * Build a new AnnotatedString by populating newly created [AnnotatedString.Builder] provided
  * by [builder].
  *
- * @sample androidx.ui.text.samples.AnnotatedStringBuilderLambdaSample
+ * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderLambdaSample
  *
  * @param builder lambda to modify [AnnotatedString.Builder]
  */
@@ -715,7 +715,7 @@
  * Build a new AnnotatedString by populating newly created [AnnotatedString.Builder] provided
  * by [builder].
  *
- * @sample androidx.ui.text.samples.AnnotatedStringBuilderLambdaSample
+ * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderLambdaSample
  *
  * @param builder lambda to modify [AnnotatedString.Builder]
  */
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/InternalTextApi.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
similarity index 96%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/InternalTextApi.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
index 807eddc..e0b91a4 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/InternalTextApi.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/InternalTextApi.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 @RequiresOptIn(
     level = RequiresOptIn.Level.ERROR,
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraph.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraph.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
index 9b30ec4..06f00c4 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraph.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Path
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import androidx.ui.geometry.Offset
 import androidx.ui.util.fastForEach
@@ -264,6 +264,28 @@
         return path
     }
 
+    /**
+     * Returns line number closest to the given graphical vertical position.
+     * If you ask for a vertical position before 0, you get 0; if you ask for a vertical position
+     * beyond the last line, you get the last line.
+     */
+    fun getLineForVerticalPosition(vertical: Float): Int {
+        val paragraphIndex = when {
+            vertical <= 0f -> 0
+            vertical >= height -> paragraphInfoList.lastIndex
+            else -> findParagraphByY(paragraphInfoList, vertical)
+        }
+        return with(paragraphInfoList[paragraphIndex]) {
+            if (length == 0) {
+                max(0, startIndex - 1)
+            } else {
+                paragraph.getLineForVerticalPosition(
+                    vertical.toLocalYPosition()
+                ).toGlobalLineIndex()
+            }
+        }
+    }
+
     /** Returns the character offset closest to the given graphical position. */
     fun getOffsetForPosition(position: Offset): Int {
         val paragraphIndex = when {
@@ -685,7 +707,7 @@
     }
 
     /**
-     * Convert a local y position relative to [paragraph] to the globla y postiion relative to the
+     * Convert a local y position relative to [paragraph] to the global y position relative to the
      * parent [MultiParagraph].
      */
     fun Float.toGlobalYPosition(): Float {
@@ -693,6 +715,14 @@
     }
 
     /**
+     * Convert a global y position relative to the parent [MultiParagraph] to a local y position
+     * relative to [paragraph].
+     */
+    fun Float.toLocalYPosition(): Float {
+        return this - top
+    }
+
+    /**
      * Convert a [Offset] relative to the parent [MultiParagraph] to the local [Offset]
      * relative to the [paragraph].
      */
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
index 5e08541..5e75b7f 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraphIntrinsics.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextDirection
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextDirection
 import androidx.ui.unit.Density
 
 /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Paragraph.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
similarity index 93%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Paragraph.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
index f0bef7e..ac6c641 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Paragraph.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Path
-import androidx.ui.text.font.Font
-import androidx.ui.text.platform.ActualParagraph
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.platform.ActualParagraph
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import androidx.ui.geometry.Offset
 
@@ -189,6 +189,13 @@
      */
     fun getBidiRunDirection(offset: Int): ResolvedTextDirection
 
+    /**
+     * Returns line number closest to the given graphical vertical position.
+     * If you ask for a vertical position before 0, you get 0; if you ask for a vertical position
+     * beyond the last line, you get the last line.
+     */
+    fun getLineForVerticalPosition(vertical: Float): Int
+
     /** Returns the character offset closest to the given graphical position. */
     fun getOffsetForPosition(position: Offset): Int
 
@@ -217,8 +224,8 @@
  * Lays out a given [text] with the given constraints. A paragraph is a text that has a single
  * [ParagraphStyle].
  *
- * If the [style] does not contain any [androidx.ui.text.style.TextDirection],
- * [androidx.ui.text.style.TextDirection.Content] is used as the default value.
+ * If the [style] does not contain any [androidx.compose.ui.text.style.TextDirection],
+ * [androidx.compose.ui.text.style.TextDirection.Content] is used as the default value.
  *
  * @param text the text to be laid out
  * @param style the [TextStyle] to be applied to the whole text
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphConstraints.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphConstraints.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphConstraints.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphConstraints.kt
index dec867f..dfbbf72 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphConstraints.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphConstraints.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 /**
  * Layout constraints for [Paragraph] objects.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphIntrinsics.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
similarity index 83%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphIntrinsics.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
index f230fe0..5878b1d 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphIntrinsics.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphIntrinsics.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.font.Font
-import androidx.ui.text.platform.ActualParagraphIntrinsics
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.platform.ActualParagraphIntrinsics
 import androidx.ui.unit.Density
 
 /**
@@ -39,8 +39,8 @@
 /**
  *  Factory method to create a [ParagraphIntrinsics].
  *
- *  If the [style] does not contain any [androidx.ui.text.style.TextDirection],
- * [androidx.ui.text.style.TextDirection.Content] is used as the default value.
+ *  If the [style] does not contain any [androidx.compose.ui.text.style.TextDirection],
+ * [androidx.compose.ui.text.style.TextDirection.Content] is used as the default value.
  *
  * @see ParagraphIntrinsics
  */
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphStyle.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphStyle.kt
similarity index 91%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphStyle.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphStyle.kt
index 8d9c6f9..f251871b 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/ParagraphStyle.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/ParagraphStyle.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextIndent
-import androidx.ui.text.style.lerp
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.text.style.lerp
 import androidx.ui.unit.TextUnit
 
 /**
@@ -31,8 +31,8 @@
  * Once a portion of the text is marked with a `ParagraphStyle`, that portion will be separated from
  * the remaining as if a line feed character was added.
  *
- * @sample androidx.ui.text.samples.ParagraphStyleSample
- * @sample androidx.ui.text.samples.ParagraphStyleAnnotatedStringsSample
+ * @sample androidx.compose.ui.text.samples.ParagraphStyleSample
+ * @sample androidx.compose.ui.text.samples.ParagraphStyleAnnotatedStringsSample
  *
  * @param textAlign The alignment of the text within the lines of the paragraph.
  * @param textDirection The algorithm to be used to resolve the final text direction:
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Placeholder.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Placeholder.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
index d778c0b..b9112d2 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Placeholder.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Placeholder.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.ui.unit.TextUnit
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SoftwareKeyboardController.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SoftwareKeyboardController.kt
similarity index 91%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SoftwareKeyboardController.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SoftwareKeyboardController.kt
index 71fa0c9..1594bd8 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SoftwareKeyboardController.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SoftwareKeyboardController.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.geometry.Rect
-import androidx.ui.input.InputSessionToken
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.InputSessionToken
+import androidx.compose.ui.text.input.TextInputService
 
 /**
  * Provide software keyboard control.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SpanStyle.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
similarity index 92%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SpanStyle.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
index a3d9025..c959d7c 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/SpanStyle.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/SpanStyle.kt
@@ -14,24 +14,24 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.lerp
 import androidx.ui.graphics.useOrElse
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.lerp
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.lerp
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.lerp
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.lerp
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.lerp
 
@@ -40,9 +40,9 @@
  * in order to set paragraph level styling such as line height, or text alignment please see
  * [ParagraphStyle].
  *
- * @sample androidx.ui.text.samples.SpanStyleSample
+ * @sample androidx.compose.ui.text.samples.SpanStyleSample
  *
- * @sample androidx.ui.text.samples.AnnotatedStringBuilderSample
+ * @sample androidx.compose.ui.text.samples.AnnotatedStringBuilderSample
  *
  * @param color The text color.
  * @param fontSize The size of glyphs (in logical pixels) to use when painting the text. This
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/String.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
similarity index 94%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/String.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
index f31ae8e..8261b49 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/String.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/String.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
-import androidx.ui.intl.PlatformLocale
-import androidx.ui.text.platform.ActualStringDelegate
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.intl.PlatformLocale
+import androidx.compose.ui.text.platform.ActualStringDelegate
 
 /**
  * Interface for providing platform dependent string related operations.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextDelegate.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextDelegate.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextDelegate.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextDelegate.kt
index f7ddaaa..abff943 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextDelegate.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextDelegate.kt
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
 import androidx.ui.core.constrain
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Paint
-import androidx.ui.text.TextDelegate.Companion.paint
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.TextDelegate.Companion.paint
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntSize
 import androidx.ui.util.annotation.VisibleForTesting
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutHelper.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutHelper.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutHelper.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutHelper.kt
index 8b60c0b..5dffdb5 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutHelper.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutHelper.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 
 /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutResult.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
similarity index 87%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutResult.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
index c68da8a..9e1580d 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextLayoutResult.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextLayoutResult.kt
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
 import androidx.ui.geometry.Offset
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Path
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntSize
 
@@ -148,6 +148,11 @@
     val placeholderRects: List<Rect?> = multiParagraph.placeholderRects
 
     /**
+     * Returns a number of lines of this text layout
+     */
+    val lineCount: Int get() = multiParagraph.lineCount
+
+    /**
      * Returns the end offset of the given line, inclusive.
      *
      * @param lineIndex the line number
@@ -180,6 +185,22 @@
     fun getLineBottom(lineIndex: Int): Float = multiParagraph.getLineBottom(lineIndex)
 
     /**
+     * Returns the left x coordinate of the given line.
+     *
+     * @param lineIndex the line number
+     * @return the line left x coordinate
+     */
+    fun getLineLeft(lineIndex: Int): Float = multiParagraph.getLineLeft(lineIndex)
+
+    /**
+     * Returns the right x coordinate of the given line.
+     *
+     * @param lineIndex the line number
+     * @return the line right x coordinate
+     */
+    fun getLineRight(lineIndex: Int): Float = multiParagraph.getLineRight(lineIndex)
+
+    /**
      * Returns the line number on which the specified text offset appears.
      *
      * If you ask for a position before 0, you get 0; if you ask for a position
@@ -191,6 +212,18 @@
     fun getLineForOffset(offset: Int): Int = multiParagraph.getLineForOffset(offset)
 
     /**
+     * Returns line number closest to the given graphical vertical position.
+     *
+     * If you ask for a vertical position before 0, you get 0; if you ask for a vertical position
+     * beyond the last line, you get the last line.
+     *
+     * @param vertical the vertical position
+     * @return the 0 origin line number.
+     */
+    fun getLineForVerticalPosition(vertical: Float): Int =
+        multiParagraph.getLineForVerticalPosition(vertical)
+
+    /**
      * Get the horizontal position for the specified text [offset].
      *
      * Returns the relative distance from the text starting offset. For example, if the paragraph
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextPainter.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
similarity index 94%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextPainter.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
index 2bedb69..ad8d976 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextPainter.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextPainter.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.style.TextOverflow
 
 object TextPainter {
     /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextRange.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextRange.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
index ecb624c..95f1efe 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextRange.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextRange.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.ui.util.annotation.IntRange
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextStyle.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextStyle.kt
similarity index 94%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextStyle.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextStyle.kt
index 445aa0c..21bf09cc 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/TextStyle.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/TextStyle.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
@@ -22,17 +22,17 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.useOrElse
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
 import androidx.ui.util.annotation.VisibleForTesting
@@ -49,7 +49,7 @@
 /**
  * Styling configuration for a `Text`.
  *
- * @sample androidx.ui.text.samples.TextStyleSample
+ * @sample androidx.compose.ui.text.samples.TextStyleSample
  *
  * @param color The text color.
  * @param fontSize The size of glyphs to use when painting the text. This
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Typeface.kt
similarity index 90%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Typeface.kt
index f4ab861..7834fce 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/Typeface.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/Typeface.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontFamily
 
 /**
  * A class that can be used for changing the font used in text.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/Font.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/Font.kt
similarity index 83%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/Font.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/Font.kt
index dbb7568..151b6a1 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/Font.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/Font.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
@@ -28,13 +28,13 @@
 interface Font {
     /**
      * The weight of the font. The system uses this to match a font to a font request
-     * that is given in a [androidx.ui.text.SpanStyle].
+     * that is given in a [androidx.compose.ui.text.SpanStyle].
      */
     val weight: FontWeight
 
     /**
      * The style of the font, normal or italic. The system uses this to match a font to a
-     * font request that is given in a [androidx.ui.text.SpanStyle].
+     * font request that is given in a [androidx.compose.ui.text.SpanStyle].
      */
     val style: FontStyle
 
@@ -55,13 +55,13 @@
 /**
  * Defines a font to be used while rendering text with resource ID.
  *
- * @sample androidx.ui.text.samples.CustomFontFamilySample
+ * @sample androidx.compose.ui.text.samples.CustomFontFamilySample
  *
  * @param resId The resource ID of the font file in font resources. i.e. "R.font.myfont".
  * @param weight The weight of the font. The system uses this to match a font to a font request
- * that is given in a [androidx.ui.text.TextStyle].
+ * that is given in a [androidx.compose.ui.text.TextStyle].
  * @param style The style of the font, normal or italic. The system uses this to match a font to a
- * font request that is given in a [androidx.ui.text.TextStyle].
+ * font request that is given in a [androidx.compose.ui.text.TextStyle].
  *
  * @see FontFamily
  */
@@ -76,9 +76,9 @@
  *
  * @param resId The resource ID of the font file in font resources. i.e. "R.font.myfont".
  * @param weight The weight of the font. The system uses this to match a font to a font request
- * that is given in a [androidx.ui.text.SpanStyle].
+ * that is given in a [androidx.compose.ui.text.SpanStyle].
  * @param style The style of the font, normal or italic. The system uses this to match a font to a
- * font request that is given in a [androidx.ui.text.SpanStyle].
+ * font request that is given in a [androidx.compose.ui.text.SpanStyle].
  *
  * @see FontFamily
  */
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontFamily.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamily.kt
similarity index 88%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontFamily.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamily.kt
index 1a9a765..1e6ca56 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontFamily.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontFamily.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
-import androidx.ui.text.Typeface
+import androidx.compose.ui.text.Typeface
 
 /**
  * The base class of the font families.
@@ -37,7 +37,7 @@
         /**
          * Font family with low contrast and plain stroke endings.
          *
-         * @sample androidx.ui.text.samples.FontFamilySansSerifSample
+         * @sample androidx.compose.ui.text.samples.FontFamilySansSerifSample
          *
          * @see [CSS sans-serif](https://www.w3.org/TR/css-fonts-3/#sans-serif)
          */
@@ -46,7 +46,7 @@
         /**
          * The formal text style for scripts.
          *
-         * @sample androidx.ui.text.samples.FontFamilySerifSample
+         * @sample androidx.compose.ui.text.samples.FontFamilySerifSample
          *
          * @see [CSS serif](https://www.w3.org/TR/css-fonts-3/#serif)
          */
@@ -55,7 +55,7 @@
         /**
          * Font family where glyphs have the same fixed width.
          *
-         * @sample androidx.ui.text.samples.FontFamilyMonospaceSample
+         * @sample androidx.compose.ui.text.samples.FontFamilyMonospaceSample
          *
          * @see [CSS monospace](https://www.w3.org/TR/css-fonts-3/#monospace)
          */
@@ -67,7 +67,7 @@
          * If the device doesn't support this font family, the system will fallback to the
          * default font.
          *
-         * @sample androidx.ui.text.samples.FontFamilyCursiveSample
+         * @sample androidx.compose.ui.text.samples.FontFamilyCursiveSample
          *
          * @see [CSS cursive](https://www.w3.org/TR/css-fonts-3/#cursive)
          */
@@ -88,8 +88,8 @@
 /**
  * Defines a font family with list of [Font].
  *
- * @sample androidx.ui.text.samples.FontFamilySansSerifSample
- * @sample androidx.ui.text.samples.CustomFontFamilySample
+ * @sample androidx.compose.ui.text.samples.FontFamilySansSerifSample
+ * @sample androidx.compose.ui.text.samples.CustomFontFamilySample
  */
 @Immutable
 data class FontListFontFamily(val fonts: List<Font>) : FileBasedFontFamily(), List<Font> by fonts {
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontMatcher.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontMatcher.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
index 452bda3..41851e0 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontMatcher.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontMatcher.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 /**
  * Given a [FontFamily], [FontWeight] and [FontStyle], matches the best font in the [FontFamily]
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontStyle.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontStyle.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontStyle.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontStyle.kt
index 0a5dda8..c7726bb 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontStyle.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontStyle.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 /**
  *  Defines whether the font is [Italic] or [Normal].
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontSynthesis.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontSynthesis.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
index 73bc506..a4f63c6 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontSynthesis.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontSynthesis.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 /**
  *  Possible options for font synthesis.
@@ -31,7 +31,7 @@
  *  `FontSynthesis` works the same way as the [CSS font-synthesis](https://www.w3
  *  .org/TR/css-fonts-4/#font-synthesis) property.
  *
- *  @sample androidx.ui.text.samples.FontFamilySynthesisSample
+ *  @sample androidx.compose.ui.text.samples.FontFamilySynthesisSample
  **/
 enum class FontSynthesis {
     /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontWeight.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontWeight.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontWeight.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontWeight.kt
index 72bce00..092fddf 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontWeight.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/font/FontWeight.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditOperation.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditOperation.kt
similarity index 99%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditOperation.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditOperation.kt
index a11a949..5a2bec4 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditOperation.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditOperation.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.ui.util.isSurrogatePair
 import androidx.ui.util.findFollowingBreak
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditProcessor.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditProcessor.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
index fc485f2..b1cd851 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditProcessor.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditProcessor.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import androidx.ui.util.annotation.VisibleForTesting
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 
 /**
  * The core editing implementation
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditingBuffer.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditingBuffer.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditingBuffer.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditingBuffer.kt
index fc44c74..5c8384e 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/EditingBuffer.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/EditingBuffer.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.TextRange
 
 /**
  * The editing buffer
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/GapBuffer.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/GapBuffer.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/GapBuffer.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/GapBuffer.kt
index 8e83bbc..cdd1313 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/GapBuffer.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/GapBuffer.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 
 private fun String.toCharArray(
     destination: CharArray,
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/ImeAction.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/ImeAction.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
index 1f19c4e..530be56 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/ImeAction.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/ImeAction.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 /**
  * Enums used for indicating IME action.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/InputEventListener.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventListener.kt
similarity index 96%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/InputEventListener.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventListener.kt
index b43beb1..3ce0b3e 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/InputEventListener.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/InputEventListener.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 /**
  * An interface of listening IME events.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/KeyboardType.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardType.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/KeyboardType.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardType.kt
index ee7f088..1978a21 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/KeyboardType.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/KeyboardType.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 /**
  * Enums used for indicating keyboard types
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextFieldValue.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
similarity index 94%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextFieldValue.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
index 472d244..68611b4 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextFieldValue.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextFieldValue.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
 import androidx.compose.runtime.savedinstancestate.Saver
 import androidx.compose.runtime.savedinstancestate.listSaver
-import androidx.ui.text.TextRange
-import androidx.ui.text.substring
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.substring
 import kotlin.math.max
 import kotlin.math.min
 
@@ -34,8 +34,8 @@
  */
 @Immutable
 @Deprecated(
-    "Please use androidx.ui.input.TextFieldValue instead",
-    ReplaceWith("TextFieldValue", "androidx.ui.input.TextFieldValue")
+    "Please use androidx.compose.ui.text.input.TextFieldValue instead",
+    ReplaceWith("TextFieldValue", "androidx.compose.ui.text.input.TextFieldValue")
 )
 data class EditorValue(
     /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextInputService.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextInputService.kt
similarity index 98%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextInputService.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextInputService.kt
index 886fce3..3a2253c 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/TextInputService.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/TextInputService.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.ui.geometry.Rect
 
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/VisualTransformation.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/VisualTransformation.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/VisualTransformation.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/VisualTransformation.kt
index 4ea3255..830a58c 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/VisualTransformation.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/input/VisualTransformation.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 
 /**
  * The map interface used for bidirectional offset mapping from original to transformed text.
@@ -95,13 +95,13 @@
      *  original text   : thisispassword
      *  transformed text: **************
      *
-     *  @sample androidx.ui.text.samples.passwordFilter
+     *  @sample androidx.compose.ui.text.samples.passwordFilter
      *
      * Example: Credit Card Visual Output (inserting hyphens each 4 digits)
      *  original text   : 1234567890123456
      *  transformed text: 1234-5678-9012-3456
      *
-     *  @sample androidx.ui.text.samples.creditCardFilter
+     *  @sample androidx.compose.ui.text.samples.creditCardFilter
      *
      * @param text The original text
      * @return the pair of filtered text and offset translator.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/Locale.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/Locale.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/Locale.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/Locale.kt
index d32e2bc..aa304dd 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/Locale.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/Locale.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.compose.Immutable
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
 
 /**
  * A `Locale` object represents a specific geographical, political, or cultural region. An
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/LocaleList.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/LocaleList.kt
similarity index 93%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/LocaleList.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/LocaleList.kt
index dc300f8..2d163a9 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/LocaleList.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/LocaleList.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 import androidx.compose.Immutable
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
 
 /**
  * Defines a list of [Locale] objects.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/PlatformLocale.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/PlatformLocale.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/PlatformLocale.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/PlatformLocale.kt
index d934ca9..0c99171 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/intl/PlatformLocale.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/intl/PlatformLocale.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.intl
+package androidx.compose.ui.text.intl
 
 /**
  * Interface for providing platform dependent locale object.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformParagraph.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
similarity index 79%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformParagraph.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
index 92761f5..b7b46b5 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformParagraph.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformParagraph.kt
@@ -13,16 +13,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
-import androidx.ui.text.font.Font
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.Paragraph
-import androidx.ui.text.ParagraphIntrinsics
-import androidx.ui.text.ParagraphConstraints
-import androidx.ui.text.Placeholder
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.Paragraph
+import androidx.compose.ui.text.ParagraphIntrinsics
+import androidx.compose.ui.text.ParagraphConstraints
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.Density
 
 // TODO(b/157854677): remove after fixing.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformString.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
similarity index 87%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformString.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
index 6fe3c71..95f3d64 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/platform/PlatformString.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/platform/PlatformString.kt
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.platform
+package androidx.compose.ui.text.platform
 
-import androidx.ui.text.PlatformStringDelegate
+import androidx.compose.ui.text.PlatformStringDelegate
 
 internal expect fun ActualStringDelegate(): PlatformStringDelegate
\ No newline at end of file
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/BaselineShift.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
similarity index 90%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/BaselineShift.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
index d6d4cb3..ea69620 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/BaselineShift.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/BaselineShift.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
@@ -23,8 +23,8 @@
 /**
  * The amount by which the text is shifted up or down from current the baseline.
  * @constructor
- * @sample androidx.ui.text.samples.BaselineShiftSample
- * @sample androidx.ui.text.samples.BaselineShiftAnnotatedStringSample
+ * @sample androidx.compose.ui.text.samples.BaselineShiftSample
+ * @sample androidx.compose.ui.text.samples.BaselineShiftAnnotatedStringSample
  *
  * @param multiplier shift the baseline by multiplier * (baseline - ascent)
  */
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/ResolvedTextDirection.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
similarity index 83%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/ResolvedTextDirection.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
index 18da04c..19f57ab 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/ResolvedTextDirection.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/ResolvedTextDirection.kt
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 /**
  * Describes the directionality of a text.
  *
  * @see TextDirection
- * @see androidx.ui.text.Paragraph.getParagraphDirection
- * @see androidx.ui.text.Paragraph.getBidiRunDirection
+ * @see androidx.compose.ui.text.Paragraph.getParagraphDirection
+ * @see androidx.compose.ui.text.Paragraph.getBidiRunDirection
  */
 enum class ResolvedTextDirection {
     /**
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextAlign.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextAlign.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextAlign.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextAlign.kt
index e34472b..1d46a83 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextAlign.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextAlign.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 /**
  * Defines how to align text horizontally. `TextAlign` controls how text aligns in the space it
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDecoration.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDecoration.kt
similarity index 87%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDecoration.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDecoration.kt
index c23d546..b0fb6b6 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDecoration.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDecoration.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
@@ -31,7 +31,7 @@
         /**
          * Draws a horizontal line below the text.
          *
-         * @sample androidx.ui.text.samples.TextDecorationUnderlineSample
+         * @sample androidx.compose.ui.text.samples.TextDecorationUnderlineSample
          */
         @Stable
         val Underline: TextDecoration = TextDecoration(0x1)
@@ -39,7 +39,7 @@
         /**
          * Draws a horizontal line over the text.
          *
-         * @sample androidx.ui.text.samples.TextDecorationLineThroughSample
+         * @sample androidx.compose.ui.text.samples.TextDecorationLineThroughSample
          */
         @Stable
         val LineThrough: TextDecoration = TextDecoration(0x2)
@@ -47,7 +47,7 @@
         /**
          * Creates a decoration that includes all the given decorations.
          *
-         * @sample androidx.ui.text.samples.TextDecorationCombinedSample
+         * @sample androidx.compose.ui.text.samples.TextDecorationCombinedSample
          *
          * @param decorations The decorations to be added
          */
@@ -62,7 +62,7 @@
     /**
      * Creates a decoration that includes both of the TextDecorations.
      *
-     * @sample androidx.ui.text.samples.TextDecorationCombinedSample
+     * @sample androidx.compose.ui.text.samples.TextDecorationCombinedSample
      */
     operator fun plus(decoration: TextDecoration): TextDecoration {
         return TextDecoration(this.mask or decoration.mask)
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDirection.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDirection.kt
similarity index 93%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDirection.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDirection.kt
index 7cd98be..41b0cea 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextDirection.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextDirection.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 /**
  * Defines the algorithm to be used while determining the text direction.
@@ -37,7 +37,7 @@
      * character in the text according to the Unicode Bidirectional Algorithm.
      * * If no strong directional character is present, then [androidx.ui.core.LayoutDirection]
      * is used to resolve the final TextDirection.
-     * * if used while creating a Paragraph object, [androidx.ui.intl.LocaleList] will
+     * * if used while creating a Paragraph object, [androidx.compose.ui.text.intl.LocaleList] will
      * be used to resolve the direction as a fallback instead of [androidx.ui.core.LayoutDirection].
      */
     Content,
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextGeometricTransform.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextGeometricTransform.kt
similarity index 97%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextGeometricTransform.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextGeometricTransform.kt
index 2acfb4c..af9b0a4 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextGeometricTransform.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextGeometricTransform.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextIndent.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextIndent.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextIndent.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextIndent.kt
index d54b399..9299bac 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextIndent.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextIndent.kt
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import androidx.compose.Immutable
 import androidx.compose.Stable
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
-import androidx.ui.text.lerpTextUnitInheritable
+import androidx.compose.ui.text.lerpTextUnitInheritable
 
 /**
  * Specify the indentation of a paragraph.
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextOverflow.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
similarity index 95%
rename from ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextOverflow.kt
rename to ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
index dae6a02..8061c84 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/style/TextOverflow.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/compose/ui/text/style/TextOverflow.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 /** How overflowing text should be handled. */
 enum class TextOverflow {
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/OWNERS b/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/OWNERS
deleted file mode 100644
index 2552593..0000000
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/input/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-haoyuchang@google.com
-nona@google.com
-qqd@google.com
-siyamed@google.com
diff --git a/ui/ui-text-core/src/jvmMain/kotlin/androidx/ui/text/JvmAnnotatedString.kt b/ui/ui-text-core/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.kt
similarity index 96%
rename from ui/ui-text-core/src/jvmMain/kotlin/androidx/ui/text/JvmAnnotatedString.kt
rename to ui/ui-text-core/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.kt
index 531a2f7..4cf0652 100644
--- a/ui/ui-text-core/src/jvmMain/kotlin/androidx/ui/text/JvmAnnotatedString.kt
+++ b/ui/ui-text-core/src/jvmMain/kotlin/androidx/compose/ui/text/JvmAnnotatedString.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.AnnotatedString.Range
+import androidx.compose.ui.text.AnnotatedString.Range
 
 import java.util.SortedSet
 
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringBuilderTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
similarity index 99%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringBuilderTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
index 77464dd..a4a812f 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringBuilderTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringBuilderTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.graphics.Color
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
index d5d7154..3cf0129 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.graphics.Color
-import androidx.ui.text.AnnotatedString.Range
-import androidx.ui.text.style.TextAlign
+import androidx.compose.ui.text.AnnotatedString.Range
+import androidx.compose.ui.text.style.TextAlign
 import androidx.ui.unit.sp
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTransformTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTransformTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
index e56d966..e040811 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/AnnotatedStringTransformTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/AnnotatedStringTransformTest.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.unit.sp
 import org.junit.Assert.assertEquals
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/MultiParagraphTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/MultiParagraphTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
index a2dff3c..bf1b5e1 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/MultiParagraphTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/MultiParagraphTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.mock
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphConstraintsTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphConstraintsTest.kt
similarity index 96%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphConstraintsTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphConstraintsTest.kt
index 05e4206..a1d78da 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphConstraintsTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphConstraintsTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
index 50e3d23..abc5710 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/ParagraphStyleTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextIndent
-import androidx.ui.text.style.lerp
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.text.style.lerp
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.lerp
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/PlaceholderTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/PlaceholderTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
index c1ba745..0c30a03 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/PlaceholderTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/PlaceholderTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/SpanStyleTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/SpanStyleTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/SpanStyleTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/SpanStyleTest.kt
index 68cd687..8818192 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/SpanStyleTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/SpanStyleTest.kt
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.lerp
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.lerp
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.lerp
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.lerp
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.lerp
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextDelegateTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextDelegateTest.kt
similarity index 96%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextDelegateTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextDelegateTest.kt
index 5a983a8..e8a55ad 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextDelegateTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextDelegateTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.core.LayoutDirection
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.mock
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextInputServiceTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
similarity index 95%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextInputServiceTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
index 3aa49e2..1c674611 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextInputServiceTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextInputServiceTest.kt
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.geometry.Rect
-import androidx.ui.input.ImeAction
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.PlatformTextInputService
-import androidx.ui.input.TextInputService
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.PlatformTextInputService
+import androidx.compose.ui.text.input.TextInputService
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.eq
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextLayoutHelperTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextLayoutHelperTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextLayoutHelperTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextLayoutHelperTest.kt
index 3fe5bbd..501a6a9 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextLayoutHelperTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextLayoutHelperTest.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntSize
 import androidx.ui.unit.em
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextRangeTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
similarity index 99%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextRangeTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
index cb4d375..819402c 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextRangeTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextRangeTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextSpanParagraphStyleTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextSpanParagraphStyleTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextSpanParagraphStyleTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextSpanParagraphStyleTest.kt
index 05c2508..da681f7 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextSpanParagraphStyleTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextSpanParagraphStyleTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleResolveDefaultsTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleResolveDefaultsTest.kt
similarity index 94%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleResolveDefaultsTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleResolveDefaultsTest.kt
index 293bf5c..98199ed 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleResolveDefaultsTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleResolveDefaultsTest.kt
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.core.LayoutDirection
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleTest.kt
index 63fbc12..72e6b20e 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/TextStyleTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/TextStyleTest.kt
@@ -14,25 +14,25 @@
  * limitations under the License.
  */
 
-package androidx.ui.text
+package androidx.compose.ui.text
 
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.ui.geometry.Offset
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shadow
 import androidx.ui.graphics.lerp
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontSynthesis
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.lerp
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextDirection
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
-import androidx.ui.text.style.lerp
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontSynthesis
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.lerp
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextDirection
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.text.style.lerp
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontFamilyTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/FontFamilyTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
index 67b8850..b00f106 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontFamilyTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontFamilyTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontMatcherTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
similarity index 90%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/FontMatcherTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
index 6dc13a4..5733506 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontMatcherTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontMatcherTest.kt
@@ -14,23 +14,23 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
-import androidx.ui.text.font.FontTestData.Companion.FONT_100_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_100_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_200_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_200_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_300_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_300_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_400_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_400_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_500_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_500_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_600_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_600_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_700_REGULAR
-import androidx.ui.text.font.FontTestData.Companion.FONT_800_ITALIC
-import androidx.ui.text.font.FontTestData.Companion.FONT_800_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_100_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_100_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_200_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_200_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_300_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_300_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_400_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_400_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_500_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_500_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_600_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_600_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_700_REGULAR
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_800_ITALIC
+import androidx.compose.ui.text.font.FontTestData.Companion.FONT_800_REGULAR
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTest.kt
index d9c6a70..c1601f5 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTestData.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTestData.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
index 6a8e978..b763b1f 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontTestData.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontTestData.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 class FontTestData {
     companion object {
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontWeightTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/FontWeightTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
index 831fe5d..e309ddb 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/FontWeightTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/FontWeightTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/font/LoadedFontFamilyTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
similarity index 93%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/font/LoadedFontFamilyTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
index 457ef95..dfc3c0c 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/font/LoadedFontFamilyTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/font/LoadedFontFamilyTest.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.font
+package androidx.compose.ui.text.font
 
-import androidx.ui.text.Typeface
+import androidx.compose.ui.text.Typeface
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/CommitTextEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/CommitTextEditOpTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/CommitTextEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/CommitTextEditOpTest.kt
index e9b20fd..554dac7 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/CommitTextEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/CommitTextEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextEditOpTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextEditOpTest.kt
index 40840aa..770665a 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextInCodePointsEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsEditOpTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextInCodePointsEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsEditOpTest.kt
index 1699039a..6a0ef8d 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/DeleteSurroundingTextInCodePointsEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/DeleteSurroundingTextInCodePointsEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/EditProcessorTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
similarity index 94%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/EditProcessorTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
index 877e6b3..dc3e3cd 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/EditProcessorTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditProcessorTest.kt
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.TextRange
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.argumentCaptor
 import com.nhaarman.mockitokotlin2.eq
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/EditingBufferTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
similarity index 99%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/EditingBufferTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
index 28f5bd4..c3cff1c 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/EditingBufferTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/EditingBufferTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/FinishComposingTextEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/FinishComposingTextEditOpTest.kt
similarity index 94%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/FinishComposingTextEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/FinishComposingTextEditOpTest.kt
index 9115bac..aa83b85 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/FinishComposingTextEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/FinishComposingTextEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/GapBufferTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
similarity index 99%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/GapBufferTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
index 826bbda..5856efb 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/GapBufferTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/GapBufferTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import org.junit.Assert.assertEquals
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/PasswordVisualTransformationTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
similarity index 94%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/PasswordVisualTransformationTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
index 0b95106..6f062f3 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/PasswordVisualTransformationTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/PasswordVisualTransformationTest.kt
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import org.junit.Assert.assertEquals
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingRegionEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingRegionEditOpTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingRegionEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingRegionEditOpTest.kt
index 549f084..ca05b07 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingRegionEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingRegionEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingTextEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingTextEditOpTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingTextEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingTextEditOpTest.kt
index b992af58..33bb6b3 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/SetComposingTextEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetComposingTextEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/SetSelectionEditOpTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetSelectionEditOpTest.kt
similarity index 97%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/SetSelectionEditOpTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetSelectionEditOpTest.kt
index c696ac5..71fafd5 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/SetSelectionEditOpTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/SetSelectionEditOpTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/input/TextFieldValueTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
similarity index 96%
rename from ui/ui-text-core/src/test/java/androidx/ui/input/TextFieldValueTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
index eece874..aba0417 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/input/TextFieldValueTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/input/TextFieldValueTest.kt
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package androidx.ui.input
+package androidx.compose.ui.text.input
 
 import androidx.test.filters.SmallTest
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextRange
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/style/BaselineShiftTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
similarity index 96%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/style/BaselineShiftTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
index 8933082..f29101d 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/style/BaselineShiftTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/BaselineShiftTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/style/TextDecorationTest.kt b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
similarity index 98%
rename from ui/ui-text-core/src/test/java/androidx/ui/text/style/TextDecorationTest.kt
rename to ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
index be049d9..6fcbdb0 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/style/TextDecorationTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/compose/ui/text/style/TextDecorationTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.ui.text.style
+package androidx.compose.ui.text.style
 
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text/api/0.1.0-dev16.txt b/ui/ui-text/api/0.1.0-dev16.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/0.1.0-dev16.txt
+++ b/ui/ui-text/api/0.1.0-dev16.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/api/current.txt b/ui/ui-text/api/current.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/current.txt
+++ b/ui/ui-text/api/current.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/api/public_plus_experimental_0.1.0-dev16.txt b/ui/ui-text/api/public_plus_experimental_0.1.0-dev16.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/public_plus_experimental_0.1.0-dev16.txt
+++ b/ui/ui-text/api/public_plus_experimental_0.1.0-dev16.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/api/public_plus_experimental_current.txt b/ui/ui-text/api/public_plus_experimental_current.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/public_plus_experimental_current.txt
+++ b/ui/ui-text/api/public_plus_experimental_current.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/api/restricted_0.1.0-dev16.txt b/ui/ui-text/api/restricted_0.1.0-dev16.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/restricted_0.1.0-dev16.txt
+++ b/ui/ui-text/api/restricted_0.1.0-dev16.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/api/restricted_current.txt b/ui/ui-text/api/restricted_current.txt
index 866fea2..a8b583f 100644
--- a/ui/ui-text/api/restricted_current.txt
+++ b/ui/ui-text/api/restricted_current.txt
@@ -2,43 +2,43 @@
 package androidx.compose.foundation.text {
 
   public final class CoreTextFieldKt {
-    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
-    method @androidx.compose.Composable public static void CoreTextField(androidx.ui.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @Deprecated @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.EditorValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
+    method @androidx.compose.Composable public static void CoreTextField(androidx.compose.ui.text.input.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, androidx.compose.ui.text.TextStyle textStyle = TextStyle.Default, androidx.compose.ui.text.input.KeyboardType keyboardType = KeyboardType.Text, androidx.compose.ui.text.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>  androidx.compose.ui.text.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>  kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.SoftwareKeyboardController,kotlin.Unit> >
   }
 
   public final class CoreTextKt {
-    method @androidx.compose.Composable public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
+    method @androidx.compose.Composable public static void CoreText(androidx.compose.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier, androidx.compose.ui.text.TextStyle style, boolean softWrap, androidx.compose.ui.text.style.TextOverflow overflow, int maxLines, java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
     method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
     method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
   }
 
   public final class InlineTextContent {
-    ctor public InlineTextContent(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
-    method public androidx.ui.text.Placeholder component1();
+    ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.ui.text.Placeholder component1();
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> component2();
-    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+    method public androidx.compose.foundation.text.InlineTextContent copy(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
     method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
-    method public androidx.ui.text.Placeholder getPlaceholder();
+    method public androidx.compose.ui.text.Placeholder getPlaceholder();
   }
 
   public final class InlineTextContentKt {
-    method public static void appendInlineContent(androidx.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
+    method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, String alternateText = "\ufffd");
   }
 
   public final class TextFieldDelegateKt {
   }
 
   public final class TextSemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> getImeAction();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
     method public androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSupportsInputMethods();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.input.ImeAction> ImeAction;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
     property public final androidx.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SupportsInputMethods;
     field public static final androidx.compose.foundation.text.TextSemanticsProperties INSTANCE;
   }
 
   public final class TextSemanticsPropertiesKt {
-    method public static androidx.ui.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.input.ImeAction p);
+    method public static androidx.compose.ui.text.input.ImeAction getImeAction(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setImeAction(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.input.ImeAction p);
     method public static void supportsInputMethods(androidx.ui.semantics.SemanticsPropertyReceiver);
   }
 
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputField.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputField.kt
index 3273555..cd80fd3 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputField.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputField.kt
@@ -23,11 +23,11 @@
 import androidx.compose.key
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
 import androidx.compose.state
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.SoftwareKeyboardController
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.TextStyle
 
 private val KEYBOARD_TYPES = listOf(
     Pair(KeyboardType.Text, "Text"),
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldFocusTransition.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldFocusTransition.kt
index 7d035dc..07b95db 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldFocusTransition.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldFocusTransition.kt
@@ -24,9 +24,9 @@
 import androidx.compose.state
 import androidx.ui.core.focus.FocusModifier
 import androidx.ui.graphics.Color
-import androidx.ui.input.ImeAction
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.sp
 
 @Composable
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldTrickyUseCase.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldTrickyUseCase.kt
index f9310d7..43e5d69 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldTrickyUseCase.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeInputFieldTrickyUseCase.kt
@@ -21,9 +21,9 @@
 import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.ScrollableColumn
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.sp
 
 @Composable
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeMultiParagraph.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeMultiParagraph.kt
index b20bf12..cdf1fb5 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeMultiParagraph.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeMultiParagraph.kt
@@ -19,13 +19,13 @@
 import androidx.compose.Composable
 import androidx.compose.foundation.ScrollableColumn
 import androidx.compose.foundation.Text
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.ParagraphStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextIndent
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.ParagraphStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextIndent
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.sp
 
 val lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas fermentum non" +
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeText.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeText.kt
index ebfed32..3e2188a 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeText.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeText.kt
@@ -27,26 +27,26 @@
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.ui.intl.LocaleList
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.samples.BaselineShiftSample
-import androidx.ui.text.samples.FontFamilyCursiveSample
-import androidx.ui.text.samples.FontFamilyMonospaceSample
-import androidx.ui.text.samples.FontFamilySansSerifSample
-import androidx.ui.text.samples.FontFamilySerifSample
-import androidx.ui.text.samples.ParagraphStyleAnnotatedStringsSample
-import androidx.ui.text.samples.ParagraphStyleSample
-import androidx.ui.text.samples.TextDecorationCombinedSample
-import androidx.ui.text.samples.TextDecorationLineThroughSample
-import androidx.ui.text.samples.TextDecorationUnderlineSample
-import androidx.ui.text.samples.TextStyleSample
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.intl.LocaleList
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.samples.BaselineShiftSample
+import androidx.compose.ui.text.samples.FontFamilyCursiveSample
+import androidx.compose.ui.text.samples.FontFamilyMonospaceSample
+import androidx.compose.ui.text.samples.FontFamilySansSerifSample
+import androidx.compose.ui.text.samples.FontFamilySerifSample
+import androidx.compose.ui.text.samples.ParagraphStyleAnnotatedStringsSample
+import androidx.compose.ui.text.samples.ParagraphStyleSample
+import androidx.compose.ui.text.samples.TextDecorationCombinedSample
+import androidx.compose.ui.text.samples.TextDecorationLineThroughSample
+import androidx.compose.ui.text.samples.TextDecorationUnderlineSample
+import androidx.compose.ui.text.samples.TextStyleSample
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.em
 import androidx.ui.unit.sp
 
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelection.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelection.kt
index 6bf44b0..47a4126 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelection.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelection.kt
@@ -24,17 +24,17 @@
 import androidx.compose.foundation.ScrollableColumn
 import androidx.compose.foundation.Text
 import androidx.ui.graphics.Color
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.withStyle
 
 @Composable
 fun TextSelectionDemo() {
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelectionSample.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelectionSample.kt
index 2241a56..1b06f51 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelectionSample.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeTextSelectionSample.kt
@@ -29,10 +29,10 @@
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.preferredSize
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextStyle
-import androidx.ui.text.annotatedString
-import androidx.ui.text.withStyle
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.annotatedString
+import androidx.compose.ui.text.withStyle
 import androidx.ui.unit.dp
 import androidx.ui.unit.sp
 
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeVariousInputField.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeVariousInputField.kt
index 097a6d2..7126593 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeVariousInputField.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/ComposeVariousInputField.kt
@@ -32,20 +32,20 @@
 import androidx.compose.foundation.background
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Color
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.PasswordVisualTransformation
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.TransformedText
-import androidx.ui.input.VisualTransformation
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.PasswordVisualTransformation
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.TransformedText
+import androidx.compose.ui.text.input.VisualTransformation
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.toUpperCase
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.toUpperCase
 import kotlin.math.roundToInt
 
 /**
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/InteractiveText.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/InteractiveText.kt
index f2b1f0a..654fe7b 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/InteractiveText.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/InteractiveText.kt
@@ -21,7 +21,7 @@
 import androidx.compose.foundation.ClickableText
 import androidx.compose.foundation.ScrollableColumn
 import androidx.compose.foundation.Text
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 
 @Composable
 fun InteractiveTextDemo() {
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TailFollowingTextField.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TailFollowingTextField.kt
index 2d2eae0..e83fe78 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TailFollowingTextField.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TailFollowingTextField.kt
@@ -31,8 +31,8 @@
 import androidx.ui.core.clipToBounds
 import androidx.ui.core.constrainWidth
 import androidx.ui.graphics.Color
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.TextStyle
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.TextStyle
 import androidx.ui.unit.dp
 import kotlin.math.min
 
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TextFieldWIthScroller.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TextFieldWIthScroller.kt
index 733faf4..819fd48 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TextFieldWIthScroller.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/compose/foundation/text/demos/TextFieldWIthScroller.kt
@@ -20,7 +20,7 @@
 import androidx.compose.state
 import androidx.ui.core.Modifier
 import androidx.compose.foundation.ScrollableColumn
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.BaseTextField
 import androidx.compose.foundation.ExperimentalFoundationApi
diff --git a/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/CoreTextFieldSample.kt b/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/CoreTextFieldSample.kt
index ab6821c..ccc5b2c 100644
--- a/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/CoreTextFieldSample.kt
+++ b/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/CoreTextFieldSample.kt
@@ -20,7 +20,7 @@
 import androidx.compose.Composable
 import androidx.compose.getValue
 import androidx.compose.setValue
-import androidx.ui.input.TextFieldValue
+import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
 import androidx.compose.foundation.text.CoreTextField
 
diff --git a/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/InlineTextContentSample.kt b/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/InlineTextContentSample.kt
index 590834c..d56eb3f 100644
--- a/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/InlineTextContentSample.kt
+++ b/ui/ui-text/samples/src/main/java/androidx/compose/foundation/text/samples/InlineTextContentSample.kt
@@ -25,9 +25,9 @@
 import androidx.ui.graphics.Color
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.text.InlineTextContent
-import androidx.ui.text.Placeholder
-import androidx.ui.text.PlaceholderVerticalAlign
-import androidx.ui.text.annotatedString
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.PlaceholderVerticalAlign
+import androidx.compose.ui.text.annotatedString
 import androidx.compose.foundation.text.appendInlineContent
 import androidx.ui.unit.em
 
diff --git a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldDelegateIntegrationTest.kt b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldDelegateIntegrationTest.kt
index 1c4bf81..ae0bbe9 100644
--- a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldDelegateIntegrationTest.kt
+++ b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextFieldDelegateIntegrationTest.kt
@@ -26,17 +26,17 @@
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Paint
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.OffsetMap
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextPainter
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.ResourceFont
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextPainter
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.ResourceFont
 import androidx.ui.unit.Density
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
diff --git a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
index 9246e31..c0843b2 100644
--- a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
+++ b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextLayoutTest.kt
@@ -26,15 +26,15 @@
 import androidx.ui.core.Ref
 import androidx.ui.core.onPositioned
 import androidx.ui.core.setContent
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.font.font
-import androidx.ui.text.font.test.R
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntSize
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
index c65365f1..9ca1fd5 100644
--- a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
+++ b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegateTest.kt
@@ -27,23 +27,23 @@
 import androidx.ui.core.LayoutDirection
 import androidx.ui.core.selection.Selectable
 import androidx.ui.core.selection.Selection
-import androidx.ui.test.android.AndroidComposeTestRule
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.ResourceFont
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.font.font
-import androidx.ui.text.font.test.R
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.ui.test.android.createAndroidComposeRule
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.font
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.Density
 import androidx.ui.geometry.Offset
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.InternalTextApi
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
 import com.google.common.truth.Truth.assertThat
@@ -65,7 +65,7 @@
 @SmallTest
 class MultiWidgetSelectionDelegateTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private val fontFamily = BASIC_MEASURE_FONT.asFontFamily()
     private val context = InstrumentationRegistry.getInstrumentation().context
diff --git a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
index 18e4609..610c2d1 100644
--- a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
+++ b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/SelectionContainerTest.kt
@@ -31,17 +31,17 @@
 import androidx.ui.core.selection.Selection
 import androidx.ui.core.selection.SelectionContainer
 import androidx.compose.foundation.layout.fillMaxSize
-import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.android.createAndroidComposeRule
 import androidx.ui.test.runOnIdle
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.foundation.text.CoreText
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.ResourceFont
-import androidx.ui.text.font.asFontFamily
-import androidx.ui.text.font.test.R
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.asFontFamily
+import androidx.compose.ui.text.font.test.R
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.sp
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.mock
@@ -59,7 +59,7 @@
 @RunWith(JUnit4::class)
 class SelectionContainerTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private lateinit var view: View
 
diff --git a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegateTest.kt b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegateTest.kt
index cfda12a..eb3a5c7 100644
--- a/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegateTest.kt
+++ b/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegateTest.kt
@@ -21,15 +21,15 @@
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
-import androidx.ui.test.android.AndroidComposeTestRule
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.asFontFamily
+import androidx.ui.test.android.createAndroidComposeRule
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.asFontFamily
 import androidx.ui.unit.Density
 import androidx.ui.unit.TextUnit
 import androidx.ui.unit.sp
@@ -44,7 +44,7 @@
 @SmallTest
 class TextFieldSelectionDelegateTest {
     @get:Rule
-    val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
+    val composeTestRule = createAndroidComposeRule<ComponentActivity>()
 
     private val fontFamily = BASIC_MEASURE_FONT.asFontFamily()
     private val context = InstrumentationRegistry.getInstrumentation().context
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
index f18233b..8175c15 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
@@ -42,19 +42,19 @@
 import androidx.ui.graphics.drawscope.drawCanvas
 import androidx.ui.graphics.Paint
 import androidx.ui.semantics.getTextLayoutResult
-import androidx.ui.text.font.Font
+import androidx.compose.ui.text.font.Font
 import androidx.compose.foundation.text.selection.MultiWidgetSelectionDelegate
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.Placeholder
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.length
-import androidx.ui.text.style.TextAlign
-import androidx.ui.text.style.TextOverflow
-import androidx.ui.text.subSequence
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.Placeholder
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.length
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextOverflow
+import androidx.compose.ui.text.subSequence
 import androidx.ui.unit.Density
 import androidx.ui.util.fastForEach
 import kotlin.math.floor
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
index 1312fb0..11766d1 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
@@ -50,12 +50,12 @@
 import androidx.ui.core.semantics.semantics
 import androidx.ui.geometry.Offset
 import androidx.ui.graphics.drawscope.drawCanvas
-import androidx.ui.input.EditProcessor
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.NO_SESSION
-import androidx.ui.input.VisualTransformation
+import androidx.compose.ui.text.input.EditProcessor
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.NO_SESSION
+import androidx.compose.ui.text.input.VisualTransformation
 import androidx.ui.semantics.onClick
 import androidx.compose.foundation.text.selection.SelectionHandle
 import androidx.compose.foundation.text.selection.TextFieldSelectionManager
@@ -66,24 +66,24 @@
 import androidx.ui.semantics.setText
 import androidx.ui.semantics.text
 import androidx.ui.semantics.textSelectionRange
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.SoftwareKeyboardController
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.constrain
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.SoftwareKeyboardController
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.constrain
 import kotlin.math.roundToInt
 
 @Suppress("DEPRECATION")
 @Composable
-@Deprecated("Use the Composable with androidx.ui.input.TextFieldValue instead.")
+@Deprecated("Use the Composable with androidx.compose.ui.text.input.TextFieldValue instead.")
 @OptIn(InternalTextApi::class)
 fun CoreTextField(
-    value: androidx.ui.input.EditorValue,
+    value: androidx.compose.ui.text.input.EditorValue,
     modifier: Modifier,
-    onValueChange: (androidx.ui.input.EditorValue) -> Unit,
+    onValueChange: (androidx.compose.ui.text.input.EditorValue) -> Unit,
     textStyle: TextStyle = TextStyle.Default,
     keyboardType: KeyboardType = KeyboardType.Text,
     imeAction: ImeAction = ImeAction.Unspecified,
@@ -108,7 +108,7 @@
     val onValueChangeWrapper: (TextFieldValue) -> Unit = {
         fullModel.value = it
         onValueChange(
-            androidx.ui.input.EditorValue(
+            androidx.compose.ui.text.input.EditorValue(
                 it.text,
                 it.selection,
                 it.composition
@@ -152,7 +152,7 @@
  * [TextFieldValue] may result in a context reset and end up with input session restart. Such
  * a scenario would cause glitches in the UI or text input experience for users.
  *
- * @param value The [androidx.ui.input.TextFieldValue] to be shown in the [CoreTextField].
+ * @param value The [androidx.compose.ui.text.input.TextFieldValue] to be shown in the [CoreTextField].
  * @param onValueChange Called when the input service updates the values in [TextFieldValue].
  * @param modifier optional [Modifier] for this text field.
  * @param textStyle Style configuration that applies at character level such as color, font etc.
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
index fd64102..343f014 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/InlineTextContent.kt
@@ -17,8 +17,8 @@
 package androidx.compose.foundation.text
 
 import androidx.compose.Composable
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.Placeholder
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.Placeholder
 
 /** The annotation tag used by inline content. */
 internal const val INLINE_CONTENT_TAG = "androidx.compose.foundation.text.inlineContent"
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
index 5d744420..c5bf1e7 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
@@ -25,30 +25,30 @@
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Paint
-import androidx.ui.input.EditOperation
-import androidx.ui.input.EditProcessor
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.FinishComposingTextEditOp
-import androidx.ui.input.INVALID_SESSION
-import androidx.ui.input.ImeAction
-import androidx.ui.input.InputSessionToken
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.SetSelectionEditOp
-import androidx.ui.input.TextInputService
-import androidx.ui.input.TransformedText
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.Paragraph
-import androidx.ui.text.ParagraphConstraints
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextPainter
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.Font
-import androidx.ui.text.style.TextDecoration
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.EditProcessor
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.FinishComposingTextEditOp
+import androidx.compose.ui.text.input.INVALID_SESSION
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.InputSessionToken
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.SetSelectionEditOp
+import androidx.compose.ui.text.input.TextInputService
+import androidx.compose.ui.text.input.TransformedText
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.Paragraph
+import androidx.compose.ui.text.ParagraphConstraints
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextPainter
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.style.TextDecoration
 import androidx.ui.unit.Density
 import kotlin.jvm.JvmStatic
 import kotlin.math.ceil
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextSemanticsProperties.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextSemanticsProperties.kt
index 038a9d4..8a071d5 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextSemanticsProperties.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/TextSemanticsProperties.kt
@@ -16,7 +16,7 @@
 
 package androidx.compose.foundation.text
 
-import androidx.ui.input.ImeAction
+import androidx.compose.ui.text.input.ImeAction
 import androidx.ui.semantics.SemanticsPropertyKey
 import androidx.ui.semantics.SemanticsPropertyReceiver
 
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegate.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegate.kt
index e40fbc3..89102a4 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegate.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/MultiWidgetSelectionDelegate.kt
@@ -21,9 +21,9 @@
 import androidx.ui.core.selection.Selection
 import androidx.ui.geometry.Offset
 import androidx.ui.geometry.Rect
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
 import kotlin.math.max
 
 internal class MultiWidgetSelectionDelegate(
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegate.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegate.kt
index 812d574..34dc847 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegate.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionDelegate.kt
@@ -16,8 +16,8 @@
 
 package androidx.compose.foundation.text.selection
 
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
 
 /**
  * Return selection information for TextField.
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
index 3cf0da9..54927d2 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManager.kt
@@ -31,16 +31,16 @@
 import androidx.ui.core.texttoolbar.TextToolbarStatus
 import androidx.ui.geometry.Offset
 import androidx.ui.geometry.Rect
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.getSelectedText
-import androidx.ui.input.getTextAfterSelection
-import androidx.ui.input.getTextBeforeSelection
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.getSelectedText
+import androidx.compose.ui.text.input.getTextAfterSelection
+import androidx.compose.ui.text.input.getTextBeforeSelection
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
 import androidx.compose.foundation.text.TextFieldState
-import androidx.ui.text.TextRange
-import androidx.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.style.ResolvedTextDirection
 import androidx.ui.unit.dp
 import kotlin.math.max
 import kotlin.math.min
diff --git a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextSelectionDelegate.kt b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextSelectionDelegate.kt
index ccf4e38..1baaef9 100644
--- a/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextSelectionDelegate.kt
+++ b/ui/ui-text/src/commonMain/kotlin/androidx/compose/foundation/text/selection/TextSelectionDelegate.kt
@@ -17,8 +17,8 @@
 package androidx.compose.foundation.text.selection
 
 import androidx.ui.geometry.Rect
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
 import androidx.ui.geometry.Offset
 import kotlin.math.max
 
diff --git a/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt b/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
index 29f16b3..e190488 100644
--- a/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
+++ b/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/TextFieldDelegateTest.kt
@@ -23,27 +23,27 @@
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
-import androidx.ui.input.CommitTextEditOp
-import androidx.ui.input.EditOperation
-import androidx.ui.input.EditProcessor
-import androidx.ui.input.TextFieldValue
-import androidx.ui.input.FinishComposingTextEditOp
-import androidx.ui.input.ImeAction
-import androidx.ui.input.KeyboardType
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.SetSelectionEditOp
-import androidx.ui.input.TextInputService
-import androidx.ui.input.TransformedText
-import androidx.ui.input.VisualTransformation
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.InternalTextApi
-import androidx.ui.text.MultiParagraphIntrinsics
-import androidx.ui.text.SpanStyle
-import androidx.ui.text.TextDelegate
-import androidx.ui.text.TextLayoutResult
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.TextDecoration
+import androidx.compose.ui.text.input.CommitTextEditOp
+import androidx.compose.ui.text.input.EditOperation
+import androidx.compose.ui.text.input.EditProcessor
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.input.FinishComposingTextEditOp
+import androidx.compose.ui.text.input.ImeAction
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.SetSelectionEditOp
+import androidx.compose.ui.text.input.TextInputService
+import androidx.compose.ui.text.input.TransformedText
+import androidx.compose.ui.text.input.VisualTransformation
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.InternalTextApi
+import androidx.compose.ui.text.MultiParagraphIntrinsics
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextDelegate
+import androidx.compose.ui.text.TextLayoutResult
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.TextDecoration
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntSize
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt b/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
index 8655c01..372dc4c 100644
--- a/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
+++ b/ui/ui-text/src/test/kotlin/androidx/compose/foundation/text/selection/TextFieldSelectionManagerTest.kt
@@ -25,15 +25,15 @@
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.geometry.Rect
 import androidx.ui.geometry.Offset
-import androidx.ui.input.OffsetMap
-import androidx.ui.input.TextFieldValue
-import androidx.ui.text.AnnotatedString
+import androidx.compose.ui.text.input.OffsetMap
+import androidx.compose.ui.text.input.TextFieldValue
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.foundation.text.TextFieldState
-import androidx.ui.text.TextLayoutInput
-import androidx.ui.text.TextRange
-import androidx.ui.text.TextStyle
-import androidx.ui.text.style.ResolvedTextDirection
-import androidx.ui.text.style.TextOverflow
+import androidx.compose.ui.text.TextLayoutInput
+import androidx.compose.ui.text.TextRange
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.style.ResolvedTextDirection
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.ui.unit.Density
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
diff --git a/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/inspector/ParameterFactoryTest.kt b/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/inspector/ParameterFactoryTest.kt
index 0c750e1..211f482a 100644
--- a/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/inspector/ParameterFactoryTest.kt
+++ b/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/inspector/ParameterFactoryTest.kt
@@ -32,22 +32,22 @@
 import androidx.ui.graphics.SolidColor
 import androidx.ui.graphics.colorspace.ColorModel
 import androidx.ui.graphics.toArgb
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.CrossAxisAlignment
 import androidx.compose.foundation.layout.InnerPadding
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.ResourceFont
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.ResourceFont
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.unit.Density
 import androidx.ui.unit.Dp
 import androidx.ui.unit.TextUnit
diff --git a/ui/ui-tooling/src/main/java/androidx/ui/tooling/inspector/ParameterFactory.kt b/ui/ui-tooling/src/main/java/androidx/ui/tooling/inspector/ParameterFactory.kt
index 6ee0daa..2061da2 100644
--- a/ui/ui-tooling/src/main/java/androidx/ui/tooling/inspector/ParameterFactory.kt
+++ b/ui/ui-tooling/src/main/java/androidx/ui/tooling/inspector/ParameterFactory.kt
@@ -29,22 +29,22 @@
 import androidx.ui.graphics.Shape
 import androidx.ui.graphics.SolidColor
 import androidx.ui.graphics.toArgb
-import androidx.ui.intl.Locale
-import androidx.ui.intl.LocaleList
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.intl.LocaleList
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.CrossAxisAlignment
 import androidx.compose.foundation.layout.InnerPadding
-import androidx.ui.text.AnnotatedString
-import androidx.ui.text.TextStyle
-import androidx.ui.text.font.FontFamily
-import androidx.ui.text.font.FontListFontFamily
-import androidx.ui.text.font.FontStyle
-import androidx.ui.text.font.FontWeight
-import androidx.ui.text.font.ResourceFont
-import androidx.ui.text.style.BaselineShift
-import androidx.ui.text.style.TextDecoration
-import androidx.ui.text.style.TextGeometricTransform
-import androidx.ui.text.style.TextIndent
+import androidx.compose.ui.text.AnnotatedString
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontListFontFamily
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.font.ResourceFont
+import androidx.compose.ui.text.style.BaselineShift
+import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextGeometricTransform
+import androidx.compose.ui.text.style.TextIndent
 import androidx.ui.tooling.inspector.ParameterType.DimensionDp
 import androidx.ui.unit.Density
 import androidx.ui.unit.Dp
diff --git a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/LayoutlibFontResourceLoader.kt b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/LayoutlibFontResourceLoader.kt
index f2172af..d4397b5 100644
--- a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/LayoutlibFontResourceLoader.kt
+++ b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/LayoutlibFontResourceLoader.kt
@@ -20,9 +20,8 @@
 import android.graphics.Typeface
 import android.os.Build
 import androidx.annotation.RequiresApi
-import androidx.ui.text.font.Font
-import androidx.ui.text.font.font
-import androidx.ui.text.font.ResourceFont
+import androidx.compose.ui.text.font.Font
+import androidx.compose.ui.text.font.ResourceFont
 
 /**
  * Layoutlib implementation for [Font.ResourceLoader]
diff --git a/work/workmanager-gcm/api/2.5.0-alpha01.txt b/work/workmanager-gcm/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/2.5.0-alpha01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/work/workmanager-gcm/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager-gcm/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/work/workmanager-gcm/api/res-2.5.0-alpha01.txt b/work/workmanager-gcm/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager-gcm/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager-gcm/api/restricted_2.5.0-alpha01.txt b/work/workmanager-gcm/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/work/workmanager-ktx/api/2.5.0-alpha01.txt b/work/workmanager-ktx/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..5406dc3
--- /dev/null
+++ b/work/workmanager-ktx/api/2.5.0-alpha01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/work/workmanager-ktx/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager-ktx/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..5406dc3
--- /dev/null
+++ b/work/workmanager-ktx/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/work/workmanager-ktx/api/res-2.5.0-alpha01.txt b/work/workmanager-ktx/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager-ktx/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager-ktx/api/restricted_2.5.0-alpha01.txt b/work/workmanager-ktx/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..5406dc3
--- /dev/null
+++ b/work/workmanager-ktx/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/work/workmanager-rxjava2/api/2.5.0-alpha01.txt b/work/workmanager-rxjava2/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/2.5.0-alpha01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava2/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager-rxjava2/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava2/api/res-2.5.0-alpha01.txt b/work/workmanager-rxjava2/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager-rxjava2/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager-rxjava2/api/restricted_2.5.0-alpha01.txt b/work/workmanager-rxjava2/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava3/api/2.5.0-alpha01.txt b/work/workmanager-rxjava3/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/2.5.0-alpha01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava3/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager-rxjava3/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava3/api/res-2.5.0-alpha01.txt b/work/workmanager-rxjava3/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager-rxjava3/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager-rxjava3/api/restricted_2.5.0-alpha01.txt b/work/workmanager-rxjava3/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-testing/api/2.5.0-alpha01.txt b/work/workmanager-testing/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..e49fe25
--- /dev/null
+++ b/work/workmanager-testing/api/2.5.0-alpha01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/work/workmanager-testing/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager-testing/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..e49fe25
--- /dev/null
+++ b/work/workmanager-testing/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/work/workmanager-testing/api/res-2.5.0-alpha01.txt b/work/workmanager-testing/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager-testing/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager-testing/api/restricted_2.5.0-alpha01.txt b/work/workmanager-testing/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..e49fe25
--- /dev/null
+++ b/work/workmanager-testing/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/work/workmanager/api/2.5.0-alpha01.txt b/work/workmanager/api/2.5.0-alpha01.txt
new file mode 100644
index 0000000..6c0ce36
--- /dev/null
+++ b/work/workmanager/api/2.5.0-alpha01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method @androidx.room.TypeConverter public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+
diff --git a/work/workmanager/api/public_plus_experimental_2.5.0-alpha01.txt b/work/workmanager/api/public_plus_experimental_2.5.0-alpha01.txt
new file mode 100644
index 0000000..6c0ce36
--- /dev/null
+++ b/work/workmanager/api/public_plus_experimental_2.5.0-alpha01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method @androidx.room.TypeConverter public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+
diff --git a/work/workmanager/api/res-2.5.0-alpha01.txt b/work/workmanager/api/res-2.5.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/work/workmanager/api/res-2.5.0-alpha01.txt
diff --git a/work/workmanager/api/restricted_2.5.0-alpha01.txt b/work/workmanager/api/restricted_2.5.0-alpha01.txt
new file mode 100644
index 0000000..6c0ce36
--- /dev/null
+++ b/work/workmanager/api/restricted_2.5.0-alpha01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method @androidx.room.TypeConverter public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+