Rename rememberSavedInstanceState() to rememberSaveable()

Relnote: rememberSavedInstanceState() was renamed to rememberSaveable() and moved to androidx.compose.runtime.saveable package.
Test: ./gradlew bOs
Bug: 177338004
Change-Id: I1366e7fef0a5a56a43d6eeb3770967a9bf683380
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/CrossfadeDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/CrossfadeDemo.kt
index b5f0709..a1547ec 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/CrossfadeDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/CrossfadeDemo.kt
@@ -27,8 +27,8 @@
 import androidx.compose.foundation.layout.preferredHeight
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.saveable.rememberSaveableStateHolder
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
@@ -60,7 +60,8 @@
         Crossfade(current = current) { current ->
             saveableStateHolder.SaveableStateProvider(current) {
                 val tab = tabs[current]
-                tab.lastInt = rememberSavedInstanceState { Random.nextInt() }
+                arrayOf<Any?>()
+                tab.lastInt = rememberSaveable { Random.nextInt() }
                 Box(Modifier.fillMaxSize().background(tab.color))
             }
         }
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyItemStateRestoration.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyItemStateRestoration.kt
index e27e73b..fa95d97 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyItemStateRestoration.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyItemStateRestoration.kt
@@ -19,7 +19,7 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.size
 import androidx.compose.runtime.DisposableEffect
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.test.junit4.StateRestorationTester
 import androidx.compose.ui.test.junit4.createComposeRule
