[com.strava] Strava crashes when I try to open saved activity
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 3.2k
- Avg merge
- 12d 11h
- Merged PRs (30d)
- 4
Description
Affected app
Name: Strava
Package id: com.strava
Describe the bug
Strava crashes when I try to open recorded sports activity
To Reproduce
Steps to reproduce the behavior:
- Open Strava app
- Tap on 'You'
- Tap on 'ACTIVITIES' tab
- Tap on recorded sports activity
- Catch FC
System
Android Version: 7.1.2 stock
microG
microG Core version: v0.2.22.212658
microG Self-Check results: All ticked
Additional context
This bug is also present on previous GmsCore release (v0.2.21.212158).
PS: I have the same phone E5823 with the same OS and the same modified framework, but with native GMS/gapps. And there is no issues.
FC logcat
#######RuntimeEnvironmentInformation#######
crash time=2021-08-24 16:31:12.980
model=E5823
android version=7.1.1(25)
brand=Sony
manufacturer=Sony
board=msm8994
hardware=qcom
device=E5823
version name=215.8
supported ABIs=arm64-v8a & armeabi-v7a & armeabi
display=32.4.A.1.54
#######ForceCloseCrashLog#######
java.lang.IllegalArgumentException: Error creating modular layout ViewHolder with key training-impact-summary
at c.a.e1.x.h.onCreateViewHolder(ProGuard:6)
at androidx.recyclerview.widget.RecyclerView$e.createViewHolder(ProGuard:3)
at c.a.e1.x.h.onBindViewHolder(ProGuard:29)
at androidx.recyclerview.widget.RecyclerView$e.onBindViewHolder(ProGuard:1)
at androidx.recyclerview.widget.RecyclerView$e.bindViewHolder(ProGuard:7)
at androidx.recyclerview.widget.RecyclerView$t.k(ProGuard:137)
at androidx.recyclerview.widget.RecyclerView$t.e(ProGuard:1)
at androidx.recyclerview.widget.LinearLayoutManager$c.c(ProGuard:8)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(ProGuard:1)
at androidx.recyclerview.widget.LinearLayoutManager.fill(ProGuard:12)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(ProGuard:65)
at androidx.recyclerview.widget.RecyclerView.s(ProGuard:8)
at androidx.recyclerview.widget.RecyclerView.q(ProGuard:9)
at androidx.recyclerview.widget.RecyclerView.onLayout(ProGuard:3)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(ProGuard:11)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at c.i.a.e.c.i.layoutChild(ProGuard:23)
at c.i.a.e.c.j.onLayoutChild(ProGuard:1)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(ProGuard:1)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(ProGuard:8)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:730)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6343)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6274)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: android.view.InflateException: Binary XML file line #103: Binary XML file line #103: Error inflating class ImageView
Caused by: android.view.InflateException: Binary XML file line #103: Error inflating class ImageView
Caused by: android.content.res.Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f08050a
Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f08050a
at android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:228)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:687)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.loadDrawable(Resources.java:862)
at android.content.res.TypedArray.getDrawable(TypedArray.java:933)
at android.content.res.XResources$XTypedArray.getDrawable(XResources.java:1363)
at android.widget.ImageView.<init>(ImageView.java:162)
at android.widget.ImageView.<init>(ImageView.java:150)
at androidx.appcompat.widget.AppCompatImageView.<init>(ProGuard:3)
at androidx.appcompat.widget.AppCompatImageView.<init>(ProGuard:2)
at i0.b.c.s.createImageView(ProGuard:1)
at i0.b.c.s.createView(ProGuard:14)
at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(ProGuard:12)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
at android.view.LayoutInflater.inflate(<Xposed>)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at c.d.c.a.a.j(ProGuard)
at c.a.e1.x.q.<init>(ProGuard:1)
at com.strava.modularui.viewholders.TrainingImpactSummaryViewHolder.<init>(ProGuard:1)
at com.strava.modularui.GenericModuleList$modules$20.invoke(ProGuard:1)
at com.strava.modularui.GenericModuleList$modules$20.invoke(ProGuard:2)
at c.a.e1.x.h.onCreateViewHolder(ProGuard:4)
at androidx.recyclerview.widget.RecyclerView$e.createViewHolder(ProGuard:3)
at c.a.e1.x.h.onBindViewHolder(ProGuard:29)
at androidx.recyclerview.widget.RecyclerView$e.onBindViewHolder(ProGuard:1)
at androidx.recyclerview.widget.RecyclerView$e.bindViewHolder(ProGuard:7)
at androidx.recyclerview.widget.RecyclerView$t.k(ProGuard:137)
at androidx.recyclerview.widget.RecyclerView$t.e(ProGuard:1)
at androidx.recyclerview.widget.LinearLayoutManager$c.c(ProGuard:8)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(ProGuard:1)
at androidx.recyclerview.widget.LinearLayoutManager.fill(ProGuard:12)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(ProGuard:65)
at androidx.recyclerview.widget.RecyclerView.s(ProGuard:8)
at androidx.recyclerview.widget.RecyclerView.q(ProGuard:9)
at androidx.recyclerview.widget.RecyclerView.onLayout(ProGuard:3)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(ProGuard:11)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at c.i.a.e.c.i.layoutChild(ProGuard:23)
at c.i.a.e.c.j.onLayoutChild(ProGuard:1)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(ProGuard:1)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(ProGuard:8)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:730)
at android.view.View.layout(View.java:17689)
at android.view.ViewGroup.layout(ViewGroup.java:5575)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6343)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6274)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the crash on the listed Sony E5823 running Android 7.1.2 and reviewing the supplied logcat. Investigate the missing drawable while Strava creates the training-impact-summary view; done means opening a recorded activity no longer force-closes the app.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100