[go: nahoru, domu]

Kotlin Rebase ComposeUI 1.4

Change-Id: Ie3a00900a8be81e606e1715d1c45955f86ffd537
diff --git a/ui/ui-animation-core/api/0.1.0-dev15.txt b/ui/ui-animation-core/api/0.1.0-dev15.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/0.1.0-dev15.txt
+++ b/ui/ui-animation-core/api/0.1.0-dev15.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/api/current.txt b/ui/ui-animation-core/api/current.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/current.txt
+++ b/ui/ui-animation-core/api/current.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev15.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev15.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/api/public_plus_experimental_current.txt b/ui/ui-animation-core/api/public_plus_experimental_current.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-animation-core/api/public_plus_experimental_current.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/api/restricted_0.1.0-dev15.txt b/ui/ui-animation-core/api/restricted_0.1.0-dev15.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-animation-core/api/restricted_0.1.0-dev15.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/api/restricted_current.txt b/ui/ui-animation-core/api/restricted_current.txt
index 66a0aff..c4907f8 100644
--- a/ui/ui-animation-core/api/restricted_current.txt
+++ b/ui/ui-animation-core/api/restricted_current.txt
@@ -6,7 +6,7 @@
     method public final float getMax();
     method public final float getMin();
     method public final float getVelocity();
-    method public final void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public final void setBounds(float min = (-1.0f/0.0f), float max = (1.0f/0.0f));
     method public void snapTo(float targetValue);
     property public final float max;
     property public final float min;
diff --git a/ui/ui-animation-core/build.gradle b/ui/ui-animation-core/build.gradle
index 02eea83..992069e 100644
--- a/ui/ui-animation-core/build.gradle
+++ b/ui/ui-animation-core/build.gradle
@@ -72,7 +72,8 @@
 tasks.withType(KotlinCompile).configureEach {
     kotlinOptions {
         freeCompilerArgs += [
-            "-Xuse-experimental=kotlin.Experimental"
+            "-Xuse-experimental=kotlin.Experimental",
+            "-Xallow-jvm-ir-dependencies"
         ]
     }
 }
diff --git a/ui/ui-animation-core/samples/build.gradle b/ui/ui-animation-core/samples/build.gradle
index 228b21f..55c2e44 100644
--- a/ui/ui-animation-core/samples/build.gradle
+++ b/ui/ui-animation-core/samples/build.gradle
@@ -35,3 +35,11 @@
     implementation project(":compose:animation:animation-core")
     implementation project(":compose:core:core-unit")
 }
+
+
+tasks.withType(KotlinCompile).configureEach {
+    kotlinOptions {
+        // useIR = true // TODO: Should just enable IR instead of `-Xallow-jvm-ir-dependencies`
+        freeCompilerArgs += "-Xallow-jvm-ir-dependencies"
+    }
+}
diff --git a/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/AnimationClock.kt b/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/AnimationClock.kt
index 511dc89..c77ca5c 100644
--- a/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/AnimationClock.kt
+++ b/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/AnimationClock.kt
@@ -66,6 +66,7 @@
  * Base implementation for the AnimationClockObservable that handles the subscribing and
  * unsubscribing logic that would be common for all custom animation clocks.
  */
