FredJul / Flym

Flym News Reader is a light Android feed reader (RSS/Atom)
Other
953 stars 405 forks source link

Crash in 2.5.3 on feeds with empty titles #716

Closed bfritz closed 3 years ago

bfritz commented 3 years ago

After upgrading to 2.5.3, I experienced constant crashes and tracked it down to two feeds where the value in feeds.feedTitle was an empty string.

Commit 1ab426f introduced a bug where those two feeds cause this crash:

--------- beginning of system
10-28 21:39:33.569  1537  1564 I ActivityTaskManager: START u0 {cmp=net.frju.flym/.ui.main.MainActivity (has extras)} from uid 10131
10-28 21:39:33.579  1537  1564 W ActivityTaskManager: startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { cmp=net.frju.flym/.ui.main.MainActivity (has extras) }
10-28 21:39:33.933  1537  1588 I DropBoxManagerService: add tag=system_app_strictmode isTagEnabled=true flags=0x2
--------- beginning of crash
10-28 21:39:34.383  8986  8986 E AndroidRuntime: FATAL EXCEPTION: main
10-28 21:39:34.383  8986  8986 E AndroidRuntime: Process: net.frju.flym, PID: 8986
10-28 21:39:34.383  8986  8986 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at java.util.ArrayList.get(ArrayList.java:437)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.data.entities.Feed$Companion.getLettersForName(SourceFile:6)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.data.entities.Feed$Companion.getLetterDrawable(SourceFile:2)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.data.entities.Feed.getLetterDrawable(SourceFile:1)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.ui.feeds.BaseFeedAdapter$FeedGroupViewHolder.bindItem(SourceFile:22)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.ui.feeds.BaseFeedAdapter.onBindParentViewHolder(SourceFile:2)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at net.frju.flym.ui.feeds.BaseFeedAdapter.onBindParentViewHolder(SourceFile:1)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at com.bignerdranch.expandablerecyclerview.ExpandableRecyclerAdapter.onBindViewHolder(SourceFile:9)
10-28 21:39:34.383  8986  8986 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(SourceFile:1)
...

Interestingly, the crash seemed to prevent me from downgrading (via F-Droid) as well.

I have root access and worked around the problem using sqlite3 /data/data/net.frju.flym/databases/db to update the records and add titles.