[go: nahoru, domu]

Delete PassThroughLayout, its users and layout flags

All these APIs have gone at least one release while deprecated,
so they can now be removed.

Relnote: Clickable was removed. Use Modifier.clickable
Relnote: MutuallyExclusiveSetItem was removed. Use Modifier.selectable
Relnote: PassThroughLayout was removed. Use Box
Relnote: Toggleable was removed. Use Modifier.toggleable
Relnote: TriStateToggleable was removed. Use Modifier.triStateToggleable

Test: existing tests (and I manually tested autofill)
Bug: 159183944

Change-Id: I84bdf2bc75e8ccda44afbe9db49d4c879703309b
diff --git a/ui/ui-core/api/0.1.0-dev15.txt b/ui/ui-core/api/0.1.0-dev15.txt
index 10b915c..6ce80a1 100644
--- a/ui/ui-core/api/0.1.0-dev15.txt
+++ b/ui/ui-core/api/0.1.0-dev15.txt
@@ -415,7 +415,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -437,7 +436,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -468,7 +466,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -478,7 +475,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
diff --git a/ui/ui-core/api/current.txt b/ui/ui-core/api/current.txt
index 10b915c..6ce80a1 100644
--- a/ui/ui-core/api/current.txt
+++ b/ui/ui-core/api/current.txt
@@ -415,7 +415,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -437,7 +436,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -468,7 +466,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -478,7 +475,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
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 a4d0168..d1c903b 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
@@ -416,7 +416,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -438,7 +437,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -469,7 +467,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -479,7 +476,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
diff --git a/ui/ui-core/api/public_plus_experimental_current.txt b/ui/ui-core/api/public_plus_experimental_current.txt
index a4d0168..d1c903b 100644
--- a/ui/ui-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-core/api/public_plus_experimental_current.txt
@@ -416,7 +416,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -438,7 +437,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -469,7 +467,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -479,7 +476,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
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 deab5b5..a0a1f3f 100644
--- a/ui/ui-core/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-core/api/restricted_0.1.0-dev15.txt
@@ -464,7 +464,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -486,7 +485,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -517,7 +515,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -527,7 +524,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
diff --git a/ui/ui-core/api/restricted_current.txt b/ui/ui-core/api/restricted_current.txt
index deab5b5..a0a1f3f 100644
--- a/ui/ui-core/api/restricted_current.txt
+++ b/ui/ui-core/api/restricted_current.txt
@@ -464,7 +464,6 @@
     method @androidx.compose.Composable public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
     method @Deprecated @androidx.compose.Composable public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated @androidx.compose.Composable public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
@@ -486,7 +485,6 @@
     method public java.util.List<androidx.ui.core.LayoutNode> getChildren();
     method public androidx.ui.core.LayoutCoordinates getCoordinates();
     method public int getDepth();
-    method @Deprecated public boolean getHandlesParentData();
     method public int getHeight();
     method public androidx.ui.core.LayoutNode.LayoutState getLayoutState();
     method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
@@ -517,7 +515,6 @@
     method public void requestRemeasure();
     method @Deprecated public void setCanMultiMeasure(boolean p);
     method public void setDepth(int p);
-    method @Deprecated public void setHandlesParentData(boolean p);
     method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
     method public void setModifier(androidx.ui.core.Modifier value);
     method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
@@ -527,7 +524,6 @@
     property public final java.util.List<androidx.ui.core.LayoutNode> children;
     property public final androidx.ui.core.LayoutCoordinates coordinates;
     property public final int depth;
-    property @Deprecated public final boolean handlesParentData;
     property public final int height;
     property public final boolean isPlaced;
     property public final androidx.ui.core.LayoutNode.LayoutState layoutState;
diff --git a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
index 28573ff..edbb187 100644
--- a/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
+++ b/ui/ui-core/integration-tests/ui-core-demos/src/main/java/androidx/ui/core/demos/autofill/ExplicitAutofillTypesDemo.kt
@@ -25,9 +25,9 @@
 import androidx.ui.core.AutofillTreeAmbient
 import androidx.ui.core.LayoutCoordinates
 import androidx.ui.core.Modifier
-import androidx.ui.core.PassThroughLayout
 import androidx.ui.core.onChildPositioned
 import androidx.ui.core.toComposeRect
+import androidx.ui.foundation.Box
 import androidx.ui.foundation.Text
 import androidx.ui.foundation.TextField
 import androidx.ui.input.ImeAction