+@Suppress("DEPRECATION_ERROR") // TODO: b/159875450 use of synchronized is deprecated.
 abstract class BaseAnimationClock : AnimationClockObservable {
     // Using LinkedHashSet to increase removal performance
     private val observers: MutableSet<AnimationClockObserver> = LinkedHashSet()
diff --git a/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/ToolingGlue.kt b/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/ToolingGlue.kt
index 0816cb2..a24a820 100644
--- a/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/ToolingGlue.kt
+++ b/ui/ui-animation-core/src/commonMain/kotlin/androidx/animation/ToolingGlue.kt
@@ -57,7 +57,7 @@
      * transition, this will be the duration of the longest running animation.
      */
     val duration: Long =
-            currentAnimWrappers.asSequence().map { it.value.durationMillis }.max()!!
+            currentAnimWrappers.asSequence().map { it.value.durationMillis }.maxOrNull()!!
 
     /**
      * Returns the animation values at the given playtime. This time could be any time between 0
diff --git a/ui/ui-animation/api/0.1.0-dev15.txt b/ui/ui-animation/api/0.1.0-dev15.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/0.1.0-dev15.txt
+++ b/ui/ui-animation/api/0.1.0-dev15.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/api/current.txt b/ui/ui-animation/api/current.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/current.txt
+++ b/ui/ui-animation/api/current.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-animation/api/public_plus_experimental_0.1.0-dev15.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-animation/api/public_plus_experimental_0.1.0-dev15.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/api/public_plus_experimental_current.txt b/ui/ui-animation/api/public_plus_experimental_current.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/public_plus_experimental_current.txt
+++ b/ui/ui-animation/api/public_plus_experimental_current.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/api/restricted_0.1.0-dev15.txt b/ui/ui-animation/api/restricted_0.1.0-dev15.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-animation/api/restricted_0.1.0-dev15.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/api/restricted_current.txt b/ui/ui-animation/api/restricted_current.txt
index efbecd3..c4e232e 100644
--- a/ui/ui-animation/api/restricted_current.txt
+++ b/ui/ui-animation/api/restricted_current.txt
@@ -93,9 +93,6 @@
 
   public final class SingleValueAnimationKt {
     method @androidx.compose.Composable public static float animate(float target, androidx.animation.AnimationSpec<java.lang.Float> animSpec = androidx.ui.animation.SingleValueAnimationKt.defaultAnimation, float visibilityThreshold = 0.01f, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? endListener = null);
-    method @androidx.compose.Composable public static androidx.ui.geometry.Size animate(androidx.ui.geometry.Size target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
-    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
-}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static androidx.ui.unit.Bounds animate(androidx.ui.unit.Bounds target, androidx.animation.AnimationSpec<androidx.ui.unit.Bounds> animSpec = remember({ 
     return <init>(BoundsToVectorConverter.invoke(DpVisibilityThreshold4D))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Bounds,kotlin.Unit>? endListener = null);
@@ -126,6 +123,9 @@
     method @androidx.compose.Composable public static long animate-MNu1-i4(long target, androidx.animation.AnimationSpec<androidx.ui.unit.Position> animSpec = remember({ 
     return <init>(Position(DpVisibilityThreshold.dp, DpVisibilityThreshold.dp))
 }), kotlin.jvm.functions.Function1<? super androidx.ui.unit.Position,kotlin.Unit>? endListener = null);
+    method @androidx.compose.Composable public static long animate-_lqcFKk(long target, androidx.animation.AnimationSpec<androidx.ui.geometry.Size> animSpec = remember({ 
+    return <init>(Size(PxVisibilityThreshold, PxVisibilityThreshold))
+}), kotlin.jvm.functions.Function1<? super androidx.ui.geometry.Size,kotlin.Unit>? endListener = null);
     method @androidx.compose.Composable public static long animate-zJFKTE8(long target, androidx.animation.AnimationSpec<androidx.ui.graphics.Color> animSpec = remember({ 
     return <init>()
 }), kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,kotlin.Unit>? endListener = null);
diff --git a/ui/ui-animation/src/commonMain/kotlin/androidx/ui/animation/DisposableAnimationClock.kt b/ui/ui-animation/src/commonMain/kotlin/androidx/ui/animation/DisposableAnimationClock.kt
index 9a1025724..a8b0da2 100644
--- a/ui/ui-animation/src/commonMain/kotlin/androidx/ui/animation/DisposableAnimationClock.kt
+++ b/ui/ui-animation/src/commonMain/kotlin/androidx/ui/animation/DisposableAnimationClock.kt
@@ -55,6 +55,7 @@
     private var disposed = false
 
     override fun subscribe(observer: AnimationClockObserver) {
+        @Suppress("DEPRECATION_ERROR")
         synchronized(allSubscriptions) {
             if (!disposed) {
                 allSubscriptions += observer
@@ -64,6 +65,7 @@
     }
 
     override fun unsubscribe(observer: AnimationClockObserver) {
+        @Suppress("DEPRECATION_ERROR")
         synchronized(allSubscriptions) {
             if (allSubscriptions.remove(observer)) {
                 clock.unsubscribe(observer)
@@ -77,6 +79,7 @@
      * After a call to [dispose], [isDisposed] will return `true`.
      */
     fun dispose() {
+        @Suppress("DEPRECATION_ERROR")
         synchronized(allSubscriptions) {
             allSubscriptions.forEach { clock.unsubscribe(it) }
             allSubscriptions.clear()
@@ -87,5 +90,6 @@
     /**
      * `true` if [dispose] has been called and no new subscriptions are permitted.
      */
+    @Suppress("DEPRECATION_ERROR")
     val isDisposed: Boolean get() = synchronized(allSubscriptions) { disposed == true }
 }
\ No newline at end of file
diff --git a/ui/ui-core/api/0.1.0-dev15.txt b/ui/ui-core/api/0.1.0-dev15.txt
index f50330a..56e2500 100644
--- a/ui/ui-core/api/0.1.0-dev15.txt
+++ b/ui/ui-core/api/0.1.0-dev15.txt
@@ -256,7 +256,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -359,7 +359,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2108,14 +2108,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/api/current.txt b/ui/ui-core/api/current.txt
index f50330a..56e2500 100644
--- a/ui/ui-core/api/current.txt
+++ b/ui/ui-core/api/current.txt
@@ -256,7 +256,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -359,7 +359,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2108,14 +2108,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
index f50330a..56e2500 100644
--- a/ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-core/api/public_plus_experimental_0.1.0-dev15.txt
@@ -256,7 +256,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -359,7 +359,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2108,14 +2108,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/api/public_plus_experimental_current.txt b/ui/ui-core/api/public_plus_experimental_current.txt
index f50330a..56e2500 100644
--- a/ui/ui-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-core/api/public_plus_experimental_current.txt
@@ -256,7 +256,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -359,7 +359,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2108,14 +2108,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/api/restricted_0.1.0-dev15.txt b/ui/ui-core/api/restricted_0.1.0-dev15.txt
index 26d10d1..51c55a1 100644
--- a/ui/ui-core/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-core/api/restricted_0.1.0-dev15.txt
@@ -262,7 +262,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -379,7 +379,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2160,14 +2160,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/api/restricted_current.txt b/ui/ui-core/api/restricted_current.txt
index 26d10d1..51c55a1 100644
--- a/ui/ui-core/api/restricted_current.txt
+++ b/ui/ui-core/api/restricted_current.txt
@@ -262,7 +262,7 @@
   }
 
   @androidx.compose.Stable public interface ContentScale {
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
     field public static final androidx.ui.core.ContentScale.Companion Companion;
   }
 
@@ -379,7 +379,7 @@
     method public float component1();
     method @androidx.compose.Immutable public androidx.ui.core.FixedScale copy(float value);
     method public float getValue();
-    method public float scale(androidx.ui.geometry.Size srcSize, androidx.ui.geometry.Size dstSize);
+    method public float scale-8JNMT64(long srcSize, long dstSize);
   }
 
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
@@ -2160,14 +2160,14 @@
   }
 
   public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class VectorPainterKt {
     method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @androidx.compose.Composable public static androidx.ui.graphics.vector.VectorPainter VectorPainter-CZQlTzY(float defaultWidth, float defaultHeight, float viewportWidth = (0.0f/0.0f), float viewportHeight = (0.0f/0.0f), String name = "VectorRootGroup", kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
     field public static final String RootGroupName = "VectorRootGroup";
   }
 
diff --git a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/LayoutSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/LayoutSample.kt
index 84f5428..aed609f 100644
--- a/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/LayoutSample.kt
+++ b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/LayoutSample.kt
@@ -35,16 +35,16 @@
             // The min intrinsic width of this layout will be twice the largest min intrinsic
             // width of a child. Note that we call minIntrinsicWidth with h / 2 for children,
             // since we should be double the size of the children.
-            (measurables.map { it.minIntrinsicWidth(h / 2) }.maxBy { it } ?: 0) * 2
+            (measurables.map { it.minIntrinsicWidth(h / 2) }.maxByOrNull { it } ?: 0) * 2
         },
         minIntrinsicHeightMeasureBlock = { measurables, w ->
-            (measurables.map { it.minIntrinsicHeight(w / 2) }.maxBy { it } ?: 0) * 2
+            (measurables.map { it.minIntrinsicHeight(w / 2) }.maxByOrNull { it } ?: 0) * 2
         },
         maxIntrinsicWidthMeasureBlock = { measurables, h ->
-            (measurables.map { it.maxIntrinsicHeight(h / 2) }.maxBy { it } ?: 0) * 2
+            (measurables.map { it.maxIntrinsicHeight(h / 2) }.maxByOrNull { it } ?: 0) * 2
         },
         maxIntrinsicHeightMeasureBlock = { measurables, w ->
-            (measurables.map { it.maxIntrinsicHeight(w / 2) }.maxBy { it } ?: 0) * 2
+            (measurables.map { it.maxIntrinsicHeight(w / 2) }.maxByOrNull { it } ?: 0) * 2
         }
     ) { measurables, constraints ->
         // measurables contains one element corresponding to each of our layout children.
@@ -58,8 +58,8 @@
         // We measure the children with half our constraints, to ensure we can be double
         // the size of the children.
         val placeables = measurables.map { it.measure(childConstraints) }
-        val layoutWidth = (placeables.maxBy { it.width }?.width ?: 0) * 2
-        val layoutHeight = (placeables.maxBy { it.height }?.height ?: 0) * 2
+        val layoutWidth = (placeables.maxByOrNull { it.width }?.width ?: 0) * 2
+        val layoutHeight = (placeables.maxByOrNull { it.height }?.height ?: 0) * 2
         // We call layout to set the size of the current layout and to provide the positioning
         // of the children. The children are placed relative to the current layout place.
         layout(layoutWidth, layoutHeight) {
@@ -85,8 +85,8 @@
         // We measure the children with half our constraints, to ensure we can be double
         // the size of the children.
         val placeables = measurables.map { it.measure(childConstraints) }
-        val layoutWidth = (placeables.maxBy { it.width }?.width ?: 0) * 2
-        val layoutHeight = (placeables.maxBy { it.height }?.height ?: 0) * 2
+        val layoutWidth = (placeables.maxByOrNull { it.width }?.width ?: 0) * 2
+        val layoutHeight = (placeables.maxByOrNull { it.height }?.height ?: 0) * 2
         // We call layout to set the size of the current layout and to provide the positioning
         // of the children. The children are placed relative to the current layout place.
         layout(layoutWidth, layoutHeight) {
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/PainterModifierTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/PainterModifierTest.kt
index 575ebc1f..48d63d2 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/PainterModifierTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/PainterModifierTest.kt
@@ -602,8 +602,8 @@
         Layout(children) { measurables, constraints ->
             val loosenedConstraints = constraints.copy(minWidth = 0, minHeight = 0)
             val placeables = measurables.map { it.measure(loosenedConstraints) }
-            val maxPlaceableWidth = placeables.maxBy { it.width }?.width ?: 0
-            val maxPlaceableHeight = placeables.maxBy { it.height }?.width ?: 0
+            val maxPlaceableWidth = placeables.maxByOrNull { it.width }?.width ?: 0
+            val maxPlaceableHeight = placeables.maxByOrNull { it.height }?.width ?: 0
             val width = max(maxPlaceableWidth, loosenedConstraints.minWidth)
             val height = max(maxPlaceableHeight, loosenedConstraints.minHeight)
             layout(width, height) {
@@ -623,11 +623,11 @@
         Layout(children, modifier) { measurables, constraints ->
             val placeables = measurables.map { it.measure(constraints) }
             val width = max(
-                placeables.maxBy { it.width }?.width ?: 0, constraints
+                placeables.maxByOrNull { it.width }?.width ?: 0, constraints
                     .minWidth
             )
             val height = max(
-                placeables.maxBy { it.height }?.height ?: 0, constraints
+                placeables.maxByOrNull { it.height }?.height ?: 0, constraints
                     .minHeight
             )
             layout(width, height) {
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
index c328913..f001b95 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/graphics/vector/VectorTest.kt
@@ -89,6 +89,7 @@
             testCase.createTestVector()
         }
 
+        latch1.await()
         val size = testCase.vectorSize
         takeScreenShot(size).apply {
             assertEquals(Color.Blue.toArgb(), getPixel(5, size - 5))
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
index 333456d..676b612 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/semantics/SemanticsTests.kt
@@ -333,11 +333,11 @@
             val (width, height) = with(placeables.filterNotNull()) {
                 Pair(
                     max(
-                        maxBy { it.width }?.width ?: 0,
+                        maxByOrNull { it.width }?.width ?: 0,
                         constraints.minWidth
                     ),
                     max(
-                        maxBy { it.height }?.height ?: 0,
+                        maxByOrNull { it.height }?.height ?: 0,
                         constraints.minHeight
                     )
                 )
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/autofill/Autofill.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/autofill/Autofill.kt
index cf57171..74edecc 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/autofill/Autofill.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/autofill/Autofill.kt
@@ -75,6 +75,7 @@
         @GuardedBy("this")
         private var previousId = 0
 
+        @Suppress("DEPRECATION_ERROR")
         private fun generateId() =
             synchronized(this) { ++previousId }
     }
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/LayoutTreeConsistencyChecker.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/LayoutTreeConsistencyChecker.kt
index 8f92788..7db8632 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/LayoutTreeConsistencyChecker.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/LayoutTreeConsistencyChecker.kt
@@ -96,14 +96,12 @@
                 for (i in 0 until depth) {
                     stringBuilder.append("..")
                 }
-                stringBuilder.append(nodeRepresentation)
-                stringBuilder.append("\n")
+                stringBuilder.appendLine(nodeRepresentation)
                 childrenDepth += 1
             }
             node.children.fastForEach { printSubTree(it, childrenDepth) }
         }
-        stringBuilder.append("Tree state:")
-        stringBuilder.append("\n")
+        stringBuilder.appendLine("Tree state:")
         printSubTree(root, 0)
         return stringBuilder.toString()
     }
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/ModelObserver.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/ModelObserver.kt
index 9438bf6..06e94c9f 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/ModelObserver.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/core/ModelObserver.kt
@@ -49,6 +49,7 @@
     private val commitObserver: FrameCommitObserver = { committed, _ ->
         var hasValues = false
         // This array is in the same order as commitMaps
+        @Suppress("DEPRECATION_ERROR")
         val targetsArray = synchronized(commitMaps) {
             Array(commitMaps.size) { index ->
                 commitMaps[index].map.get(committed).apply {
@@ -69,6 +70,7 @@
      */
     private val readObserver: FrameReadObserver = { model ->
         if (!isPaused) {
+            @Suppress("DEPRECATION_ERROR")
             synchronized(commitMaps) {
                 currentMap!!.add(model, currentTarget!!)
             }
@@ -140,7 +142,7 @@
         val oldTarget = currentTarget
         val oldPaused = isPaused
 
-        currentMap = synchronized(commitMaps) {
+        currentMap = @Suppress("DEPRECATION_ERROR") synchronized(commitMaps) {
             ensureMap(onCommit).apply { removeValue(target) }
         }
         currentTarget = target
@@ -173,6 +175,7 @@
      * `onCommit` methods passed in [observeReads].
      */
     fun clear(target: Any) {
+        @Suppress("DEPRECATION_ERROR")
         synchronized(commitMaps) {
             commitMaps.fastForEach { commitMap ->
                 commitMap.map.removeValue(target)
@@ -192,6 +195,7 @@
         for (i in 0..targetsArray.lastIndex) {
             val targets = targetsArray[i]
             if (targets.isNotEmpty()) {
+                @Suppress("DEPRECATION_ERROR")
                 val commitCaller = synchronized(commitMaps) { commitMaps[i] }
                 commitCaller.callOnCommit(targets)
             }
diff --git a/ui/ui-core/src/commonMain/kotlin/androidx/ui/graphics/vector/VectorPainter.kt b/ui/ui-core/src/commonMain/kotlin/androidx/ui/graphics/vector/VectorPainter.kt
index 447bc2cb..f392275 100644
--- a/ui/ui-core/src/commonMain/kotlin/androidx/ui/graphics/vector/VectorPainter.kt
+++ b/ui/ui-core/src/commonMain/kotlin/androidx/ui/graphics/vector/VectorPainter.kt
@@ -89,7 +89,8 @@
  */
 @Composable
 fun VectorPainter(asset: VectorAsset): VectorPainter {
-    return VectorPainter(
+    // TODO: Get rid of this temporary `vp` variable.
+    val vp = VectorPainter(
         name = asset.name,
         defaultWidth = asset.defaultWidth,
         defaultHeight = asset.defaultHeight,
@@ -97,6 +98,7 @@
         viewportHeight = asset.viewportHeight,
         children = { _, _ -> RenderVectorGroup(group = asset.root) }
     )
+    return vp
 }
 
 /**
diff --git a/ui/ui-foundation/api/0.1.0-dev15.txt b/ui/ui-foundation/api/0.1.0-dev15.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/0.1.0-dev15.txt
+++ b/ui/ui-foundation/api/0.1.0-dev15.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/api/current.txt b/ui/ui-foundation/api/current.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/current.txt
+++ b/ui/ui-foundation/api/current.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev15.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/api/public_plus_experimental_current.txt b/ui/ui-foundation/api/public_plus_experimental_current.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/public_plus_experimental_current.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_current.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/api/restricted_0.1.0-dev15.txt b/ui/ui-foundation/api/restricted_0.1.0-dev15.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-foundation/api/restricted_0.1.0-dev15.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/api/restricted_current.txt b/ui/ui-foundation/api/restricted_current.txt
index 42e71ed..5c8e7fcb 100644
--- a/ui/ui-foundation/api/restricted_current.txt
+++ b/ui/ui-foundation/api/restricted_current.txt
@@ -392,7 +392,7 @@
   public final class GenericShape implements androidx.ui.graphics.Shape {
     ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
     method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.geometry.Size,kotlin.Unit> builder);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
 }
@@ -403,8 +403,8 @@
     ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public abstract androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft = topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight = topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight = bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft = bottomLeft);
     method public final androidx.ui.foundation.shape.corner.CornerBasedShape copy(androidx.ui.foundation.shape.corner.CornerSize all);
-    method public final androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
-    method public abstract androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public abstract androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public final androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
     method public final androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
     method public final androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
@@ -412,7 +412,7 @@
   }
 
   @androidx.compose.Immutable public interface CornerSize {
-    method public float toPx(androidx.ui.geometry.Size shapeSize, androidx.ui.unit.Density density);
+    method public float toPx-SwJi8iY(long shapeSize, androidx.ui.unit.Density density);
   }
 
   public final class CornerSizeKt {
@@ -425,7 +425,7 @@
   public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class CutCornerShapeKt {
@@ -441,7 +441,7 @@
   public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
     ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
     method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, float topLeft, float topRight, float bottomRight, float bottomLeft);
+    method public androidx.ui.graphics.Outline createOutline-0bCqP4M(long size, float topLeft, float topRight, float bottomRight, float bottomLeft);
   }
 
   public final class RoundedCornerShapeKt {
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/animation/FlingConfig.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/animation/FlingConfig.kt
index ca07208..9f4798f 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/animation/FlingConfig.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/animation/FlingConfig.kt
@@ -113,7 +113,7 @@
     decayAnimation: FloatDecayAnimationSpec = ExponentialDecay()
 ): FlingConfig {
     val adjustTarget: (Float) -> TargetAnimation? = { target ->
-        val point = anchors.minBy { abs(it - target) }
+        val point = anchors.minByOrNull { abs(it - target) }
         val adjusted = point ?: target
         TargetAnimation(adjusted, animationSpec)
     }
diff --git a/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/lazy/LazyItemsState.kt b/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/lazy/LazyItemsState.kt
index 3a41bee..03bc555 100644
--- a/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/lazy/LazyItemsState.kt
+++ b/ui/ui-foundation/src/commonMain/kotlin/androidx/ui/foundation/lazy/LazyItemsState.kt
@@ -484,7 +484,7 @@
         MeasuringIntrinsicsMeasureBlocks { measurables, constraints ->
             val placeables = measurables.map { it.measure(constraints) }
             val mainAxisSize = placeables.sumBy { it.mainAxisSize }
-            val crossAxisSize = placeables.maxBy { it.crossAxisSize }?.crossAxisSize ?: 0
+            val crossAxisSize = placeables.maxByOrNull { it.crossAxisSize }?.crossAxisSize ?: 0
             layout(
                 width = if (!isVertical) mainAxisSize else crossAxisSize,
                 height = if (isVertical) mainAxisSize else crossAxisSize
diff --git a/ui/ui-geometry/api/0.1.0-dev15.txt b/ui/ui-geometry/api/0.1.0-dev15.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/0.1.0-dev15.txt
+++ b/ui/ui-geometry/api/0.1.0-dev15.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/api/current.txt b/ui/ui-geometry/api/current.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/current.txt
+++ b/ui/ui-geometry/api/current.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-geometry/api/public_plus_experimental_0.1.0-dev15.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-geometry/api/public_plus_experimental_0.1.0-dev15.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/api/public_plus_experimental_current.txt b/ui/ui-geometry/api/public_plus_experimental_current.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/public_plus_experimental_current.txt
+++ b/ui/ui-geometry/api/public_plus_experimental_current.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/api/restricted_0.1.0-dev15.txt b/ui/ui-geometry/api/restricted_0.1.0-dev15.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-geometry/api/restricted_0.1.0-dev15.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/api/restricted_current.txt b/ui/ui-geometry/api/restricted_current.txt
index c5dbbc3..93ff203 100644
--- a/ui/ui-geometry/api/restricted_current.txt
+++ b/ui/ui-geometry/api/restricted_current.txt
@@ -172,7 +172,7 @@
     method public float getMaxDimension();
     method public float getMinDimension();
     method public float getRight();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public float getTop();
     method public androidx.ui.geometry.Offset getTopCenter();
     method public androidx.ui.geometry.Offset getTopLeft();
@@ -211,59 +211,59 @@
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect lerp(androidx.ui.geometry.Rect start, androidx.ui.geometry.Rect stop, float fraction);
   }
 
-  @androidx.compose.Immutable public final class Size {
-    ctor public Size(internal long packedValue);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset bottomRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset center(androidx.ui.geometry.Offset origin = Offset.Zero);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset centerRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public boolean contains(androidx.ui.geometry.Offset offset);
-    method public androidx.ui.geometry.Size copy(float width = this.width, float height = this.height);
-    method @androidx.compose.Immutable public androidx.ui.geometry.Size copy(long packedValue);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size div(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size getFlipped();
-    method public float getHeight();
-    method public float getMaxDimension();
-    method public float getMinDimension();
-    method public float getWidth();
-    method @androidx.compose.Stable public boolean isEmpty();
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size minus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Offset minus(androidx.ui.geometry.Size other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size plus(androidx.ui.geometry.Offset other);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size rem(float operand);
-    method @androidx.compose.Stable public operator androidx.ui.geometry.Size times(float operand);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topCenter(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topLeft(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Offset topRight(androidx.ui.geometry.Offset origin);
-    method @androidx.compose.Stable public androidx.ui.geometry.Size truncDiv(float operand);
-    property public final float height;
-    property public final float maxDimension;
-    property public final float minDimension;
-    property public final float width;
+  @androidx.compose.Immutable public final inline class Size {
+    ctor public Size();
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset bottomRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-impl(long $this, androidx.ui.geometry.Offset origin = Offset.Zero);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset centerRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method public static long constructor-impl(internal long packedValue);
+    method @androidx.compose.Stable public static boolean contains-impl(long $this, androidx.ui.geometry.Offset offset);
+    method public static long copy-impl(long $this, float width = this.width, float height = this.height);
+    method @androidx.compose.Stable public static operator long div-impl(long $this, float operand);
+    method @androidx.compose.Immutable public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method @androidx.compose.Stable public static long getFlipped-impl(long $this);
+    method public static float getHeight-impl(long $this);
+    method public static float getMaxDimension-impl(long $this);
+    method public static float getMinDimension-impl(long $this);
+    method public static float getWidth-impl(long $this);
+    method @androidx.compose.Immutable public static inline int hashCode-impl(long p);
+    method @androidx.compose.Stable public static boolean isEmpty-impl(long $this);
+    method @androidx.compose.Stable public static operator androidx.ui.geometry.Offset minus-b2zCL34(long $this, long other);
+    method @androidx.compose.Stable public static operator long minus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long plus-impl(long $this, androidx.ui.geometry.Offset other);
+    method @androidx.compose.Stable public static operator long rem-impl(long $this, float operand);
+    method @androidx.compose.Stable public static operator long times-impl(long $this, float operand);
+    method public static String toString-impl(long $this);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topCenter-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topLeft-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset topRight-impl(long $this, androidx.ui.geometry.Offset origin);
+    method @androidx.compose.Stable public static long truncDiv-impl(long $this, float operand);
     field public static final androidx.ui.geometry.Size.Companion Companion;
   }
 
   public static final class Size.Companion {
-    method @Deprecated public androidx.ui.geometry.Size copy(androidx.ui.geometry.Size source);
-    method public androidx.ui.geometry.Size fromHeight(float height);
-    method public androidx.ui.geometry.Size fromRadius(float radius);
-    method public androidx.ui.geometry.Size fromWidth(float width);
-    method public androidx.ui.geometry.Size getUnspecifiedSize();
-    method public androidx.ui.geometry.Size getZero();
-    method public androidx.ui.geometry.Size square(float dimension);
-    property public final androidx.ui.geometry.Size UnspecifiedSize;
-    property public final androidx.ui.geometry.Size zero;
+    method @Deprecated public long copy-b2zCL34(long source);
+    method public long fromHeight(float height);
+    method public long fromRadius(float radius);
+    method public long fromWidth(float width);
+    method public long getUnspecifiedSize();
+    method public long getZero();
+    method public long square(float dimension);
+    property public final long UnspecifiedSize;
+    property public final long zero;
   }
 
   public final class SizeKt {
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size Size(float width, float height);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp(androidx.ui.geometry.Size start, androidx.ui.geometry.Size stop, float fraction);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(int, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(double, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static inline operator androidx.ui.geometry.Size times(float, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static long Size(float width, float height);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Size? lerp-T-c3OIQ(long start, long stop, float fraction);
+    method @androidx.compose.Stable public static inline operator long times--RLAD3A(int, long size);
+    method @androidx.compose.Stable public static inline operator long times-EVxmo3I(float, long size);
+    method @androidx.compose.Stable public static inline operator long times-W1X_JKQ(double, long size);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect-b2zCL34(long);
   }
 
 }
diff --git a/ui/ui-geometry/src/commonMain/kotlin/androidx/ui/geometry/Size.kt b/ui/ui-geometry/src/commonMain/kotlin/androidx/ui/geometry/Size.kt
index 100d9e2..4299c06 100644
--- a/ui/ui-geometry/src/commonMain/kotlin/androidx/ui/geometry/Size.kt
+++ b/ui/ui-geometry/src/commonMain/kotlin/androidx/ui/geometry/Size.kt
@@ -42,7 +42,7 @@
 // TODO njawad make this an inline class again once the fix for b/155690960 has been picked
 //   up by the compose kotlin compiler
 @Immutable
-/* inline */ data class Size(@PublishedApi internal val packedValue: Long) {
+inline class Size(@PublishedApi internal val packedValue: Long) {
 
     @Stable
     val width: Float
diff --git a/ui/ui-graphics/api/0.1.0-dev15.txt b/ui/ui-graphics/api/0.1.0-dev15.txt
index e5f2907..ba44771 100644
--- a/ui/ui-graphics/api/0.1.0-dev15.txt
+++ b/ui/ui-graphics/api/0.1.0-dev15.txt
@@ -502,7 +502,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -746,31 +746,31 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
+    method public final long getSize();
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
   }
 
@@ -802,14 +802,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -855,17 +855,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -873,10 +873,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/api/current.txt b/ui/ui-graphics/api/current.txt
index e5f2907..ba44771 100644
--- a/ui/ui-graphics/api/current.txt
+++ b/ui/ui-graphics/api/current.txt
@@ -502,7 +502,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -746,31 +746,31 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
+    method public final long getSize();
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
   }
 
@@ -802,14 +802,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -855,17 +855,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -873,10 +873,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev15.txt
index e5f2907..ba44771 100644
--- a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev15.txt
@@ -502,7 +502,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -746,31 +746,31 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
+    method public final long getSize();
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
   }
 
@@ -802,14 +802,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -855,17 +855,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -873,10 +873,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/api/public_plus_experimental_current.txt b/ui/ui-graphics/api/public_plus_experimental_current.txt
index e5f2907..ba44771 100644
--- a/ui/ui-graphics/api/public_plus_experimental_current.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_current.txt
@@ -502,7 +502,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -746,31 +746,31 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
+    method public final long getSize();
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
   }
 
@@ -802,14 +802,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -855,17 +855,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -873,10 +873,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/api/restricted_0.1.0-dev15.txt b/ui/ui-graphics/api/restricted_0.1.0-dev15.txt
index 143c87c..342a4800 100644
--- a/ui/ui-graphics/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-graphics/api/restricted_0.1.0-dev15.txt
@@ -535,7 +535,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -779,32 +779,32 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
-    method @kotlin.PublishedApi internal final void setSize(androidx.ui.geometry.Size size);
+    method public final long getSize();
+    method @kotlin.PublishedApi internal final void setSize-b2zCL34(long size);
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
     field @kotlin.PublishedApi internal androidx.ui.graphics.Canvas canvas;
     field @kotlin.PublishedApi internal final androidx.ui.graphics.drawscope.DrawTransform transform;
@@ -838,14 +838,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -891,17 +891,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -909,10 +909,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/api/restricted_current.txt b/ui/ui-graphics/api/restricted_current.txt
index 143c87c..342a4800 100644
--- a/ui/ui-graphics/api/restricted_current.txt
+++ b/ui/ui-graphics/api/restricted_current.txt
@@ -535,7 +535,7 @@
   }
 
   @androidx.compose.Immutable public interface Shape {
-    method public androidx.ui.graphics.Outline createOutline(androidx.ui.geometry.Size size, androidx.ui.unit.Density density);
+    method public androidx.ui.graphics.Outline createOutline-SwJi8iY(long size, androidx.ui.unit.Density density);
   }
 
   public final class SolidColor extends androidx.ui.graphics.Brush {
@@ -779,32 +779,32 @@
 
   @androidx.ui.graphics.drawscope.DrawScopeMarker public abstract class DrawScope implements androidx.ui.unit.Density {
     ctor public DrawScope();
-    method protected final void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.geometry.Size size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
-    method public final void drawArc(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method protected final void draw-mEaFHtM(androidx.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+    method public final void drawArc-MKXvu20(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawArc-w9iw49s(long color, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle(androidx.ui.graphics.Brush brush, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawCircle-UNeD5NE(long color, float radius = size.minDimension / 2.0, androidx.ui.geometry.Offset center = this.center, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.geometry.Offset topLeft = Offset.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawImage(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset = IntOffset.Origin, androidx.ui.unit.IntSize srcSize = IntSize(image.width, image.height), androidx.ui.unit.IntOffset dstOffset = IntOffset.Origin, androidx.ui.unit.IntSize dstSize = srcSize, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawLine-LIcrJ00(long color, androidx.ui.geometry.Offset start, androidx.ui.geometry.Offset end, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = Stroke.DefaultCap, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawOval-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Brush brush, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPath-u5ZPEDk(androidx.ui.graphics.Path path, long color, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, androidx.ui.graphics.Brush brush, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final void drawPoints-op7krm4(java.util.List<androidx.ui.geometry.Offset> points, androidx.ui.graphics.PointMode pointMode, long color, float strokeWidth = 0.0f, androidx.ui.graphics.StrokeCap cap = androidx.ui.graphics.StrokeCap.butt, android.graphics.PathEffect? pathEffect = null, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
-    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, androidx.ui.geometry.Size size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-5gW23P0(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRect-m7aN-JY(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-J_jAawI(long color, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, androidx.ui.graphics.drawscope.DrawStyle style = Fill, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
+    method public final void drawRoundRect-TLscAYA(androidx.ui.graphics.Brush brush, androidx.ui.geometry.Offset topLeft = Offset.Zero, long size = this.size - topLeft, long radius = Radius.Zero, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.drawscope.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
     method public final androidx.ui.geometry.Offset getCenter();
     method public abstract androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public final androidx.ui.geometry.Size getSize();
-    method @kotlin.PublishedApi internal final void setSize(androidx.ui.geometry.Size size);
+    method public final long getSize();
+    method @kotlin.PublishedApi internal final void setSize-b2zCL34(long size);
     property public final androidx.ui.geometry.Offset center;
     property public abstract androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.geometry.Size size;
+    property public final long size;
     field public static final androidx.ui.graphics.drawscope.DrawScope.Companion Companion;
     field @kotlin.PublishedApi internal androidx.ui.graphics.Canvas canvas;
     field @kotlin.PublishedApi internal final androidx.ui.graphics.drawscope.DrawTransform transform;
@@ -838,14 +838,14 @@
     method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default androidx.ui.geometry.Offset getCenter();
-    method public androidx.ui.geometry.Size getSize();
+    method public long getSize();
     method public void inset(float left, float top, float right, float bottom);
     method public void rotate(float degrees, float pivotX = center.x, float pivotY = center.y);
     method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.x, float pivotY = center.y);
     method public void transform(androidx.ui.graphics.vectormath.Matrix4 matrix);
     method public void translate(float left = 0.0f, float top = 0.0f);
     property public default androidx.ui.geometry.Offset center;
-    property public abstract androidx.ui.geometry.Size size;
+    property public abstract long size;
   }
 
   public final class DrawTransformKt {
@@ -891,17 +891,17 @@
     method public long component1();
     method public androidx.ui.graphics.painter.ColorPainter copy-QEYXlZo(long color);
     method public long getColor();
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public final class ImagePainter extends androidx.ui.graphics.painter.Painter {
     ctor public ImagePainter(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
     method public androidx.ui.graphics.painter.ImagePainter copy(androidx.ui.graphics.ImageAsset image, androidx.ui.unit.IntOffset srcOffset, androidx.ui.unit.IntSize srcSize);
-    method public androidx.ui.geometry.Size getIntrinsicSize();
+    method public long getIntrinsicSize();
     method protected void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public androidx.ui.geometry.Size intrinsicSize;
+    property public long intrinsicSize;
   }
 
   public abstract class Painter {
@@ -909,10 +909,10 @@
     method protected boolean applyAlpha(float alpha);
     method protected boolean applyColorFilter(androidx.ui.graphics.ColorFilter? colorFilter);
     method protected boolean applyLayoutDirection(androidx.ui.core.LayoutDirection layoutDirection);
-    method public final void draw(androidx.ui.graphics.drawscope.DrawScope, androidx.ui.geometry.Size size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
-    method public abstract androidx.ui.geometry.Size getIntrinsicSize();
+    method public final void draw-fjVI2_8(androidx.ui.graphics.drawscope.DrawScope, long size, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null);
+    method public abstract long getIntrinsicSize();
     method protected abstract void onDraw(androidx.ui.graphics.drawscope.DrawScope);
-    property public abstract androidx.ui.geometry.Size intrinsicSize;
+    property public abstract long intrinsicSize;
   }
 
 }
diff --git a/ui/ui-graphics/build.gradle b/ui/ui-graphics/build.gradle
index b617d61..791e58f 100644
--- a/ui/ui-graphics/build.gradle
+++ b/ui/ui-graphics/build.gradle
@@ -73,10 +73,9 @@
 tasks.withType(KotlinCompile).configureEach {
     kotlinOptions {
         freeCompilerArgs += [
-            "-Xuse-experimental=kotlin.Experimental",
-            "-XXLanguage:+InlineClasses"
+            "-XXLanguage:+InlineClasses",
+            "-Xallow-jvm-ir-dependencies"
         ]
-        useIR = true
     }
 }
 
diff --git a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
index a89c585..0ab2542 100644
--- a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
+++ b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
@@ -134,7 +134,7 @@
             e.measure(constraints.copy(minWidth = 0, minHeight = 0))
         }
         val w = p.fold(0) { sum, e -> sum + e.width }
-        val h = p.maxBy { it.height }!!.height
+        val h = p.maxByOrNull { it.height }!!.height
         layout(w, h) {
             var xPosition = 0
             for (child in p) {
diff --git a/ui/ui-layout/src/commonMain/kotlin/androidx/ui/layout/Stack.kt b/ui/ui-layout/src/commonMain/kotlin/androidx/ui/layout/Stack.kt
index 078531b..9e8e654 100644
--- a/ui/ui-layout/src/commonMain/kotlin/androidx/ui/layout/Stack.kt
+++ b/ui/ui-layout/src/commonMain/kotlin/androidx/ui/layout/Stack.kt
@@ -57,8 +57,8 @@
         }
         val (stackWidth, stackHeight) = with(placeables.filterNotNull()) {
             Pair(
-                max(maxBy { it.width }?.width ?: 0, constraints.minWidth),
-                max(maxBy { it.height }?.height ?: 0, constraints.minHeight)
+                max(maxByOrNull { it.width }?.width ?: 0, constraints.minWidth),
+                max(maxByOrNull { it.height }?.height ?: 0, constraints.minHeight)
             )
         }
 
diff --git a/ui/ui-material/build.gradle b/ui/ui-material/build.gradle
index cf786ec..e9d4c65 100644
--- a/ui/ui-material/build.gradle
+++ b/ui/ui-material/build.gradle
@@ -90,3 +90,11 @@
     sourceSets.androidTest.assets.srcDirs +=
             project.rootDir.absolutePath + "/../../../golden/ui/ui-material"
 }
+
+tasks.withType(KotlinCompile).configureEach {
+    kotlinOptions {
+        freeCompilerArgs += [
+                "-Xallow-jvm-ir-dependencies"
+        ]
+    }
+}
diff --git a/ui/ui-material/icons/core/build.gradle b/ui/ui-material/icons/core/build.gradle
index 034ba05..4d6e31b 100644
--- a/ui/ui-material/icons/core/build.gradle
+++ b/ui/ui-material/icons/core/build.gradle
@@ -18,6 +18,7 @@
 import androidx.build.LibraryVersions
 import androidx.build.Publish
 import androidx.ui.material.icons.generator.tasks.IconGenerationTask
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 import static androidx.build.dependencies.DependenciesKt.*
 
@@ -44,3 +45,11 @@
     inceptionYear = "2020"
     description = "AndroidX Core Material Icons"
 }
+
+tasks.withType(KotlinCompile).configureEach {
+    kotlinOptions {
+        freeCompilerArgs += [
+                "-Xallow-jvm-ir-dependencies"
+        ]
+    }
+}
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/FilledTextField.kt b/ui/ui-material/src/main/java/androidx/ui/material/FilledTextField.kt
index 02713e9..42facff 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/FilledTextField.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/FilledTextField.kt
@@ -494,7 +494,7 @@
                     leadingPlaceable,
                     trailingPlaceable,
                     textFieldPlaceable
-                ).maxBy { heightOrZero(it) }
+                ).maxByOrNull { heightOrZero(it) }
             ),
             incomingConstraints.minHeight
         )
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt b/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt
index 2c65c21..3c8ded4 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/OutlinedTextField.kt
@@ -483,7 +483,7 @@
             textFieldPlaceable,
             labelPlaceable,
             placeholderPlaceable
-        ).maxBy { widthOrZero(it) }
+        ).maxByOrNull { widthOrZero(it) }
     )
     val wrappedWidth =
         widthOrZero(leadingPlaceable) + middleSection + widthOrZero(
@@ -522,7 +522,7 @@
             heightOrZero(leadingPlaceable),
             heightOrZero(trailingPlaceable),
             middleSectionHeight.roundToInt()
-        ).max() ?: 0,
+        ).maxOrNull() ?: 0,
         constraints.minHeight
     )
 }
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt b/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
index 998e05e..cdd2be3 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
@@ -294,7 +294,7 @@
     } else {
         val adjustTarget: (Float) -> TargetAnimation? = { _ ->
             val now = value.holder.value
-            val point = anchors.minBy { abs(it - now) }
+            val point = anchors.minByOrNull { abs(it - now) }
             val adjusted = point ?: now
             TargetAnimation(adjusted, SliderToTickAnimation)
         }
@@ -362,7 +362,7 @@
         val anchorsValue = position.tickFractions.map {
             lerp(position.startValue, position.endValue, it)
         }
-        val point = anchorsValue.minBy { abs(it - newValue) }
+        val point = anchorsValue.minByOrNull { abs(it - newValue) }
         newValue = point ?: newValue
     }
     // This is to keep it consistent with AbsSeekbar.java: return false if no
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt b/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt
index 8f6f731..d786db2 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/internal/StateDraggable.kt
@@ -101,8 +101,8 @@
         },
         adjustTarget = { target ->
             // Find the two anchors the target lies between.
-            val a = anchors.filter { it <= target }.max()
-            val b = anchors.filter { it >= target }.min()
+            val a = anchors.filter { it <= target }.maxOrNull()
+            val b = anchors.filter { it >= target }.minOrNull()
             // Compute which anchor to fling to.
             val adjusted: Float =
                 if (a == null && b == null) {
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/util/Truth.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/util/Truth.kt
index 1cc2dea..88cbdb2 100644
--- a/ui/ui-test/src/androidTest/java/androidx/ui/test/util/Truth.kt
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/util/Truth.kt
@@ -60,7 +60,7 @@
     if (size <= 1) {
         return
     }
-    assertThat(min()!!).isWithin(2 * tolerance).of(max()!!)
+    assertThat(minOrNull()!!).isWithin(2 * tolerance).of(maxOrNull()!!)
 }
 
 /**
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt b/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
index 2034873..04cd579 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
@@ -65,15 +65,15 @@
         sb.append(".")
     }
 
-    sb.appendln()
+    sb.appendLine()
 
     if (foundNodes.isNotEmpty()) {
         if (foundNodes.size == 1) {
-            sb.appendln("Node found:")
+            sb.appendLine("Node found:")
         } else {
-            sb.appendln("Nodes found:")
+            sb.appendLine("Nodes found:")
         }
-        sb.appendln(foundNodes.printToString())
+        sb.appendLine(foundNodes.printToString())
     }
 
     return sb.toString()
@@ -100,10 +100,10 @@
     sb.append(errorMessage)
     sb.append("\n")
 
-    sb.appendln("The node is no longer in the tree, last known semantics:")
-    sb.appendln(lastSeenSemantics)
+    sb.appendLine("The node is no longer in the tree, last known semantics:")
+    sb.appendLine(lastSeenSemantics)
     sb.append("Original selector: ")
-    sb.appendln(selector.description)
+    sb.appendLine(selector.description)
 
     return sb.toString()
 }
@@ -115,14 +115,14 @@
 ): String {
     val sb = StringBuilder()
 
-    sb.appendln("Failed to assertAny(${assertionMatcher.description})")
+    sb.appendLine("Failed to assertAny(${assertionMatcher.description})")
 
-    sb.appendln("None of the following nodes match:")
-    sb.appendln(nodes.printToString())
+    sb.appendLine("None of the following nodes match:")
+    sb.appendLine(nodes.printToString())
 
     sb.append("Selector used: '")
     sb.append(selector.description)
-    sb.appendln("'")
+    sb.appendLine("'")
 
     return sb.toString()
 }
@@ -134,16 +134,16 @@
 ): String {
     val sb = StringBuilder()
 
-    sb.appendln("Failed to assertAll(${assertionMatcher.description})")
+    sb.appendLine("Failed to assertAll(${assertionMatcher.description})")
 
     sb.append("Found '${nodesNotMatching.size}' ")
     sb.append(if (nodesNotMatching.size == 1) "node" else "nodes")
-    sb.appendln(" not matching:")
-    sb.appendln(nodesNotMatching.printToString())
+    sb.appendLine(" not matching:")
+    sb.appendLine(nodesNotMatching.printToString())
 
     sb.append("Selector used: '")
     sb.append(selector.description)
-    sb.appendln("'")
+    sb.appendLine("'")
 
     return sb.toString()
 }
@@ -154,12 +154,12 @@
 ): String {
     val sb = StringBuilder()
 
-    sb.appendln(errorMessage)
+    sb.appendLine(errorMessage)
 
     sb.append("Assert needs to receive at least 1 node but 0 nodes were found for selector: ")
     sb.append("'")
     sb.append(selector.description)
-    sb.appendln("'")
+    sb.appendLine("'")
 
     return sb.toString()
 }
@@ -171,14 +171,14 @@
 ): String {
     val sb = StringBuilder()
 
-    sb.appendln(errorMessage)
+    sb.appendLine(errorMessage)
 
-    sb.appendln("Semantics of the node:")
-    sb.appendln(node.printToString())
+    sb.appendLine("Semantics of the node:")
+    sb.appendLine(node.printToString())
 
     sb.append("Selector used: (")
     sb.append(selector.description)
-    sb.appendln(")")
+    sb.appendLine(")")
 
     return sb.toString()
 }
@@ -192,16 +192,16 @@
 
     sb.append("Can't retrieve node at index '$index' of '")
     sb.append(selector.description)
-    sb.appendln("'")
+    sb.appendLine("'")
 
     if (nodes.isEmpty()) {
-        sb.appendln("There are no existing nodes for that selector.")
+        sb.appendLine("There are no existing nodes for that selector.")
     } else if (nodes.size == 1) {
-        sb.appendln("There is 1 node only:")
-        sb.appendln(nodes.printToString())
+        sb.appendLine("There is 1 node only:")
+        sb.appendLine(nodes.printToString())
     } else {
-        sb.appendln("There are '${nodes.size}' nodes only:")
-        sb.appendln(nodes.printToString())
+        sb.appendLine("There are '${nodes.size}' nodes only:")
+        sb.appendLine(nodes.printToString())
     }
 
     return sb.toString()
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 dbb4cc5..c0b05a1 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
@@ -116,7 +116,7 @@
         }
         sb.append(it.printToString(maxDepth))
         if (i < size) {
-            sb.appendln()
+            sb.appendLine()
         }
         ++i
     }
@@ -170,7 +170,7 @@
         val childrenCount = children.size
         val siblingsCount = (parent?.children?.size ?: 1) - 1
         if (childrenCount > 0 || (siblingsCount > 0 && nestingLevel == 0)) {
-            sb.appendln()
+            sb.appendLine()
             sb.append(newIndent)
             sb.append("Has ")
             if (childrenCount > 1) {
@@ -196,7 +196,7 @@
     val children = this.children.toList()
     children.forEachIndexed { index, child ->
         val hasSibling = index < children.size - 1
-        sb.appendln()
+        sb.appendLine()
         child.printToStringInner(sb, maxDepth, childrenLevel, newIndent, hasSibling)
     }
 }
@@ -211,7 +211,7 @@
             continue
         }
 
-        appendln()
+        appendLine()
         append(indent)
         append(key.name)
         append(" = '")
@@ -232,7 +232,7 @@
     }
 
     if (config.isMergingSemanticsOfDescendants) {
-        appendln()
+        appendLine()
         append(indent)
         append("MergeDescendants = 'true'")
     }
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/ui/text/platform/LayoutIntrinsics.kt
index b00884e..ec8951b 100644
--- a/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutIntrinsics.kt
+++ b/ui/ui-text-android/src/main/java/androidx/ui/text/platform/LayoutIntrinsics.kt
@@ -100,5 +100,5 @@
 
     return longestWordCandidates.map { pair ->
         Layout.getDesiredWidth(text, pair.first, pair.second, paint)
-    }.max() ?: 0f
+    }.maxOrNull() ?: 0f
 }
diff --git a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt b/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt
index 19fec3f..49ea7ef 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/MultiParagraphIntrinsics.kt
@@ -46,13 +46,13 @@
 ) : ParagraphIntrinsics {
 
     override val minIntrinsicWidth: Float by lazy {
-        infoList.maxBy {
+        infoList.maxByOrNull {
             it.intrinsics.minIntrinsicWidth
         }?.intrinsics?.minIntrinsicWidth ?: 0f
     }
 
     override val maxIntrinsicWidth: Float by lazy {
-        infoList.maxBy {
+        infoList.maxByOrNull {
             it.intrinsics.maxIntrinsicWidth
         }?.intrinsics?.maxIntrinsicWidth ?: 0f
     }
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/ui/text/font/FontMatcher.kt
index 7cb3d71..452bda3 100644
--- a/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontMatcher.kt
+++ b/ui/ui-text-core/src/commonMain/kotlin/androidx/ui/text/font/FontMatcher.kt
@@ -58,14 +58,14 @@
             // If the desired weight is less than 400
             // - weights less than or equal to the desired weight are checked in descending order
             // - followed by weights above the desired weight in ascending order
-            fonts.filter { it.weight <= fontWeight }.maxBy { it.weight }
-                ?: fonts.filter { it.weight > fontWeight }.minBy { it.weight }
+            fonts.filter { it.weight <= fontWeight }.maxByOrNull { it.weight }
+                ?: fonts.filter { it.weight > fontWeight }.minByOrNull { it.weight }
         } else if (fontWeight > FontWeight.W500) {
             // If the desired weight is greater than 500
             // - weights greater than or equal to the desired weight are checked in ascending order
             // - followed by weights below the desired weight in descending order
-            fonts.filter { it.weight >= fontWeight }.minBy { it.weight }
-                ?: fonts.filter { it.weight < fontWeight }.maxBy { it.weight }
+            fonts.filter { it.weight >= fontWeight }.minByOrNull { it.weight }
+                ?: fonts.filter { it.weight < fontWeight }.maxByOrNull { it.weight }
         } else {
             // If the desired weight is inclusively between 400 and 500
             // - weights greater than or equal to the target weight are checked in ascending order
@@ -73,9 +73,9 @@
             // - followed by weights less than the target weight in descending order,
             // - followed by weights greater than 500
             fonts.filter { it.weight >= fontWeight && it.weight <= FontWeight.W500 }
-                .minBy { it.weight }
-                ?: fonts.filter { it.weight < fontWeight }.maxBy { it.weight }
-                ?: fonts.filter { it.weight > FontWeight.W500 }.minBy { it.weight }
+                .minByOrNull { it.weight }
+                ?: fonts.filter { it.weight < fontWeight }.maxByOrNull { it.weight }
+                ?: fonts.filter { it.weight > FontWeight.W500 }.minByOrNull { it.weight }
         }
 
         return result ?: throw IllegalStateException("Cannot match any font")
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 d37011c..0cb0984 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
@@ -291,7 +291,7 @@
      * Prefer the font closest to [FontWeight.Normal] and [FontStyle.Normal]
      */
     private fun findBestResourceFont(value: FontListFontFamily): ResourceFont? =
-        value.fonts.asSequence().filterIsInstance<ResourceFont>().minBy {
+        value.fonts.asSequence().filterIsInstance<ResourceFont>().minByOrNull {
             abs(it.weight.weight - FontWeight.Normal.weight) + it.style.ordinal
         }
 
diff --git a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/animation/PreviewAnimationClock.kt b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/animation/PreviewAnimationClock.kt
index 8d40aee..4186cfc 100644
--- a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/animation/PreviewAnimationClock.kt
+++ b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/animation/PreviewAnimationClock.kt
@@ -170,7 +170,8 @@
      */
     fun getMaxDuration(): Long {
         // TODO(b/160126628): support other animation types, e.g. AnimatedValue
-        val maxTransitionAnimation = seekableAnimations.maxBy { it.value.duration }?.value?.duration
+        val maxTransitionAnimation = seekableAnimations
+            .maxByOrNull { it.value.duration }?.value?.duration
         return maxTransitionAnimation ?: -1
     }
 
diff --git a/ui/ui-unit/api/0.1.0-dev15.txt b/ui/ui-unit/api/0.1.0-dev15.txt
index 7fe4172..366bed1c 100644
--- a/ui/ui-unit/api/0.1.0-dev15.txt
+++ b/ui/ui-unit/api/0.1.0-dev15.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {
diff --git a/ui/ui-unit/api/current.txt b/ui/ui-unit/api/current.txt
index 7fe4172..366bed1c 100644
--- a/ui/ui-unit/api/current.txt
+++ b/ui/ui-unit/api/current.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {
diff --git a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev15.txt b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev15.txt
index 7fe4172..366bed1c 100644
--- a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev15.txt
+++ b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev15.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {
diff --git a/ui/ui-unit/api/public_plus_experimental_current.txt b/ui/ui-unit/api/public_plus_experimental_current.txt
index 7fe4172..366bed1c 100644
--- a/ui/ui-unit/api/public_plus_experimental_current.txt
+++ b/ui/ui-unit/api/public_plus_experimental_current.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {
diff --git a/ui/ui-unit/api/restricted_0.1.0-dev15.txt b/ui/ui-unit/api/restricted_0.1.0-dev15.txt
index a9c734a..24d9981 100644
--- a/ui/ui-unit/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-unit/api/restricted_0.1.0-dev15.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {
diff --git a/ui/ui-unit/api/restricted_current.txt b/ui/ui-unit/api/restricted_current.txt
index a9c734a..24d9981 100644
--- a/ui/ui-unit/api/restricted_current.txt
+++ b/ui/ui-unit/api/restricted_current.txt
@@ -333,7 +333,7 @@
     method @androidx.compose.Stable public static androidx.ui.unit.IntSize IntSize(int width, int height);
     method public static androidx.ui.unit.IntOffset getCenter(androidx.ui.unit.IntSize);
     method @androidx.compose.Stable public static operator androidx.ui.unit.IntSize times(int, androidx.ui.unit.IntSize size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.IntSize);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.IntSize);
   }
 
   @androidx.compose.Immutable public final inline class Position {
@@ -398,15 +398,15 @@
   }
 
   public final class PxKt {
-    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds(androidx.ui.geometry.Offset topLeft, androidx.ui.geometry.Size size);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static inline androidx.ui.unit.PxBounds PxBounds-oHQNTA4(androidx.ui.geometry.Offset topLeft, long size);
     method @androidx.compose.Stable public static inline androidx.ui.geometry.Offset center(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static androidx.ui.geometry.Offset center-b2zCL34(long);
     method public static inline float getHeight(androidx.ui.unit.PxBounds);
     method public static inline float getWidth(androidx.ui.unit.PxBounds);
     method @androidx.compose.Stable public static inline androidx.ui.unit.IntOffset round(androidx.ui.geometry.Offset);
-    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds(androidx.ui.geometry.Size);
+    method @androidx.compose.Stable public static androidx.ui.unit.PxBounds toBounds-b2zCL34(long);
     method @androidx.compose.Stable public static androidx.ui.geometry.Rect toRect(androidx.ui.unit.PxBounds);
-    method @androidx.compose.Stable public static androidx.ui.geometry.Size toSize(androidx.ui.unit.PxBounds);
+    method @androidx.compose.Stable public static long toSize(androidx.ui.unit.PxBounds);
   }
 
   @androidx.compose.Immutable public final inline class PxSquared implements java.lang.Comparable<androidx.ui.unit.PxSquared> {