@@ -44,14 +44,14 @@
         restorationTester.setContent {
             LazyColumn {
                 item {
-                    realState[0] = rememberSavedInstanceState { counter0++ }
+                    realState[0] = rememberSaveable { counter0++ }
                     Box(Modifier.size(1.dp))
                 }
                 items((1..2).toList()) {
                     if (it == 1) {
-                        realState[1] = rememberSavedInstanceState { counter1++ }
+                        realState[1] = rememberSaveable { counter1++ }
                     } else {
-                        realState[2] = rememberSavedInstanceState { counter2++ }
+                        realState[2] = rememberSaveable { counter2++ }
                     }
                     Box(Modifier.size(1.dp))
                 }
@@ -88,7 +88,7 @@
             ) {
                 items((0..1).toList()) {
                     if (it == 0) {
-                        realState = rememberSavedInstanceState { counter0++ }
+                        realState = rememberSaveable { counter0++ }
                         DisposableEffect(Unit) {
                             onDispose {
                                 itemDisposed = true
@@ -134,9 +134,9 @@
             ) {
                 items((0..1).toList()) {
                     if (it == 0) {
-                        realState[0] = rememberSavedInstanceState { counter0++ }
+                        realState[0] = rememberSaveable { counter0++ }
                     } else {
-                        realState[1] = rememberSavedInstanceState { counter1++ }
+                        realState[1] = rememberSaveable { counter1++ }
                     }
                     Box(Modifier.size(30.dp))
                 }
@@ -185,7 +185,7 @@
                     if (it == 0) {
                         LazyRow {
                             item {
-                                realState = rememberSavedInstanceState { counter0++ }
+                                realState = rememberSaveable { counter0++ }
                                 DisposableEffect(Unit) {
                                     onDispose {
                                         itemDisposed = true
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
index 967e040..c864623 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldScrollTest.kt
@@ -37,7 +37,7 @@
 import androidx.compose.foundation.text.textFieldScrollable
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.testutils.assertPixels
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.geometry.Offset
@@ -327,7 +327,7 @@
         var scrollerPosition: TextFieldScrollerPosition? = null
 
         restorationTester.setContent {
-            scrollerPosition = rememberSavedInstanceState(
+            scrollerPosition = rememberSaveable(
                 saver = TextFieldScrollerPosition.Saver
             ) {
                 TextFieldScrollerPosition(Orientation.Horizontal)
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
index db6f508..65bc7c7 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
@@ -43,7 +43,7 @@
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.runtime.structuralEqualityPolicy
 import androidx.compose.ui.Alignment
@@ -88,7 +88,7 @@
 ): ScrollState {
     val clock = AmbientAnimationClock.current.asDisposableClock()
     val config = defaultFlingConfig()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         clock, config, interactionState,
         saver = ScrollState.Saver(config, clock, interactionState)
     ) {
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
index 906a467..6b90307 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyListState.kt
@@ -32,7 +32,7 @@
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
 import androidx.compose.runtime.saveable.listSaver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.layout.Remeasurement
 import androidx.compose.ui.layout.RemeasurementModifier
 import androidx.compose.ui.platform.AmbientAnimationClock
@@ -65,7 +65,7 @@
         LazyListState.Saver(config, clock, interactionState)
     }
 
-    return rememberSavedInstanceState(config, clock, interactionState, saver = saver) {
+    return rememberSaveable(config, clock, interactionState, saver = saver) {
         LazyListState(
             initialFirstVisibleItemIndex,
             initialFirstVisibleItemScrollOffset,
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
index b65c7db..c7801fc 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
@@ -30,7 +30,7 @@
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.drawBehind
@@ -190,7 +190,7 @@
     // Scroll state
     val singleLine = maxLines == 1 && !softWrap && imeOptions.singleLine
     val orientation = if (singleLine) Orientation.Horizontal else Orientation.Vertical
-    val scrollerPosition = rememberSavedInstanceState(
+    val scrollerPosition = rememberSaveable(
         orientation,
         saver = TextFieldScrollerPosition.Saver
     ) { TextFieldScrollerPosition(orientation) }
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoActivity.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoActivity.kt
index f634a82..d858192 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoActivity.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoActivity.kt
@@ -44,7 +44,7 @@
 import androidx.compose.runtime.SideEffect
 import androidx.compose.runtime.saveable.Saver
 import androidx.compose.runtime.saveable.listSaver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.platform.ComposeView
 
@@ -62,7 +62,7 @@
             val activityStarter = fun(demo: ActivityDemo<*>) {
                 startActivity(Intent(this, demo.activityClass.java))
             }
-            val navigator = rememberSavedInstanceState(
+            val navigator = rememberSaveable(
                 saver = Navigator.Saver(AllDemosCategory, onBackPressedDispatcher, activityStarter)
             ) {
                 Navigator(AllDemosCategory, onBackPressedDispatcher, activityStarter)
@@ -79,7 +79,7 @@
                 }
             }
             DemoTheme(demoColors, window) {
-                val filteringMode = rememberSavedInstanceState(
+                val filteringMode = rememberSaveable(
                     saver = FilterMode.Saver(onBackPressedDispatcher)
                 ) {
                     FilterMode(onBackPressedDispatcher)
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
index 74792b6..73b029c 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BackdropScaffold.kt
@@ -37,7 +37,7 @@
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.gesture.nestedscroll.nestedScroll
@@ -188,7 +188,7 @@
     snackbarHostState: SnackbarHostState = remember { SnackbarHostState() }
 ): BackdropScaffoldState {
     val disposableClock = clock.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         disposableClock,
         animationSpec,
         confirmStateChange,
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
index daeeead..858ff45 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/BottomSheetScaffold.kt
@@ -36,7 +36,7 @@
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.gesture.nestedscroll.nestedScroll
@@ -173,7 +173,7 @@
     confirmStateChange: (BottomSheetValue) -> Boolean = { true }
 ): BottomSheetState {
     val disposableClock = AmbientAnimationClock.current.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         disposableClock,
         saver = BottomSheetState.Saver(
             clock = disposableClock,
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
index d26d7c0..00d07b9 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Drawer.kt
@@ -34,7 +34,7 @@
 import androidx.compose.runtime.Stable
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.gesture.nestedscroll.nestedScroll
 import androidx.compose.ui.gesture.scrollorientationlocking.Orientation
@@ -286,7 +286,7 @@
     confirmStateChange: (DrawerValue) -> Boolean = { true }
 ): DrawerState {
     val clock = AmbientAnimationClock.current.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         clock,
         saver = DrawerState.Saver(clock, confirmStateChange)
     ) {
@@ -306,7 +306,7 @@
     confirmStateChange: (BottomDrawerValue) -> Boolean = { true }
 ): BottomDrawerState {
     val clock = AmbientAnimationClock.current.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         clock,
         saver = BottomDrawerState.Saver(clock, confirmStateChange)
     ) {
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
index d012ed9..327a1ff 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/ModalBottomSheet.kt
@@ -34,7 +34,7 @@
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.gesture.nestedscroll.nestedScroll
 import androidx.compose.ui.gesture.scrollorientationlocking.Orientation
@@ -180,7 +180,7 @@
     confirmStateChange: (ModalBottomSheetValue) -> Boolean = { true }
 ): ModalBottomSheetState {
     val disposableClock = clock.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         disposableClock,
         saver = ModalBottomSheetState.Saver(
             clock = disposableClock,
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
index ba5c5ba..a1449a4 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/SwipeToDismiss.kt
@@ -34,7 +34,7 @@
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.gesture.scrollorientationlocking.Orientation
 import androidx.compose.ui.platform.AmbientAnimationClock
@@ -170,7 +170,7 @@
     confirmStateChange: (DismissValue) -> Boolean = { true }
 ): DismissState {
     val clock = AmbientAnimationClock.current.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         clock,
         saver = DismissState.Saver(clock, confirmStateChange)
     ) {
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
index 28095cf..2d4f98a 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Swipeable.kt
@@ -41,7 +41,7 @@
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.composed
@@ -412,7 +412,7 @@
     confirmStateChange: (newValue: T) -> Boolean = { true }
 ): SwipeableState<T> {
     val clock = AmbientAnimationClock.current.asDisposableClock()
-    return rememberSavedInstanceState(
+    return rememberSaveable(
         clock,
         saver = SwipeableState.Saver(
             clock = clock,
diff --git a/compose/runtime/runtime-saveable/api/current.txt b/compose/runtime/runtime-saveable/api/current.txt
index f503f4a..89f9634 100644
--- a/compose/runtime/runtime-saveable/api/current.txt
+++ b/compose/runtime/runtime-saveable/api/current.txt
@@ -9,6 +9,10 @@
     method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
   }
 
+  public final class RememberSaveableKt {
+    method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+  }
+
   public interface SaveableStateHolder {
     method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
     method public void removeState(Object key);
@@ -42,15 +46,12 @@
     method @Deprecated public static <Original, Saveable> androidx.compose.runtime.savedinstancestate.Saver<Original,?> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
     method @Deprecated public static <T> androidx.compose.runtime.savedinstancestate.Saver<T,?> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
     method @Deprecated @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.savedinstancestate.RestorableStateHolder<T> rememberRestorableStateHolder();
+    method @Deprecated @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.savedinstancestate.Saver<T,?>? saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
   }
 
   @Deprecated public @interface ExperimentalRestorableStateHolder {
   }
 
-  public final class RememberSavedInstanceStateKt {
-    method @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
-  }
-
   @Deprecated public interface RestorableStateHolder<T> extends androidx.compose.runtime.saveable.SaveableStateHolder {
   }
 
diff --git a/compose/runtime/runtime-saveable/api/public_plus_experimental_current.txt b/compose/runtime/runtime-saveable/api/public_plus_experimental_current.txt
index f503f4a..89f9634 100644
--- a/compose/runtime/runtime-saveable/api/public_plus_experimental_current.txt
+++ b/compose/runtime/runtime-saveable/api/public_plus_experimental_current.txt
@@ -9,6 +9,10 @@
     method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
   }
 
+  public final class RememberSaveableKt {
+    method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+  }
+
   public interface SaveableStateHolder {
     method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
     method public void removeState(Object key);
@@ -42,15 +46,12 @@
     method @Deprecated public static <Original, Saveable> androidx.compose.runtime.savedinstancestate.Saver<Original,?> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
     method @Deprecated public static <T> androidx.compose.runtime.savedinstancestate.Saver<T,?> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
     method @Deprecated @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.savedinstancestate.RestorableStateHolder<T> rememberRestorableStateHolder();
+    method @Deprecated @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.savedinstancestate.Saver<T,?>? saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
   }
 
   @Deprecated public @interface ExperimentalRestorableStateHolder {
   }
 
-  public final class RememberSavedInstanceStateKt {
-    method @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
-  }
-
   @Deprecated public interface RestorableStateHolder<T> extends androidx.compose.runtime.saveable.SaveableStateHolder {
   }
 
diff --git a/compose/runtime/runtime-saveable/api/restricted_current.txt b/compose/runtime/runtime-saveable/api/restricted_current.txt
index f503f4a..89f9634 100644
--- a/compose/runtime/runtime-saveable/api/restricted_current.txt
+++ b/compose/runtime/runtime-saveable/api/restricted_current.txt
@@ -9,6 +9,10 @@
     method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
   }
 
+  public final class RememberSaveableKt {
+    method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+  }
+
   public interface SaveableStateHolder {
     method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
     method public void removeState(Object key);
@@ -42,15 +46,12 @@
     method @Deprecated public static <Original, Saveable> androidx.compose.runtime.savedinstancestate.Saver<Original,?> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
     method @Deprecated public static <T> androidx.compose.runtime.savedinstancestate.Saver<T,?> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.savedinstancestate.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
     method @Deprecated @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.savedinstancestate.RestorableStateHolder<T> rememberRestorableStateHolder();
+    method @Deprecated @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.savedinstancestate.Saver<T,?>? saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
   }
 
   @Deprecated public @interface ExperimentalRestorableStateHolder {
   }
 
-  public final class RememberSavedInstanceStateKt {
-    method @androidx.compose.runtime.Composable public static <T> T rememberSavedInstanceState(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
-  }
-
   @Deprecated public interface RestorableStateHolder<T> extends androidx.compose.runtime.saveable.SaveableStateHolder {
   }
 
diff --git a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt
new file mode 100644
index 0000000..0c983de
--- /dev/null
+++ b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/saveable/samples/RememberSaveableSamples.kt
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@file:Suppress("UNUSED_VARIABLE")
+
+package androidx.compose.runtime.saveable.samples
+
+import androidx.annotation.Sampled
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.saveable.rememberSaveable
+
+@Sampled
+@Composable
+fun RememberSaveable() {
+    val list = rememberSaveable { mutableListOf<Int>() }
+}
diff --git a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/savedinstancestate/samples/Samples.kt b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/savedinstancestate/samples/Samples.kt
index bc6ff54..060e9bd 100644
--- a/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/savedinstancestate/samples/Samples.kt
+++ b/compose/runtime/runtime-saveable/samples/src/main/java/androidx/compose/runtime/savedinstancestate/samples/Samples.kt
@@ -21,7 +21,6 @@
 import androidx.annotation.Sampled
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
 import androidx.compose.runtime.savedinstancestate.savedInstanceState
 import androidx.compose.runtime.setValue
 
@@ -30,9 +29,3 @@
 fun SavedInstanceStateSample() {
     var value by savedInstanceState { "value" }
 }
-
-@Sampled
-@Composable
-fun RememberSavedInstanceStateSample() {
-    val list = rememberSavedInstanceState { mutableListOf<Int>() }
-}
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/ActivityRecreationTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
similarity index 94%
rename from compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/ActivityRecreationTest.kt
rename to compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
index 36b57fa..bf075ff 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/ActivityRecreationTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/ActivityRecreationTest.kt
@@ -23,6 +23,7 @@
 import android.widget.LinearLayout
 import androidx.activity.ComponentActivity
 import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.saveable.test.R
 import androidx.compose.ui.platform.ComposeView
 import androidx.compose.ui.platform.setContent
@@ -153,7 +154,8 @@
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContent {
-            array = rememberSavedInstanceState { intArrayOf(0) }
+            arrayOf<Any?>()
+            array = rememberSaveable { intArrayOf(0) }
         }
     }
 }
@@ -183,10 +185,12 @@
         setContentView(linear)
 
         child1.setContent {
-            array1 = rememberSavedInstanceState(key = "key") { intArrayOf(0) }
+            arrayOf<Any?>()
+            array1 = rememberSaveable(key = "key") { intArrayOf(0) }
         }
         child2.setContent {
-            array2 = rememberSavedInstanceState(key = "key") { intArrayOf(0) }
+            arrayOf<Any?>()
+            array2 = rememberSaveable(key = "key") { intArrayOf(0) }
         }
     }
 }
@@ -231,7 +235,8 @@
         savedInstanceState: Bundle?
     ) = ComposeView(requireContext()).apply {
         setContent {
-            array = rememberSavedInstanceState(key = "key") { intArrayOf(0) }
+            arrayOf<Any?>()
+            array = rememberSaveable(key = "key") { intArrayOf(0) }
         }
     }
 }
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/Holder.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/Holder.kt
similarity index 82%
rename from compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/Holder.kt
rename to compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/Holder.kt
index 1e3d2d3..87b64a6 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/Holder.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/Holder.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,13 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.compose.runtime.savedinstancestate
-
-import androidx.compose.runtime.saveable.Saver
+package androidx.compose.runtime.saveable
 
 internal data class Holder(var value: Int)
 
 internal val HolderSaver = Saver<Holder, Int>(
     save = { it.value },
     restore = { Holder(it) }
-)
\ No newline at end of file
+)
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceStateTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
similarity index 92%
rename from compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceStateTest.kt
rename to compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
index 254c7f1c..9eef95a 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceStateTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/RememberSaveableTest.kt
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-package androidx.compose.runtime.savedinstancestate
+package androidx.compose.runtime.saveable
 
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.Providers
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.savedinstancestate.AmbientUiSavedStateRegistry
+import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry
 import androidx.compose.runtime.setValue
-import androidx.compose.runtime.saveable.Saver
 import androidx.compose.ui.test.junit4.StateRestorationTester
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -37,7 +38,7 @@
 
 @MediumTest
 @RunWith(AndroidJUnit4::class)
-class RememberSavedInstanceStateTest {
+class RememberSaveableTest {
 
     @get:Rule
     val rule = createComposeRule()
@@ -48,7 +49,7 @@
     fun simpleRestore() {
         var array: IntArray? = null
         restorationTester.setContent {
-            array = rememberSavedInstanceState {
+            array = rememberSaveable {
                 intArrayOf(0)
             }
         }
@@ -70,7 +71,7 @@
     fun restoreWithSaver() {
         var holder: Holder? = null
         restorationTester.setContent {
-            holder = rememberSavedInstanceState(saver = HolderSaver) {
+            holder = rememberSaveable(saver = HolderSaver) {
                 Holder(0)
             }
         }
@@ -103,7 +104,7 @@
                     }
                 }
             ) {
-                val v = rememberSavedInstanceState { 1 }
+                val v = rememberSaveable { 1 }
                 assertEquals(1, v)
             }
         }
@@ -128,7 +129,7 @@
                     }
                 }
             ) {
-                val v = rememberSavedInstanceState { 2 }
+                val v = rememberSaveable { 2 }
                 assertEquals(2, v)
             }
         }
@@ -153,7 +154,7 @@
                     }
                 }
             ) {
-                rememberSavedInstanceState(saver = HolderSaver) { Holder(4) }
+                rememberSaveable(saver = HolderSaver) { Holder(4) }
             }
         }
 
@@ -182,7 +183,7 @@
                     registryFactory(it)
                 }
             ) {
-                val v = rememberSavedInstanceState { 1 }
+                val v = rememberSaveable { 1 }
                 assertEquals(1, v)
             }
         }
@@ -229,7 +230,7 @@
                     }
                 }
             ) {
-                val v = rememberSavedInstanceState(key = key) { 1 }
+                val v = rememberSaveable(key = key) { 1 }
                 assertEquals(1, v)
             }
         }
@@ -253,7 +254,7 @@
         )
 
         restorationTester.setContent {
-            rememberSavedInstanceState(saver = saver) { 1 }
+            rememberSaveable(saver = saver) { 1 }
         }
 
         val latch = CountDownLatch(1)
@@ -289,7 +290,7 @@
                 }
             ) {
                 if (doEmit) {
-                    rememberSavedInstanceState { 1 }
+                    rememberSaveable { 1 }
                 }
             }
         }
