NativeScript / NativeScript/plugins

[@nativescript/google-maps] Break app when you have a map inside a ScrollView

Ouverte
#375 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
TypeScript
Étoiles
206
Forks
123
Merge moyen
2 j 1 h
PR mergées (30 j)
1

Description

When you have a map inside a scrollView, if you navigate to another page, exit the app and re-enter, when you return to the back page with the map the app breaks. Error:

  System.err: An uncaught Exception occurred on "main" thread.
  System.err: Calling js method onCreateView failed
  System.err: Error: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to org.nativescript.widgets.HorizontalScrollView$SavedState
  System.err:
  System.err: StackTrace:
  System.err: onCreateView(file: src\webpack:\abll-app-next\node_modules\@nativescript\core\ui\frame\index.android.js:768:0)
  System.err:   at onCreateView(file: src\webpack:\abll-app-next\node_modules\@nativescript\core\ui\frame\fragment.android.js:28:0)
  System.err:   at com.tns.Runtime.callJSMethodNative(Native Method)
  System.err:   at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1302)
  System.err:   at com.tns.Runtime.callJSMethodImpl(Runtime.java:1188)
  System.err:   at com.tns.Runtime.callJSMethod(Runtime.java:1175)
  System.err:   at com.tns.Runtime.callJSMethod(Runtime.java:1153)
  System.err:   at com.tns.Runtime.callJSMethod(Runtime.java:1149)
  System.err:   at com.tns.FragmentClass.onCreateView(FragmentClass.java:55)
  System.err:   at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
  System.err:   at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:524)
  System.err:   at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
  System.err:   at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
  System.err:   at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
  System.err:   at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
  System.err:   at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:547)
  System.err:   at android.os.Handler.handleCallback(Handler.java:942)
  System.err:   at android.os.Handler.dispatchMessage(Handler.java:99)
  System.err:   at android.os.Looper.loopOnce(Looper.java:210)
  System.err:   at android.app.ActivityThread.main(ActivityThread.java:8109)
  System.err:   at java.lang.reflect.Method.invoke(Native Method)
  System.err:   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
  System.err:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
  System.err: Caused by: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to org.nativescript.widgets.HorizontalScrollView$SavedState
  System.err:   at org.nativescript.widgets.VerticalScrollView.onRestoreInstanceState(VerticalScrollView.java:235)
  System.err:   at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4012)
  System.err:   at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4018)
  System.err:   at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4018)
  System.err:   at android.view.View.restoreHierarchyState(View.java:21650)

Playback repository: https://github.com/vallemar/error-google-maps-on-ScrollView

Video:

https://user-images.githubusercontent.com/15719383/206590563-1bf69f5b-2501-46e5-966c-3e322f1710f2.mp4

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le crash avec le dépôt de lecture lié et examinez le chemin de restauration Android affiché dans la trace de la pile, notamment frame/index.android.js, fragment.android.js et VerticalScrollView.onRestoreInstanceState. Comparez la navigation map-in-ScrollView et le flux de retour dans l’application avec la ClassCastException signalée. Le travail est terminé lorsque le retour à la page ne fait plus planter l’application pendant la restauration de l’état de la vue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, typescript
Domaine
mobile
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.