MuntashirAkon / AppManager

A full-featured package manager and viewer for Android
https://muntashirakon.github.io/AppManager/
Other
4.29k stars 252 forks source link

Random crash when opening an app's info #1334

Open DanGLES3 opened 1 month ago

DanGLES3 commented 1 month ago

Please check before submitting an issue

Describe the bug

Soon after opening the app and opening an app's info page, it might randomly crash

To Reproduce

Expected behavior

For the crash to not happen

Screenshots

No response

Logs

java.lang.NullPointerException: Attempt to read from field 'java.lang.Object io.github.muntashirakon.AppManager.details.struct.AppDetailsItem.vanillaItem' on a null object reference in method 'void io.github.muntashirakon.AppManager.details.AppDetailsComponentsFragment$AppDetailsRecyclerAdapter.getActivityView(android.content.Context, io.github.muntashirakon.AppManager.details.AppDetailsComponentsFragment$AppDetailsRecyclerAdapter$ViewHolder, int)' at io.github.muntashirakon.AppManager.details.AppDetailsComponentsFragment$AppDetailsRecyclerAdapter.getActivityView(AppDetailsComponentsFragment.java:437) at io.github.muntashirakon.AppManager.details.AppDetailsComponentsFragment$AppDetailsRecyclerAdapter.onBindViewHolder(AppDetailsComponentsFragment.java:380) at io.github.muntashirakon.AppManager.details.AppDetailsComponentsFragment$AppDetailsRecyclerAdapter.onBindViewHolder(AppDetailsComponentsFragment.java:269) at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7254) at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7337) at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6194) at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6460) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296) at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374) at android.widget.FrameLayout.onLayout(FrameLayout.java:312) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:688) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at androidx.viewpager.widget.ViewPager.onLayout(ViewPager.java:1775) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:149) at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43) at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2376) at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374) at android.widget.FrameLayout.onLayout(FrameLayout.java:312) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374) at android.widget.FrameLayout.onLayout(FrameLayout.java:312) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:374) at android.widget.FrameLayout.onLayout(FrameLayout.java:312) at com.android.internal.policy.DecorView.onLayout(DecorView.java:1330) at android.view.View.layout(View.java:24461) at android.view.ViewGroup.layout(ViewGroup.java:7412) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4609) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4031) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2919) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10491) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1108) at android.view.Choreographer.doCallbacks(Choreographer.java:866) at android.view.Choreographer.doFrame(Choreographer.java:797) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8663) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Device Info: App version: 3.1.5 App version code: 428 Android build version: M515FXXU5DWK2 Android release version: 12 Android SDK version: 31 Android build ID: SP1A.210812.016.M515FXXU5DWK2 Device brand: samsung Device manufacturer: samsung Device name: m51 Device model: SM-M515F Device product name: m51nsxx Device hardware name: qcom ABIs: [arm64-v8a, armeabi-v7a, armeabi] ABIs (32bit): [armeabi-v7a, armeabi] ABIs (64bit): [arm64-v8a] System language: en In-App Language: en Mode: root Inferred Mode: root

Device info

Additional context

No response

MuntashirAkon commented 1 month ago

This is one of the issues that can't be fixed in the v3.x.x lineup. Please wait for v4.0.0 stable release.