Saver

Interface

Common
public interface Saver<Original, Saveable : Any>

The Saver describes how the object of Original class can be simplified and converted into something which is Saveable.

What types can be saved is defined by SaveableStateRegistry, by default everything which can be stored in the Bundle class can be saved. 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 rememberSaveable.

Functions

public fun SaverScope.save(value: Original): Saveable?

Convert the value into a saveable one. If null is returned the value will not be saved.

public fun restore(value: Saveable): Original?

Convert the restored value back to the original Class. If null is returned the value will not be restored and would be initialized again instead.