opatry / taskfolio

An Android task management app built using Google Tasks API. Developed to demonstrate my expertise in modern Android development.
https://opatry.github.io/taskfolio/
MIT License
0 stars 0 forks source link

Crash when rotating while task list is displayed (Android) #10

Closed opatry closed 3 days ago

opatry commented 4 days ago

Describe the bug On a Android device, crash when rotating while task list is displayed.

To Reproduce Steps to reproduce the behavior:

  1. select a task list
  2. rotate the device
  3. 💥

Expected behavior No crash!

[!TIP]

  • Doesn't affect desktop app
  • 🔥 Firebase Crashlytics crash
    
    Fatal Exception: java.lang.IllegalArgumentException: item can't be saved
    at androidx.compose.runtime.saveable.ListSaverKt$listSaver$1.invoke(ListSaver.kt:39)
    at androidx.compose.runtime.saveable.ListSaverKt$listSaver$1.invoke(ListSaver.kt:33)
    at androidx.compose.runtime.saveable.SaverKt$Saver$1.save(Saver.kt:66)
    at androidx.compose.material3.adaptive.navigation.DefaultThreePaneScaffoldNavigator$Companion$saver$1.invoke(ThreePaneScaffoldNavigator.kt:422)
    at androidx.compose.material3.adaptive.navigation.DefaultThreePaneScaffoldNavigator$Companion$saver$1.invoke(ThreePaneScaffoldNavigator.kt:419)
    at androidx.compose.runtime.saveable.ListSaverKt$listSaver$1.invoke(ListSaver.kt:35)
    at androidx.compose.runtime.saveable.ListSaverKt$listSaver$1.invoke(ListSaver.kt:33)
    at androidx.compose.runtime.saveable.SaverKt$Saver$1.save(Saver.kt:66)
    at androidx.compose.runtime.saveable.SaveableHolder$valueProvider$1.invoke(RememberSaveable.kt:148)
    at androidx.compose.runtime.saveable.SaveableStateRegistryImpl.performSave(SaveableStateRegistry.kt:148)
    at androidx.compose.ui.platform.DisposableSaveableStateRegistry_androidKt.DisposableSaveableStateRegistry$lambda$0(DisposableSaveableStateRegistry.android.kt:83)
    at androidx.compose.ui.platform.DisposableSaveableStateRegistry_androidKt.$r8$lambda$vXWQ89TxHQ24MnxQcigE5jRzS1E()
    at androidx.compose.ui.platform.DisposableSaveableStateRegistry_androidKt$$ExternalSyntheticLambda0.saveState(D8$$SyntheticClass)
    at androidx.savedstate.SavedStateRegistry.performSave(SavedStateRegistry.kt:247)
    at androidx.savedstate.SavedStateRegistryController.performSave(SavedStateRegistryController.kt:81)
    at androidx.activity.ComponentActivity.onSaveInstanceState(ComponentActivity.kt:345)
    at android.app.Activity.performSaveInstanceState(Activity.java:2245)
    at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1596)
    at android.app.ActivityThread.callActivityOnSaveInstanceState(ActivityThread.java:5801)
    at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5194)
    at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5755)
    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5673)
    at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71)
    at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7918)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)