Closed LeGeek01 closed 2 weeks ago
J'ai pas ce problème (j'ai testé en forçant l'arrêt sans fermé l'app). Par contre je ne sais pas comment on peut le déclencher manuellement sinon. (7.3.0 de GitHub)
en forçant l'arrêt tu fermes l'appli, moi je dis bien de la laisser se fermer toute seule par android
Pour déclencher ce problème, il faut déjà avoir une version de Papillon < 7.3 (corrigé sur la 7.3)
Ensuite, soit t'as un téléphone qui ferme les applis en arrière plan au bout d'un certain temps. Soit tu change d'orientation de l'app sur une tablette En fait, c'est l'issue suivante -> #251
J'ai la 7.3.0 et j'ai réussi à obtenir le même problème. J'ai arrêté le service de l'app.
10-30 13:11:38.267 23890 23890 E AndroidRuntime: FATAL EXCEPTION: main
10-30 13:11:38.267 23890 23890 E AndroidRuntime: Process: xyz.getpapillon.app, PID: 23890
10-30 13:11:38.267 23890 23890 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.getpapillon.app/xyz.getpapillon.app.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.ScreenStackFragment: calling Fragment constructor caused an exception
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4172)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4330)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2693)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:230)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.os.Looper.loop(Looper.java:319)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:9063)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.swmansion.rnscreens.ScreenStackFragment: calling Fragment constructor caused an exception
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.Fragment.instantiate(Fragment.java:631)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:483)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.<init>(FragmentStateManager.java:85)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentManager.restoreSaveState(FragmentManager.java:2728)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:198)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentActivity$2.onContextAvailable(FragmentActivity.java:149)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.kt:84)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:378)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:46)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at xyz.getpapillon.app.MainActivity.onCreate(MainActivity.kt:21)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:9001)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8970)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4154)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: ... 12 more
10-30 13:11:38.267 23890 23890 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance0(Native Method)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at androidx.fragment.app.Fragment.instantiate(Fragment.java:613)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: ... 27 more
10-30 13:11:38.267 23890 23890 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Screen fragments should never be restored. Follow instructions from https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067 to properly configure your main activity.
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at com.swmansion.rnscreens.ScreenFragment.<init>(ScreenFragment.kt:59)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: at com.swmansion.rnscreens.ScreenStackFragment.<init>(ScreenStackFragment.kt:38)
10-30 13:11:38.267 23890 23890 E AndroidRuntime: ... 30 more
Ah je vais tester mtn pour voir
Je rencontre pas de problème perso
@Gabriel29306 et sur la version play store tu l'as le soucis ?
J'ai testé que celle de GitHub, je vais essayer celle du play store
on en parle que @LeGeek01 a modifié une ligne, et qu'en 2 semaines, la PR n'est toujours pas merged ? elle n'a même pas été review 🤦♂️
écoute, c'est pas ma faute s'ils n'ont pas le temps de review
ils ont review plein d'autres pr en 2 semaines, je dis ça, je dis rien...
3 pr par exemple ajd, j'pense qu'il faut revoir le système de fonctionnement des pr au niveau des review
@Vexcited moyen de regarder ça stp
🚀 Nouvelle Pull Request
Proposez vos modifications pour améliorer Papillon
Informations importantes
Merci de vous référer à la documentation sur la contribution si vous avez des questions à propos des pull requests (https://gitbook.getpapillon.xyz/organisation/outils-internes/github)
Checklist d'avant pull request
Veuillez cocher toutes les cases applicables en remplaçant [ ] par [x].
TODO
(aka des annotations pour du code manquant) dans vos modificationsChangelogs proposés
Lors-ce que l'appli est passée en background (quand on la quitte sans la fermer complètement) et qu'on la redémarre alors qu'android l'a arrêté, android va vouloir restaurer les écrans de celle-ci sauf que cela fait crash l'appli :
J'ai donc corrigé cela en faisant en sorte que lors-ce que l'activité est créée, elle soit créée de 0. Après avoir testé en off cette solution et avoir vu qu'elle fonctionne, j'ai publié une version de l'appli avec ce fix sur le play store, reste à voir via la console play store si le nombre de crash descend.
Informations supplémentaires
Étant donné que l'on créée l'activité de 0, quand on la rouvre elle redémarre de 0 (donc écran d'accueil), ce qui pourra potentiellement altérer aux suggestions de faire retourner l'appli à l'écran auquel on l'a laissé...