0

I have the code as below

    private var savedStateSparseArray = SparseArray<Fragment.SavedState>()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        if (savedInstanceState != null) {
            savedStateSparseArray = savedInstanceState.getSparseParcelableArray(
                SAVED_STATE_CONTAINER_KEY
            ) ?: savedStateSparseArray
        }
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putSparseParcelableArray(SAVED_STATE_CONTAINER_KEY, savedStateSparseArray)
    }

But beginning Android 13 (Android Tiramisu), getSparseParcelableArray(@Nullable String key) is now deprecated.

How to fix the deprecation?

Elye
  • 53,639
  • 54
  • 212
  • 474

1 Answers1

0

Looks like I can use

if (Build.VERSION.SDK_INT >= TIRAMISU) {
    savedInstanceState.getSparseParcelableArray(
        SAVED_STATE_CONTAINER_KEY, Fragment.SavedState::class.java
    )
}
Elye
  • 53,639
  • 54
  • 212
  • 474