@@ -318,7 +319,7 @@
                     }
                 }
             ) {
-                val v = rememberSavedInstanceState(key = passedKey) { 2 }
+                val v = rememberSaveable(key = passedKey) { 2 }
                 assertEquals(2, v)
             }
         }
@@ -340,7 +341,7 @@
                     }
                 }
             ) {
-                val v = rememberSavedInstanceState(key = "") { 2 }
+                val v = rememberSaveable(key = "") { 2 }
                 assertEquals(2, v)
             }
         }
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/SaveableStateHolderTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/SaveableStateHolderTest.kt
index 181a478..86f5647 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/SaveableStateHolderTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/saveable/SaveableStateHolderTest.kt
@@ -19,7 +19,6 @@
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.test.junit4.StateRestorationTester
 import androidx.compose.ui.test.junit4.createComposeRule
@@ -50,7 +49,7 @@
             holder.SaveableStateProvider(screen) {
                 if (screen == Screens.Screen1) {
                     numberOnScreen1 = remember { increment++ }
-                    restorableNumberOnScreen1 = rememberSavedInstanceState { increment++ }
+                    restorableNumberOnScreen1 = rememberSaveable { increment++ }
                 } else {
                     // screen 2
                     remember { 100 }
@@ -87,7 +86,7 @@
             val holder = rememberSaveableStateHolder()
             holder.SaveableStateProvider(Screens.Screen1) {
                 number = remember { increment++ }
-                restorableNumber = rememberSavedInstanceState { increment++ }
+                restorableNumber = rememberSaveable { increment++ }
             }
         }
 
@@ -117,7 +116,7 @@
             holder.SaveableStateProvider(screen) {
                 if (screen == Screens.Screen2) {
                     numberOnScreen2 = remember { increment++ }
-                    restorableNumberOnScreen2 = rememberSavedInstanceState { increment++ }
+                    restorableNumberOnScreen2 = rememberSaveable { increment++ }
                 }
             }
         }
