NativeScript / NativeScript/plugins

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

Aberta
#375 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
TypeScript
Estrelas
206
Forks
123
Merge médio
2d 1h
PRs com merge (30d)
1

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo o crash com o repositório de reprodução vinculado e inspecione o caminho de restauração do Android mostrado no stack trace, incluindo frame/index.android.js, fragment.android.js e VerticalScrollView.onRestoreInstanceState. Compare a navegação map-in-ScrollView e o fluxo de reentrada no app com a ClassCastException relatada. Considera-se concluído quando retornar à página não interromper mais o app durante a restauração do estado da view.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
android, typescript
Domínio
mobile
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.