Open jmadrigal47895 opened 3 years ago
Agent comment from William Wong in Zendesk ticket #45028:
Dear Client
Thank you for contacting DJI.
I am sorry the crashes, we will check it internally. Meanwhile you can have a look the UXSDK 5.0 which is open source project. You can change the internal structure if you like. Link:https://github.com/dji-sdk/Mobile-UXSDK-Beta-Android
Hopefully our solution can help you. Kindly Regards, DJI Developer Support
Thank you! I appreciate the quick response.
The RecyclerView in the Pre-flight checklist panel is not recycling something properly in the RecyclerView adapter and crashes our app. It happens rarely but it does happen. Here is the log from Crashlytics:
Fatal Exception: java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled: e{32d0af0 position=5 id=-1, oldPos=-1, pLpos:-1 update tmpDetached no parent} dji.ux.internal.RecyclerListView{3e50c48 VFED.V... ......ID 0,0-535,709 #7f0903b7 app:id/recycle_list_view_content}, adapter:dji.ux.a.c@9f45ae1, layout:androidx.recyclerview.widget.LinearLayoutManager@bc17006, context:tech.fluidity.ftaviator.ui.activity.fly.FlyActivity@a5b8729 at androidx.recyclerview.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:6439) at androidx.recyclerview.widget.RecyclerView.removeAnimatingView(RecyclerView.java:1456) at androidx.recyclerview.widget.RecyclerView$ItemAnimatorRestoreListener.onAnimationFinished(RecyclerView.java:12699) at androidx.recyclerview.widget.RecyclerView$ItemAnimator.dispatchAnimationFinished(RecyclerView.java:13199) at androidx.recyclerview.widget.SimpleItemAnimator.dispatchChangeFinished(SimpleItemAnimator.java:317) at androidx.recyclerview.widget.DefaultItemAnimator$8.onAnimationEnd(DefaultItemAnimator.java:391) at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd(ViewPropertyAnimator.java:1111) at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:554) at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1250) at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1492) at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146) at android.animation.AnimationHandler.access$100(AnimationHandler.java:37) at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:54) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1008) at android.view.Choreographer.doCallbacks(Choreographer.java:809) at android.view.Choreographer.doFrame(Choreographer.java:740) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:995) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8506) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)