@@ -106,8 +106,7 @@
     val autofillTree = AutofillTreeAmbient.current
     autofillTree += autofillNode
 
-    @Suppress("DEPRECATION")
-    PassThroughLayout(onChildPositioned {
+    Box(Modifier.onChildPositioned {
         autofillNode.boundingBox = it.boundingBox().toComposeRect()
     }) {
         children(autofillNode)
diff --git a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidLayoutDrawTest.kt b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidLayoutDrawTest.kt
index f66e670..82c6e79 100644
--- a/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidLayoutDrawTest.kt
+++ b/ui/ui-core/src/androidAndroidTest/kotlin/androidx/ui/core/test/AndroidLayoutDrawTest.kt
@@ -56,7 +56,6 @@
 import androidx.ui.core.Modifier
 import androidx.ui.core.Owner
 import androidx.ui.core.ParentDataModifier
-import androidx.ui.core.PassThroughLayout
 import androidx.ui.core.Ref
 import androidx.ui.core.VerticalAlignmentLine
 import androidx.ui.core.constrainHeight
@@ -2325,27 +2324,6 @@
         assertFalse(outerLatch.await(200, TimeUnit.MILLISECONDS))
     }
 
-    @Test
-    fun passThroughLayout_passesThroughParentData() {
-        val latch = CountDownLatch(1)
-        activityTestRule.runOnUiThread {
-            activity.setContent {
-                Layout({
-                    PassThroughLayout {
-                        FixedSize(50, Modifier.layoutId("1"))
-                    }
-                }) { measurables, constraints, _ ->
-                    assertEquals("1", measurables[0].id)
-                    val placeable = measurables[0].measure(constraints)
-                    assertEquals(50, placeable.width)
-                    latch.countDown()
-                    layout(0, 0) {}
-                }
-            }
-        }
-        assertTrue(latch.await(1, TimeUnit.SECONDS))
-    }
-
     // When a child with a layer is removed with its children, it shouldn't crash.
     @Test
     fun detachChildWithLayer() {
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/InnerPlaceable.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/InnerPlaceable.kt
index fdb1cc0..929b6f5 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/InnerPlaceable.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/InnerPlaceable.kt
@@ -28,7 +28,6 @@
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntOffset
 import androidx.ui.util.fastAny
-import androidx.ui.util.fastFirstOrNull
 import androidx.ui.util.fastForEach
 
 internal class InnerPlaceable(
@@ -58,13 +57,7 @@
     }
 
     override val parentData: Any?
-        @Suppress("DEPRECATION")
-        get() = if (layoutNode.handlesParentData) {
-            null
-        } else {
-            layoutNode.children
-                .fastFirstOrNull { it.parentData != null }?.parentData
-        }
+        get() = null
 
     override fun findPreviousFocusWrapper() = wrappedBy?.findPreviousFocusWrapper()
 
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/Layout.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/Layout.kt
index 1c5cd9a..475e343 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/Layout.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/Layout.kt
@@ -36,8 +36,6 @@
 import androidx.ui.unit.IntOffset
 import androidx.ui.unit.IntSize
 import androidx.ui.util.fastForEach
-import androidx.ui.util.fastMap
-import androidx.ui.util.fastMaxBy
 import kotlin.math.max
 
 /**
@@ -198,40 +196,6 @@
     )
 }
 
-@Composable
-@Deprecated("This composable supports our transition from single child composables to modifiers. " +
-        "It should not be used in app code directly.")
-fun PassThroughLayout(
-    modifier: Modifier = Modifier,
-    children: @Composable () -> Unit
-) {
-    val measureBlocks = remember {
-        val measureBlock: MeasureBlock = { measurables, constraints, _ ->
-            val placeables = measurables.fastMap { it.measure(constraints) }
-            val width = placeables.fastMaxBy { it.width }?.width ?: constraints.minWidth
-            val height = placeables.fastMaxBy { it.height }?.height ?: constraints.minHeight
-            layout(width, height) {
-                placeables.fastForEach { it.place(0, 0) }
-            }
-        }
-        MeasuringIntrinsicsMeasureBlocks(measureBlock)
-    }
-    val materialized = currentComposer.materialize(modifier)
-    emit<LayoutNode, UiApplier>(
-        ctor = LayoutEmitHelper.constructor,
-        update = {
-            set(materialized, LayoutEmitHelper.setModifier)
-            set(measureBlocks, LayoutEmitHelper.setMeasureBlocks)
-            @Suppress("DEPRECATION")
-            set(Unit) {
-                this.handlesParentData = false
-                this.useChildZIndex = true
-            }
-        },
-        children = children
-    )
-}
-
 /**
  * Used to return a fixed sized item for intrinsics measurements in [Layout]
  */
diff --git a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/LayoutNode.kt b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/LayoutNode.kt
index 936ba47..3146e01 100644
--- a/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/LayoutNode.kt
+++ b/ui/ui-core/src/androidMain/kotlin/androidx/ui/core/LayoutNode.kt
@@ -465,20 +465,7 @@
      * this features.
      */
     internal val zIndex: Float
-        get() {
-            @Suppress("DEPRECATION")
-            return if (useChildZIndex) {
-                // While some temporary components for adding semantics have to add
-                // PassThroughLayout it breaks zIndex calculation via adding extra layout layer.
-                // To workaround it we use the zIndex of the first child of PassThroughLayout
-                children.firstOrNull()?.zIndex ?: 0f
-            } else {
-                outerZIndexModifier?.zIndex ?: 0f
-            }
-        }
-
-    @Deprecated("To be removed when we remove PassThroughLayout")
-    internal var useChildZIndex = false
+        get() = outerZIndexModifier?.zIndex ?: 0f
 
     /**
      * The outermost ZIndexModifier in the modifier chain or `null` if there are no
@@ -584,12 +571,6 @@
             owner?.onInvalidate(this)
         }
 
-    @Deprecated(
-        "Temporary API to support our transition from single child composables to modifiers."
-    )
-    // TODO(popam): remove this
-    var handlesParentData: Boolean = true
-
     /**
      * Coordinates of just the contents of the LayoutNode, after being affected by all modifiers.
      */
diff --git a/ui/ui-foundation/api/0.1.0-dev15.txt b/ui/ui-foundation/api/0.1.0-dev15.txt
index 37de57e..b060774 100644
--- a/ui/ui-foundation/api/0.1.0-dev15.txt
+++ b/ui/ui-foundation/api/0.1.0-dev15.txt
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
diff --git a/ui/ui-foundation/api/current.txt b/ui/ui-foundation/api/current.txt
index 37de57e..b060774 100644
--- a/ui/ui-foundation/api/current.txt
+++ b/ui/ui-foundation/api/current.txt
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
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 37de57e..b060774 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
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
diff --git a/ui/ui-foundation/api/public_plus_experimental_current.txt b/ui/ui-foundation/api/public_plus_experimental_current.txt
index 37de57e..b060774 100644
--- a/ui/ui-foundation/api/public_plus_experimental_current.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_current.txt
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
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 37de57e..b060774 100644
--- a/ui/ui-foundation/api/restricted_0.1.0-dev15.txt
+++ b/ui/ui-foundation/api/restricted_0.1.0-dev15.txt
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
diff --git a/ui/ui-foundation/api/restricted_current.txt b/ui/ui-foundation/api/restricted_current.txt
index 37de57e..b060774 100644
--- a/ui/ui-foundation/api/restricted_current.txt
+++ b/ui/ui-foundation/api/restricted_current.txt
@@ -25,7 +25,6 @@
   }
 
   public final class ClickableKt {
-    method @Deprecated @androidx.compose.Composable public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState? interactionState = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier clickable(androidx.ui.core.Modifier, boolean enabled = true, String?  androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
@@ -327,16 +326,13 @@
 package androidx.ui.foundation.selection {
 
   public final class SelectableKt {
-    method @Deprecated @androidx.compose.Composable public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier selectable(androidx.ui.core.Modifier, boolean selected, boolean enabled = true, boolean inMutuallyExclusiveGroup = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
   }
 
   public final class ToggleableKt {
-    method @Deprecated @androidx.compose.Composable public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
-    method @Deprecated @androidx.compose.Composable public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState state = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, boolean enabled = true, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method @androidx.compose.Composable public static androidx.ui.core.Modifier toggleable(androidx.ui.core.Modifier, boolean value, boolean enabled = true, androidx.ui.foundation.InteractionState interactionState = remember({ 
     return <init>()
 }), androidx.ui.foundation.Indication? indication = IndicationAmbient.invoke(), kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
index 5543260..e68b163 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Clickable.kt
@@ -20,7 +20,6 @@
 import androidx.compose.onCommit
 import androidx.compose.remember
 import androidx.ui.core.Modifier
-import androidx.ui.core.PassThroughLayout
 import androidx.ui.core.PointerEventPass
 import androidx.ui.core.PointerInputChange
 import androidx.ui.core.anyPositionChangeConsumed
@@ -41,65 +40,6 @@
 import androidx.ui.util.fastAny
 
 /**
- * Combines [tapGestureFilter] and Semantics for the clickable
- * components like Button.
- *
- * @sample androidx.ui.foundation.samples.ClickableSample
- *
- * @param onClick will be called when user clicked on the button
- * @param modifier allows to provide a modifier to be added before the gesture detector, for
- * example Ripple should be added at this point. this will be easier once we migrate this
- * function to a Modifier
- * @param enabled Controls the enabled state. When `false`, this component will not be
- * clickable
- * @param onClickLabel semantic / accessibility label for the [onClick] action
- * @param interactionState [InteractionState] that will be updated when this Clickable is
- * pressed, using [Interaction.Pressed]. Only initial (first) press will be recorded and added to
- * [InteractionState]
- *
- * @deprecated Use [clickable] modifier instead
- */
-@Deprecated(
-    "Clickable has been deprecated, use clickable modifier instead",
-    ReplaceWith(
-        "Box(modifier.clickable( enabled = enabled), children = children)",
-        "androidx.foundation.clickable",
-        "androidx.foundation.Box"
-    )
-)
-@Composable
-fun Clickable(
-    onClick: () -> Unit,
-    modifier: Modifier = Modifier,
-    enabled: Boolean = true,
-    onClickLabel: String? = null,
-    interactionState: InteractionState? = null,
-    children: @Composable () -> Unit
-) {
-    @Suppress("DEPRECATION")
-    PassThroughLayout(
-        modifier.clickable(
-            enabled,
-            onClickLabel,
-            tempFunToAvoidCreatingLambdaInsideClickable(interactionState),
-            >
-        ),
-        children
-    )
-}
-
-// when there is a lambda inside Clickable it is created as a file $Clickable\$2.class which
-// conflicts with similar lambda from Modifier.clickable which stored in $clickable\$2.class
-// on the case-insensitive FS. proper workaround would be to use different @JvmName on these
-// functions but it is currently not supported for composables b/157075847
-@Composable
-private fun tempFunToAvoidCreatingLambdaInsideClickable(
-    interactionState: InteractionState?
-): InteractionState {
-    return interactionState ?: remember { InteractionState() }
-}
-
-/**
  * Configure component to receive clicks via input or accessibility "click" event.
  *
  * Add this modifier to the element to make it clickable within its bounds.
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
index 74acf8d..cac46d7 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Selectable.kt
@@ -19,11 +19,8 @@
 import androidx.compose.Composable
 import androidx.compose.remember
 import androidx.ui.core.Modifier
-import androidx.ui.core.PassThroughLayout
 import androidx.ui.core.composed
-import androidx.ui.core.gesture.tapGestureFilter
 import androidx.ui.core.semantics.semantics
-import androidx.ui.foundation.Box
 import androidx.ui.foundation.Indication
 import androidx.ui.foundation.IndicationAmbient
 import androidx.ui.foundation.Interaction
@@ -36,55 +33,6 @@
 import androidx.ui.semantics.onClick
 
 /**
- * Component for representing one option out of many
- * in mutually exclusion set, e.g [androidx.ui.material.RadioGroup]
- *
- * Provides click handling as well as [Modifier.semantics] for accessibility
- *
- * @param selected whether or not this item is selected in mutually exclusion set
- * @param onClick callback to invoke when this item is clicked
- * @param modifier allows to provide a modifier to be added before the gesture detector, for
- * example Ripple should be added at this point. this will be easier once we migrate this
- * function to a Modifier
- *
- * @Deprecated Use [Modifier.selectable] instead.
- */
-@Deprecated(
-    "MutuallyExclusiveSetItem has been deprecated, use Modifier.selectable " +
-            "instead",
-    ReplaceWith(
-        "Box(modifier.selectable(" +
-                "selected = selected, " +
-                " +
-                ")," +
-                " children = children)",
-        "androidx.foundation.selectable",
-        "androidx.foundation.Box"
-    )
-)
-@Composable
-fun MutuallyExclusiveSetItem(
-    selected: Boolean,
-    onClick: () -> Unit,
-    modifier: Modifier = Modifier,
-    children: @Composable () -> Unit
-) {
-    // TODO: when semantics can be merged, we should make this use Clickable internally rather
-    //  than duplicating logic
-    Box(Modifier.semantics {
-        inMutuallyExclusiveGroup = true
-        this.selected = selected
-        this.accessibilityValue = if (selected) Strings.Selected else Strings.NotSelected
-        onClick(action = { onClick(); return@onClick true })
-    }) {
-        // TODO(b/150706555): This layout is temporary and should be removed once Semantics
-        //  is implemented with modifiers.
-        @Suppress("DEPRECATION")
-        PassThroughLayout(modifier.tapGestureFilter { onClick() }, children)
-    }
-}
-
-/**
  * Configure component to be selectable, usually as a part of a mutually exclusive group, where
  * only one item can be selected at any point in time. A typical example of mutually exclusive set
  * is [androidx.ui.material.RadioGroup]
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
index da91357..00fe81f 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/selection/Toggleable.kt
@@ -20,7 +20,6 @@
 import androidx.compose.onCommit
 import androidx.compose.remember
 import androidx.ui.core.Modifier
-import androidx.ui.core.PassThroughLayout
 import androidx.ui.core.composed
 import androidx.ui.core.gesture.pressIndicatorGestureFilter
 import androidx.ui.core.gesture.tapGestureFilter
@@ -40,49 +39,6 @@
 import androidx.ui.semantics.onClick
 
 /**
- * Combines [tapGestureFilter] and [Modifier.semantics] for the components that need to be
- * toggleable, like Switch.
- *
- * @see [TriStateToggleable] if you require support for an indeterminate state.
- *
- * @param value whether Toggleable is on or off
- * @param onValueChange callback to be invoked when toggleable is clicked,
- * therefore the change of the state in requested.
- * @param enabled whether or not this [Toggleable] will handle input events and appear
- * enabled for semantics purposes
- * @param modifier allows to provide a modifier to be added before the gesture detector, for
- * example Ripple should be added at this point. this will be easier once we migrate this
- * function to a Modifier
- * @Deprecated Use [Modifier.toggleable] instead.
- */
-@Deprecated(
-    "This component has been deprecated. Use [Modifier.toggleable] instead.",
-    ReplaceWith(
-        "Box(modifier.toggleable(" +
-                "value = value," +
-                "  +
-                " enabled = enabled" +
-                "), children = children)",
-        "androidx.foundation.toggleable",
-        "androidx.foundation.Box"
-    )
-)
-@Composable
-fun Toggleable(
-    value: Boolean,
-    onValueChange: (Boolean) -> Unit,
-    enabled: Boolean = true,
-    modifier: Modifier = Modifier,
-    children: @Composable () -> Unit
-) {
-    @Suppress("DEPRECATION")
-    PassThroughLayout(
-        modifier.toggleable(value = value,  enabled = enabled),
-        children
-    )
-}
-
-/**
  * Configure component to make it toggleable via input and accessibility events
  *
  * @sample androidx.ui.foundation.samples.ToggleableSample
@@ -115,54 +71,6 @@
 )
 
 /**
- * Combines [tapGestureFilter] and [Modifier.semantics] for the components with three states
- * like TriStateCheckbox.
- *
- * It supports three states: On, Off and Indeterminate.
- *
- * TriStateToggleable should be used when there are
- * dependent Toggleables associated to this component and those can have different values.
- *
- * @see [Toggleable] if you want to support only two states: on and off
- *
- * @param state current value for the component
- * @param onClick will be called when user toggles the toggleable.
- * @param enabled whether or not this [TriStateToggleable] will handle input events and
- * appear enabled for semantics purposes
- * @param modifier allows to provide a modifier to be added before the gesture detector, for
- * example Ripple should be added at this point. this will be easier once we migrate this
- * function to a Modifier
- *
- * @Deprecated Use [Modifier.triStateToggleable] instead.
- */
-@Deprecated(
-    "This component has been deprecated. Use [Modifier.triStateToggleable] instead.",
-    ReplaceWith(
-        "Box(modifier.triStateToggleable(" +
-                "state = state," +
-                "  +
-                " enabled = enabled" +
-                "), children = children)",
-        "androidx.foundation.triStateToggleable",
-        "androidx.foundation.Box"
-    )
-)
-@Composable
-fun TriStateToggleable(
-    state: ToggleableState = On,
-    onClick: () -> Unit,
-    enabled: Boolean = true,
-    modifier: Modifier = Modifier,
-    children: @Composable () -> Unit
-) {
-    @Suppress("DEPRECATION")
-    PassThroughLayout(
-        modifier.triStateToggleable(state = state,  enabled = enabled),
-        children
-    )
-}
-
-/**
  * Configure component to make it toggleable via input and accessibility events with three
  * states: On, Off and Indeterminate.
  *