Various crashes from the play console
LivingWithHippos opened this issue · 3 comments
LivingWithHippos commented
Issues with the percent_format
string in fragment_torrent_details.xml
, replace with logic in the fragment
Exception android.content.res.Resources$NotFoundException:
at android.content.res.ResourcesImpl.getQuantityText (ResourcesImpl.java:331)
at android.content.res.Resources.getQuantityText (Resources.java:537)
at android.content.res.Resources.getQuantityString (Resources.java:613)
at com.github.livingwithhippos.unchained.databinding.FragmentTorrentDetailsBindingImpl.executeBindings (FragmentTorrentDetailsBindingImpl.java:360)
at androidx.databinding.ViewDataBinding.executeBindingsInternal (ViewDataBinding.java)
at androidx.databinding.ViewDataBinding.executePendingBindings (ViewDataBinding.java)
at androidx.databinding.ViewDataBinding$7.run (ViewDataBinding.java:52)
at androidx.databinding.ViewDataBinding$8.doFrame (ViewDataBinding.java:5)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1158)
at android.view.Choreographer.doCallbacks (Choreographer.java:950)
at android.view.Choreographer.doFrame (Choreographer.java:874)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1142)
at android.os.Handler.handleCallback (Handler.java:938)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:210)
at android.os.Looper.loop (Looper.java:299)
at android.app.ActivityThread.main (ActivityThread.java:8309)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1038)
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@{@string/percent_format(torrent.progress), default=`75 %`}"
android:textAlignment="center"
android:textStyle="bold" />
<TextView
android:id="@+id/tvProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="@{@string/percent_format(torrent.progress), default=`90%`}"
android:visibility="@{torrent.progress >=0 && torrent.progress <100 ? View.VISIBLE : View.GONE, default=visible}"
app:layout_constraintBottom_toBottomOf="@+id/tvDownloadOverline"
app:layout_constraintStart_toEndOf="@id/tvDownloadOverline" />
also found in item_list_torrent.xml
<TextView
android:id="@+id/tvProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{item.progress >=0 && item.progress <100 ? View.VISIBLE : View.GONE, default=visible}"
android:text="@{@string/percent_format(item.progress), default=`90%`}"
android:layout_marginStart="5dp"
android:textColor="?attr/colorPrimary"
app:layout_constraintBottom_toBottomOf="@+id/tvTitle"
app:layout_constraintStart_toEndOf="@id/tvTitle" />
Also some other binding in item_list_search.xml
LivingWithHippos commented
Possibly linked to the torrent notification or download notification service since it references binder
Exception java.lang.RuntimeException:
at android.app.ActivityClient.activityStopped (ActivityClient.java:102)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run (PendingTransactionActions.java:143)
at android.os.Handler.handleCallback (Handler.java:942)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:211)
at android.os.Looper.loop (Looper.java:300)
at android.app.ActivityThread.main (ActivityThread.java:8289)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:559)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:954)
Caused by android.os.TransactionTooLargeException:
at android.os.BinderProxy.transactNative
at android.os.BinderProxy.transact (BinderProxy.java:646)
at android.app.IActivityClientController$Stub$Proxy.activityStopped (IActivityClientController.java:1266)
at android.app.ActivityClient.activityStopped (ActivityClient.java:99)
LivingWithHippos commented
Memory leak or something on a recyclerview, see https://stackoverflow.com/questions/61606656/viewpager2-crash
Exception java.lang.IllegalArgumentException:
at androidx.core.util.Preconditions.checkArgument (Preconditions.java)
at androidx.recyclerview.selection.DefaultSelectionTracker.anchorRange (DefaultSelectionTracker.java)
at androidx.recyclerview.selection.MotionInputHandler.selectItem (MotionInputHandler.java:43)
at androidx.recyclerview.selection.TouchInputHandler.onSingleTapUp (TouchInputHandler.java:57)
at androidx.recyclerview.selection.GestureRouter.onSingleTapUp (GestureRouter.java)
at android.view.GestureDetector.onTouchEvent (GestureDetector.java:752)
at androidx.recyclerview.selection.GestureDetectorWrapper.onInterceptTouchEvent (GestureDetectorWrapper.java:26)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener (RecyclerView.java)
at androidx.recyclerview.widget.RecyclerView.onInterceptTouchEvent (RecyclerView.java:10)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2653)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3121)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2802)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:500)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1905)
at android.app.Activity.dispatchTouchEvent (Activity.java:4298)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:458)
at android.view.View.dispatchPointerEvent (View.java:15269)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:6757)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:6557)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6013)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:6070)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:6036)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:6201)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:6044)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:6258)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6017)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:6070)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:6036)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:6044)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6017)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:9103)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:9054)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:9023)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:9226)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:267)
at android.os.MessageQueue.nativePollOnce
at android.os.MessageQueue.next (MessageQueue.java:335)
at android.os.Looper.loopOnce (Looper.java:161)
at android.os.Looper.loop (Looper.java:288)
at android.app.ActivityThread.main (ActivityThread.java:7884)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)
LivingWithHippos commented
Timeout on a network call, they should all be try catched
Exception java.net.SocketTimeoutException: timeout
at okio.SocketAsyncTimeout.newTimeoutException (SocketAsyncTimeout.java)
at okio.AsyncTimeout.access$newTimeoutException (AsyncTimeout.java:40)
at okio.AsyncTimeout$source$1.read (AsyncTimeout.java:40)
at okio.RealBufferedSource.indexOf (RealBufferedSource.java:50)
at okio.RealBufferedSource.Y (RealBufferedSource.java:41)
at okhttp3.internal.http1.HeadersReader.readLine (HeadersReader.java:19)
at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders (Http1ExchangeCodec.java:19)
at okhttp3.internal.connection.Exchange.b (Exchange.java:3)
at okhttp3.internal.http.CallServerInterceptor.intercept (CallServerInterceptor.java:166)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at okhttp3.internal.connection.ConnectInterceptor.intercept (ConnectInterceptor.java:102)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at okhttp3.internal.cache.CacheInterceptor.intercept (CacheInterceptor.java:148)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at okhttp3.internal.http.BridgeInterceptor.intercept (BridgeInterceptor.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept (RetryAndFollowUpInterceptor.java:154)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at com.github.livingwithhippos.unchained.data.model.EmptyBodyInterceptor.a (EmptyBodyInterceptor.java:3)
at okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:133)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp (RealCall.java:96)
at okhttp3.internal.connection.RealCall$AsyncCall.run (RealCall.java:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:637)
at java.lang.Thread.run (Thread.java:1012)
Caused by java.net.SocketException: Socket closed
at java.net.SocketInputStream.read (SocketInputStream.java:188)
at java.net.SocketInputStream.read (SocketInputStream.java:143)
at okio.InputStreamSource.K (InputStreamSource.java:46)
at okio.AsyncTimeout$source$1.K (AsyncTimeout.java:13)