Finding the right searchview

So first step is taking a look around of what’s been done, I usually visit Android Arsenal to see what’s new. This time quite a few libraries before implementing one, I’ll check out how the sample app runs. Outside of that see if there is any open issues on Github, you don’t want to create additional instability in your app introducing a library to do so. Current library I’ve decided to test out is a fork of Persistent Search View by Cryse Hillme.

SearchFilter Porting

I thought the library was pretty cool and could be reused in other projects, like whenever I get back to developing MAV. The transition wasn’t too bad it was like reverse mapping, replacing keywords in Kotlin and understanding the syntax.

For example:

Kotlin: class ExpandedFilterView : ViewGroup {

private var mPrevItem: View? = null
private var mPrevX: Int? = null
private var mPrevY: Int? = null
private var mPrevHeight = 0

Java: public class ExpandedFilterView extends ViewGroup {

private View mPrevItem = null;
private int mPrevX = 0;
private int mPrevY = 0;
private int mPrevHeight = 0;

MAV Development Update

So visiting my sister in Maryland, decided to work on My Anime Viewer, I have tried a combination of different libraries to use for video players, initially was trying to use MinTube as a basis for the video player as it used an interesting system overlay concept which allows the video to play even after leaving the app, but the code posted on Github was somewhat incomplete because the manifest is missing, and it’s a bit messy to read through. So I decided to drop it in favor of using ExoPlayer wrapped in a library ExoMedia for easier usage, the library developer also provides a playlist manager would help down the line. Built a couple of test releases but trying to finish up some simple features before the weekend is over.

Working on My Manga Reader and other projects

There’s ups and downs while developing MMR, it’s been close to 4 years since I started the project, there’s been times when motivation decreased especially when the app was removed from the play store and my hard work of building an active userbase decreased from over 50000 to now roughly 100 users. There’s always a monetary aspect to consider especially now when my family is growing and I’m expecting a new baby girl by the end of the year.

Trying to branch out, I’ve started work on My Anime Viewer again, shooting for a release this weekend, but it’s right now in a tough position since currently there is only 1 source that it uses which is Anime-Joy and a couple of the other sources I’ve looked have cloudflare’s ddos protection which requires a browser that supports javascript while I primarily use jsoup to scrape html. But I’m still hopeful that people will enjoy the app and I’d be encouraged to continue developing other apps.

Ramblings on MMR Download Manager

After a recent issue reported by Johnson Le on the Bug Tracker, I’ve looked into the download manager code for My Manga Reader once again, it was built upon a library, which I can’t even find anymore. It was modified to work with Manga/Chapter downloading, but the original feature set was pretty decent, pausing and resuming seemed to be a plus, the issue came when we download a chapter we treat a chapter as one object but when we download a chapter, it’s the pages that we need to download. So commonly download managers are about managing a download as an individual entity. Where in the background thread you just open a connection to the file you’re trying to download copy the bytes and save them to a local file.

Right now after looking at the Download Manager’s code, there are quite a few pieces missing when we download a file, we don’t track the state (queued, downloading, paused, completed) consistently causing most of the issues, I’ve made some changes and hopefully the behavior will be more consistent in the next release.