@@ -153,7 +152,7 @@
             holder.SaveableStateProvider(screen) {
                 if (screen == Screens.Screen1) {
                     numberOnScreen1 = remember { increment++ }
-                    restorableNumberOnScreen1 = rememberSavedInstanceState { increment++ }
+                    restorableNumberOnScreen1 = rememberSaveable { increment++ }
                 } else {
                     // screen 2
                     remember { 100 }
@@ -197,7 +196,7 @@
             restorableStateHolder = holder
             holder.SaveableStateProvider(screen) {
                 if (screen == Screens.Screen1) {
-                    restorableNumberOnScreen1 = rememberSavedInstanceState { increment++ }
+                    restorableNumberOnScreen1 = rememberSaveable { increment++ }
                 } else {
                     // screen 2
                     remember { 100 }
@@ -233,7 +232,7 @@
             restorableStateHolder = holder
             holder.SaveableStateProvider(screen) {
                 if (screen == Screens.Screen1) {
-                    restorableNumberOnScreen1 = rememberSavedInstanceState { increment++ }
+                    restorableNumberOnScreen1 = rememberSaveable { increment++ }
                 } else {
                     // screen 2
                     remember { 100 }
diff --git a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceStateTest.kt b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceStateTest.kt
index daedf32..75426ad 100644
--- a/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceStateTest.kt
+++ b/compose/runtime/runtime-saveable/src/androidAndroidTest/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceStateTest.kt
@@ -17,6 +17,8 @@
 package androidx.compose.runtime.savedinstancestate
 
 import androidx.compose.runtime.MutableState
+import androidx.compose.runtime.saveable.Holder
+import androidx.compose.runtime.saveable.HolderSaver
 import androidx.compose.ui.test.junit4.StateRestorationTester
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.test.ext.junit.runners.AndroidJUnit4
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/ListSaver.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/ListSaver.kt
index dbf0b59..d3b7388 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/ListSaver.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/ListSaver.kt
@@ -23,7 +23,7 @@
  * What types can be saved is defined by [UiSavedStateRegistry], by default everything which can
  * be stored in the Bundle class can be saved.
  *
- * You can use it as a parameter for [savedInstanceState] or [rememberSavedInstanceState].
+ * You can use it as a parameter for [savedInstanceState] or [rememberSaveable].
  *
  * @sample androidx.compose.runtime.saveable.samples.ListSaverSample
  */
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/MapSaver.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/MapSaver.kt
index 3661da2..acc3763 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/MapSaver.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/MapSaver.kt
@@ -23,7 +23,7 @@
  * What types can be saved is defined by [UiSavedStateRegistry], by default everything which can
  * be stored in the Bundle class can be saved.
  *
- * You can use it as a parameter for [savedInstanceState] or [rememberSavedInstanceState].
+ * You can use it as a parameter for [savedInstanceState] or [rememberSaveable].
  *
  * @sample androidx.compose.runtime.saveable.samples.MapSaverSample
  */
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceState.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/RememberSaveable.kt
similarity index 84%
rename from compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceState.kt
rename to compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/RememberSaveable.kt
index d362e74..de83acc 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/RememberSavedInstanceState.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/RememberSaveable.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 The Android Open Source Project
+ * Copyright 2021 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.compose.runtime.savedinstancestate
+package androidx.compose.runtime.saveable
 
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.DisposableEffect
@@ -22,9 +22,8 @@
 import androidx.compose.runtime.currentCompositeKeyHash
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.saveable.SaverScope
-import androidx.compose.runtime.saveable.autoSaver
+import androidx.compose.runtime.savedinstancestate.AmbientUiSavedStateRegistry
+import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry
 
 /**
  * Remember the value produced by [init].
@@ -33,7 +32,7 @@
  * recreation using the saved instance state mechanism (for example it happens when the screen is
  * rotated in the Android application).
  *
- * @sample androidx.compose.runtime.savedinstancestate.samples.RememberSavedInstanceStateSample
+ * @sample androidx.compose.runtime.saveable.samples.RememberSaveable
  *
  * This function works nicely with mutable objects, when you update the state of this object
  * instead of recreating it. If you work with immutable objects [savedInstanceState] can suit you
@@ -54,7 +53,7 @@
  * @param init A factory function to create the initial value of this state
  */
 @Composable
-fun <T : Any> rememberSavedInstanceState(
+fun <T : Any> rememberSaveable(
     vararg inputs: Any?,
     saver: Saver<T, out Any> = autoSaver(),
     key: String? = null,
@@ -89,7 +88,7 @@
     if (registry != null) {
         DisposableEffect(registry, finalKey) {
             val valueProvider = {
-                with(saverHolder.value) { SaverScopeImpl(registry::canBeSaved).save(value) }
+                with(saverHolder.value) { SaverScope { registry.canBeSaved(it) }.save(value) }
             }
             registry.requireCanBeSaved(valueProvider())
             registry.registerProvider(finalKey, valueProvider)
@@ -110,13 +109,8 @@
                 "$value cannot be saved using the current UiSavedStateRegistry. The default " +
                     "implementation only supports types which can be stored inside the Bundle" +
                     ". Please consider implementing a custom Saver for this class and pass it" +
-                    " to savedInstanceState() or rememberSavedInstanceState()."
+                    " to savedInstanceState() or rememberSaveable()."
             }
         )
     }
 }
-
-// TODO this will not be needed when we make SaverScope "fun interface"
-private class SaverScopeImpl(val canBeSaved: (Any) -> Boolean) : SaverScope {
-    override fun canBeSaved(value: Any) = canBeSaved.invoke(value)
-}
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder.kt
index c63a1df..ef4a926 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder.kt
@@ -24,10 +24,9 @@
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.savedinstancestate.AmbientUiSavedStateRegistry
 import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistry
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
 
 /**
- * Allows to save the state defined with [savedInstanceState] and [rememberSavedInstanceState]
+ * Allows to save the state defined with [savedInstanceState] and [rememberSaveable]
  * for the subtree before disposing it to make it possible to compose it back next time with the
  * restored state. It allows different navigation patterns to keep the ui state like scroll
  * position for the currently not composed screens from the backstack.
@@ -41,7 +40,7 @@
 interface SaveableStateHolder {
     /**
      * Put your content associated with a [key] inside the [content]. This will automatically
-     * save all the states defined with [savedInstanceState] and [rememberSavedInstanceState]
+     * save all the states defined with [savedInstanceState] and [rememberSaveable]
      * before disposing the content and will restore the states when you compose with this key
      * again.
      *
@@ -62,7 +61,7 @@
  */
 @Composable
 fun rememberSaveableStateHolder(): SaveableStateHolder =
-    rememberSavedInstanceState(
+    rememberSaveable(
         saver = SaveableStateHolderImpl.Saver
     ) {
         SaveableStateHolderImpl()
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/Saver.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/Saver.kt
index 6aa0fa1..3f43303 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/Saver.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/saveable/Saver.kt
@@ -25,7 +25,7 @@
  * The implementations can check that the provided value can be saved via [SaverScope.canBeSaved]
  *
  * You can pass the implementations of this class as a parameter for [savedInstanceState] or
- * [rememberSavedInstanceState].
+ * [rememberSaveable].
  *
  * @sample androidx.compose.runtime.saveable.samples.CustomSaverSample
  */
@@ -51,7 +51,7 @@
  * The implementations can check that the provided value can be saved via [SaverScope.canBeSaved]
  *
  * You can pass the implementations of this class as a parameter for [savedInstanceState] or
- * [rememberSavedInstanceState].
+ * [rememberSaveable].
  *
  * @sample androidx.compose.runtime.saveable.samples.CustomSaverSample
  *
@@ -87,7 +87,7 @@
 /**
  * The default implementation of [Saver] which does not perform any conversion.
  *
- * It is used by [savedInstanceState] and [rememberSavedInstanceState] by default.
+ * It is used by [savedInstanceState] and [rememberSaveable] by default.
  *
  * @see Saver
  */
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/Deprecated.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/Deprecated.kt
index be2dfa4..55f58b9 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/Deprecated.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/Deprecated.kt
@@ -108,3 +108,22 @@
     throw IllegalStateException(
         "This method is deprecated and moved to androidx.compose.runtime.saveable package"
     )
+
+@Deprecated(
+    "It was renamed to rememberSaveable() and moved to androidx.compose.runtime.saveable package",
+    ReplaceWith(
+        "rememberSaveable(key = key, init)",
+        "androidx.compose.runtime.saveable.rememberSaveable"
+    ),
+    level = DeprecationLevel.ERROR
+)
+@Suppress("DocumentExceptions")
+@Composable
+fun <T : Any> rememberSavedInstanceState(
+    vararg inputs: Any?,
+    saver: Saver<T, out Any>? = null,
+    key: String? = null,
+    init: () -> T
+): T = throw IllegalStateException(
+    "This method is deprecated and moved to androidx.compose.runtime.saveable package"
+)
diff --git a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceState.kt b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceState.kt
index eeecab5..be4afb1 100644
--- a/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceState.kt
+++ b/compose/runtime/runtime-saveable/src/commonMain/kotlin/androidx/compose/runtime/savedinstancestate/SavedInstanceState.kt
@@ -23,6 +23,7 @@
 import androidx.compose.runtime.structuralEqualityPolicy
 import androidx.compose.runtime.saveable.Saver
 import androidx.compose.runtime.saveable.autoSaver
+import androidx.compose.runtime.saveable.rememberSaveable
 
 /**
  * Used to introduce a state value of type [T] into a composition.
@@ -35,7 +36,7 @@
  *
  * This function works nicely with immutable values as we wrap them into [MutableState] and
  * update the values in this state. If you work with a mutable object and going to update the
- * state of this object instead of recreating it [rememberSavedInstanceState] can suit you more.
+ * state of this object instead of recreating it [rememberSaveable] can suit you more.
  *
  * If you use it with types which can be stored inside the Bundle then it will be saved and
  * restored automatically using [autoSaver], otherwise you will need to provide a custom [Saver]
@@ -61,7 +62,7 @@
     key: String? = null,
     policy: SnapshotMutationPolicy<T> = structuralEqualityPolicy(),
     init: () -> T
-): MutableState<T> = rememberSavedInstanceState(
+): MutableState<T> = rememberSaveable(
     *inputs,
     saver = mutableStateSaver(saver, policy),
     key = key,
diff --git a/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/StateRestorationTester.kt b/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/StateRestorationTester.kt
index 9d8f03b..56f5670 100644
--- a/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/StateRestorationTester.kt
+++ b/compose/ui/ui-test-junit4/src/androidMain/kotlin/androidx/compose/ui/test/junit4/StateRestorationTester.kt
@@ -33,7 +33,7 @@
  * [emulateSavedInstanceStateRestore] and assert your state is restored properly.
  *
  * Note that this tests only the restoration of the local state of the composable you passed to
- * [setContent] and useful for testing [savedInstanceState] or [rememberSavedInstanceState]
+ * [setContent] and useful for testing [savedInstanceState] or [rememberSaveable]
  * integration. It is not testing the integration with any other life cycles or Activity callbacks.
  */
 class StateRestorationTester(private val composeTestRule: ComposeContentTestRule) {
@@ -56,7 +56,7 @@
     }
 
     /**
-     * Saves all the state stored via [savedInstanceState] or [rememberSavedInstanceState],
+     * Saves all the state stored via [savedInstanceState] or [rememberSaveable],
      * disposes current composition, and composes again the content passed to [setContent].
      * Allows to test how your component behaves when the state restoration is happening.
      * Note that the state stored via regular state() or remember() will be lost.
diff --git a/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt b/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
index 1440b95..dc344d4 100644
--- a/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
+++ b/navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
@@ -25,7 +25,7 @@
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.AmbientContext
@@ -206,7 +206,7 @@
 
             NavHost(navController, startDestination = "First") {
                 composable("First") {
-                    numberOnScreen1 = rememberSavedInstanceState { increment++ }
+                    numberOnScreen1 = rememberSaveable { increment++ }
                 }
                 composable("Second") {}
             }
@@ -243,7 +243,7 @@
                 composable("First") {
                 }
                 composable("Second") {
-                    numberOnScreen2 = rememberSavedInstanceState { increment++ }
+                    numberOnScreen2 = rememberSaveable { increment++ }
                 }
             }
         }
diff --git a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHostController.kt b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHostController.kt
index 93bbc84..7d7533a 100644
--- a/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHostController.kt
+++ b/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHostController.kt
@@ -25,7 +25,7 @@
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.saveable.Saver
-import androidx.compose.runtime.savedinstancestate.rememberSavedInstanceState
+import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.platform.AmbientContext
 import androidx.core.net.toUri
 import androidx.navigation.NavBackStackEntry
@@ -77,7 +77,7 @@
 @Composable
 public fun rememberNavController(): NavHostController {
     val context = AmbientContext.current
-    return rememberSavedInstanceState(saver = NavControllerSaver(context)) {
+    return rememberSaveable(saver = NavControllerSaver(context)) {
         createNavController(context)
     }
 }