nativescript-community / ui-pulltorefresh

:recycle: NativeScript plugin for PullToRefresh controls
Other
18 stars 6 forks source link

Error when refreshing with an empty list #11

Open vallemar opened 1 year ago

vallemar commented 1 year ago

When pullrefresh is done and in the view you have an empty list in Android, this is failing:

  System.err: An uncaught Exception occurred on "main" thread.
  System.err: Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference in method 'void android.view.ViewGroup.dispatchDraw(android.graphics.Canvas)'
  System.err:
  System.err: StackTrace:
  System.err: java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference in method 'void android.view.ViewGroup.dispatchDraw(android.graphics.Canvas)'
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4300)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5030)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.draw(View.java:23324)
  System.err:   at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4429)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22180)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.draw(View.java:23324)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22180)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22171)
  System.err:   at android.view.View.draw(View.java:23046)
  System.err:   at android.view.ViewGroup.drawChild(ViewGroup.java:4543)
  System.err:   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4301)
  System.err:   at android.view.View.draw(View.java:23324)
  System.err:   at com.android.internal.policy.DecorView.draw(DecorView.java:892)
  System.err:   at android.view.View.updateDisplayListIfDirty(View.java:22180)
  System.err:   at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:682)
  System.err:   at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:690)
  System.err:   at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:795)
  System.err:   at android.view.ViewRootImpl.draw(ViewRootImpl.java:4820)
  System.err:   at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4521)
  System.err:   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3735)
  System.err:   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2473)
  System.err:   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9328)
  System.err:   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1390)
  System.err:   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1398)
  System.err:   at android.view.Choreographer.doCallbacks(Choreographer.java:1040)
  System.err:   at android.view.Choreographer.doFrame(Choreographer.java:954)
  System.err:   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1370)
  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.os.Looper.loop(Looper.java:299)
  System.err:   at android.app.ActivityThread.main(ActivityThread.java:8116)
  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)

I think it's related to this: https://stackoverflow.com/questions/33242776/android-viewgroup-crash-attempt-to-read-from-field-int-android-view-view-mview

This did not fail before, I don't know when it started to fail.

My dependencies are:

"dependencies": {
    "@akylas/nativescript": "^8.4.9",
    "@nativescript-community/ui-image": "^4.3.6",
    "@nativescript-community/ui-lottie": "^5.0.5",
    "@nativescript-community/ui-material-bottomsheet": "^7.0.37",
    "@nativescript-community/ui-material-cardview": "^7.0.37",
    "@nativescript-community/ui-material-dialogs": "7.0.37",
    "@nativescript-community/ui-material-tabs": "7.0.37",
    "@nativescript-community/ui-material-textfield": "^7.0.38",
    "@nativescript-community/ui-pulltorefresh": "^2.5.3",
    "@nativescript/firebase-core": "^2.5.2",
    "@nativescript/firebase-messaging": "^2.5.2",
    "@nativescript/firebase-messaging-core": "^2.5.2",
    "@nativescript/geolocation": "^8.1.0",
    "@nativescript/google-maps": "^1.4.10",
    "@nativescript/iqkeyboardmanager": "^2.1.1",
    "@nativescript/local-notifications": "^6.0.0",
    "@nstudio/nativescript-shimmer": "^1.0.7",
    "@open-native/core": "^1.0.0-alpha.26",
    "axios": "^0.19.2",
    "moment": "^2.29.4",
    "moment-timezone": "^0.5.40",
    "nativescript-vue": "3.0.0-beta.5",
    "pinia": "^2.0.27",
    "react-native-device-info": "^10.4.0",
    "router-vue-native": "^2.1.0"
  },
  "devDependencies": {
    "@nativescript-dom/core-types": "^1.0.25",
    "@nativescript-dom/vue-types": "^1.0.14",
    "@nativescript/android": "^8.4.0",
    "@nativescript/core": "^8.4.7",
    "@nativescript/ios": "^8.4.1",
    "@nativescript/tailwind": "^2.0.1",
    "@nativescript/types": "~8.4.0",
    "@nativescript/webpack": "~5.0.0",
    "@types/node": "~17.0.21",
    "esbuild-loader": "^2.20.0",
    "sass": "^1.56.1",
    "sass-loader": "^13.2.0",
    "tailwindcss": "^3.1.8",
    "typescript": "~4.8.4",
    "vue": "^3.2.47"
  }

https://user-images.githubusercontent.com/15719383/227708400-2b9e24af-9c89-41fb-a666-71e910658f93.mp4