-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] Wishlist, New Fork #108
Comments
Wow, that's a lot... Let's start with number
DroidShows_7.11.5_FLAG_ACTIVITY_NEW_TASK.zip
|
|
@warren-bank 2. Sorry I fail to see te use in that. Why would you want to have a sorting order from newest release to oldest when new aired episodes are available? The intent of the current sorting order is to know for which shows it's safest to start binging without having to wait long for new episodes. What issue would your proposed sorting order solve? |
In contrast to binge-watching, when a series airs a new episode periodically (lets say one per week).. it's nice to have a sort option to see newest episodes at the top. |
Hmz, I always use the |
I understand what @warren-bank is referring to, but as an app that provides this type/way of tracking (show,, episode, etc...), I (personally) think this is just right. It's simplicity (without the Bling, Banners, etc...) is awesome for its functional role. This isn't to mean that there isn't room for improvement (as any app isn't perfect in on itself). I just believe that some major/minor features could (potentially) over complicate it's overall functionality as it was meant to. This is just a personal opinion, suggestion, etc and I hope I had expressed it okay via text. 👍 ~Ibuprophen |
Well, I'm still willing to look into small improvements. Bigger ones are just not really in the cards, because frankly, it's sort of a miracle that DroidShows still works, it using the APIv1 of TheTVDB and all... |
I understand @ltguillaume. 💯 I did notice this too and I think that I read that they were continuing the backwards compatibility for the API based upon various feedback from the issues experienced by others with the newer API. I just figured that once something big goes wrong, it'll probably/might be something tied to the API... LOL! ~Ibuprophen |
@warren-bank Just wanted to say that I'm following your fork's development and it's pretty great! 😃 |
Thanks.. really appreciate it! I was going to say something once I finished the set of features that I'm actively working on. In a nutshell.. right now I'm just ironing out some features that aren't related to the API. Once that's done, I'll start another branch to perform migration from thetvdb to tmdb. That should ensure long-term survival. |
Sounds great! I hope you find a way to reliably migrate the shows. Obviously the name only is not enough, but most shows have an IMDB id and a Zap2it id, that could help out. For example, in my database there are only two shows that don't have an IMDB id. I also have a few fixes that I did only locally (shame on me), so I'll figure out what's worth implementing and let you know. |
By any chance.. does one of your fixes include figuring out the reason that the app crashes when scrolling/flinging through the list and it reaches the last entry? That's a major annoyance.. and I was just about to look into it. Without having started looking (ie: intentionally causing the crash and then inspecting logcat).. I'm guessing it's a memory issue that would be solved by using a RecyclerView (if we were using support libs.. which I totally agree would add some unwanted bloat). But who knows.. since each list item is so lightweight.. maybe it's something else.. update: |
Do you have this on multiple devices? Because I've never experienced this. Perhaps reinstalling and restoring the database with my latest build also fixes it on your device? |
The Android TV Box that's attached to my bedroom TV.. currently using.. is still running your build; the one you uploaded to this issue w/ the added "FLAG_ACTIVITY_NEW_TASK" flag when starting Intents. The box is old.. MXIII running Android 4.4 w/ 2GB RAM. Still works great.. so I haven't bothered to replace it. Anyway.. I just ran a quick test on it (while a video player continued to stream video in the background).. and the crash happened.. and logcat shows (abridged):
where the originating code is here just to be on the safe side.. I think I'll add a try/catch to prevent this type of crash on low-memory devices. update: here is the relevant commit, which is included in release thetvdb/007.11.06-09API update: OutOfMemoryError is a fatal exception.. catching it doesn't prevent a crash. update: commits 1 and 2 work to conserve memory by resampling every thumbnail and only caching/displaying bitmaps that are 100px x 100px. I don't know how long a list needs to be for this to consume enough heap to lead to a crash.. but my list is 140 long, I'm using a fairly ancient device, and it's working great.. no lag at all.. and more-importantly.. no crashing! room for improvement: my methodology for cropping the posters is open for discussion. The posters appear much taller than they are wide. After resampling, I'm taking the full width and cropping height (to make a square) equally from top and bottom to take from the center. It looks fine to me, but there is definite crop loss. |
I had done a fresh install test on both versions (individually) and, thus far, saw a minor issue between the two. The following is a Screenshot of the latest version from @ltguillaume (version 7.11.5) which shows the artwork/cover images as it should be. The following is a Screenshot of the latest version from @warren-bank (version 007.11.07-09API) and (as you can see) had noticed the artwork/cover images not sized correctly. Screenshot_ver 007 11 07-09API Other than the artwork, I didn't notice (personally) anything that jumped out at me, but I would definitely let you know. :-)) I've gotta state that I'm also very impressed with the contribution that @warren-bank had done too. Great Job!!! ~Ibuprophen |
so DroidShows remains visible in the recents menu when launching an "external resource" URL
About the That being said, and thinking about this some more, the Desire doesn't have a high resolution (800x480). I don't even remember anymore how the image sizes are calculated before saving them, but it's possible that the image sizes explode on high-res displays. Either way, if the issue @Ibuprophen explained is to be fixed and considering high-res displays, I guess there's something to say for using a different approach for showing the posters in the ListView. |
Also, I probably see the effect of warren-bank@891a1ba on @Ibuprophen's screenshot https://user-images.githubusercontent.com/18060271/170116416-5204ca7a-fa05-4b75-9d6a-7a331cd9527b.jpg and I'd say that's a definite regression, too. What was the idea exactly? |
I'll re-address the icon cropping. I'm currently in the weeds with respect to data API migration. But before committing any code for that, I'll change the icon methodology: only resize such that width is always 100dp.. allow height to maintain aspect ratio.. update layout as such. Shouldn't be a problem... image size will still be very small.. aspect ratio will be maintained.. no cropping will occur. TBA.. PS: the methodology in the old code was to: resize by height (25% of screen) and maintain aspect ratio for width. Using your phone's specs as an example: screen height is 800px.. height of images after resize are 200px. Larger (or higher density) screens produce larger images that are accumulated in memory. With regard to memory, not horrible.. but we can do better. With regard for layout, you were lucky that thetvdb must pre-process all of its posters to a normalized aspect ratio; otherwise the icon widths could've been wildly inconsistent.. and the list would've looked a complete mess. update: it just occurred to me.. since my Android box is connected to my TV over HDMI.. it's probably seeing that my screen dimensions are 4K.. 3840px width x 2160px height.. so if "icons" are resized to 25% of this height.. that's 540px each.. ouch! That could probably lead to a memory-related crash with only a moderately sized list. |
That's true. but I knew about this, so I could make use of it 😉 |
release: 'thetvdb/007.11.09-09API'
|
Impressive! I think maybe we should look into how you could co-manage this very repo, so releases to F-Droid could start up again, while users can seemlessly update? What do you think? I could build & sign the APK's here, but the signing key for DroidShows is used only for DroidShows, so I can eventually share it with you if you'd like. |
10 days later.. and version tmdb/008.00.00-09API is born. I could use some testers.. because about 85% to 90% of the code in the entire app has been either replaced or rewritten. notes:
|
This is great news @warren-bank! I'll test it out and report back anything that I personally notice. Is there anything specific on your mind that you would like me to keep an eye on or just in general? ~Ibuprophen |
nope.. just anything that's not working right, or could be improved upon. As for speed.. there's nothing I can do. This API requires many more requests to accumulate the same quantity of information. Plus, it uses a library to convert JSON to Object models.. rather than extracting fields directly from raw XML. In any case, now we have an option..
|
@ltguillaume ..quick question I just noticed your commit..
|
I ran into new problems with
This is because (at least in my collection) many show names have their year appended (e.g. As you said, TMDB might not append the year to show names. |
I agree with @Ibuprophen. I understand the appeal to have the covers a bit larger than originally in DroidShows, simply because they're more helpful to recognize the show if they're a bit bigger, but I feel they're way too big right now.
Could still work if the cover was smaller, but I don't think it'd be necessary if the cover would be resized to somewhere between the current and the old size.
I'm afraid that'll look really bad. |
I'm not married to the current sizing logic.. but to summarize exactly what it is:
this discussion seems to imply that we could decrease the height without affecting the width.. regarding truncating the names of series.. to be perfectly honest.. |
Just as @ltguillaume had mentioned, I do like having the image solely for a quick recognition of the listed series,. Resizing them down would be a good thing to me, but not too small... LOL! I'm more of a Simplistic & Functional person for certain apps like this. Adding a 2nd line would be a good idea, but wouldn't it be better for the app to recognize that the title required it so those series that doesn't need it would remain using the single line? Also, if the title text would be resized, maybe changing the color would allow it to stand out a bit more (not referring to something like yellow that would just abuse the eyes a bit... LOL!). 1 more thing regarding the image, I'm only referring to the list itself. The image in the series details is fine as the full title is already good to go. I hope I had explained this okay via text. ~Ibuprophen |
well.. I can only speak to my own personal preferences.. but I rather like the sizing of the images as it is now; it looks good on my smallest handset.. and it looks good on my largest TV. regarding the text.. I just released a minor update that allows the title to span up to 3x lines (but only if necessary). I'm not eager to change: font, color, size, etc.. I rather like it how it is. (ie: keeping it simple and clean) |
i honestly didn't think anybody would feel so strongly about image size.. what I could do.. however, my concern is what to do when a user changes this value? that seems like a whole lot of work (for the app to perform).. for very little reward. although.. |
I think it would be a good idea to look into just using a single cache for the images, without having to recreate all the thumbnail images:
|
personally, I don't like the idea of dynamically resizing images in a list view.. sure.. it requires a little extra disk space on the frontend.. to be perfectly honest.. |
@warren-bank, I had just updated to the "TV-Tracker-008.00.10-09API-release" and its much better. The size of the images are fine for myself and I'm very happy that the longer full series titles are viewable (based upon my list of shows). Thanks a Bunch! I did notice something else that applies to both from @warren-bank & @ltguillaume. When an alternative backup directory has been established successfully, it (apparently) only changes when manually backing up. When you select the "Automatically perform daily backups" opinion, that still utilizes the default directory. I hope I had explained this okay via text. ~Ibuprophen |
I can't reproduce this with my fork. |
I can't reproduce it either:
|
@warren-bank Just so you know, |
v8.0.12 adds a new option that allows the images in the ListView to be dynamically resized. the approach is kind of a "best of both worlds" solution.. |
@warren-bank, I just wanted to let you know that everything has been working well as of today's release. Though I can't state this for every single feature since I don't typically use all of them myself. Thanks a Bunch! 👍 ~Ibuprophen |
@warren-bank I was thinking about #108 (comment) and your remark
which is not true for my fork, so I thought maybe you've changed the behavior there. But judging from https://github.com/warren-bank/Android-Tiny-Television-Time-Tracker/blob/dc5614636a6f374f903f62936399c920ad6d5767/android-studio-project/TV-Tracker/src/main/java/com/github/warren_bank/tiny_television_time_tracker/database/DbGateway.java#L944 it's still the same. |
@warren-bank, I had just updated the app to "TV-Tracker-008.00.16-09API-release" and, when I performed an update to the shows, it was updating slowly and then crashed halfway through. Here's a Screenshot and a Crash Report (hoping they're helpful). Crash Screenshot - TV-Tracker-008 00 16-09API-release Crash Report - TV-Tracker-008.00.16-09API-release.txt The prior version gave me no issues. Thanks a Bunch! ~Ibuprophen |
interesting.. suppose I should wrap the loop within a test to check that the List is non-null.. I'm curious which episode in which series raised this error?.. I'm currently re-migrating my entire 140-series database.. update:
|
@warren-bank Apparently there's a lot more going on in terms of database transactions with the TMDB implementation. I think you could vastly improve the performance by
|
@Ibuprophen |
Just updated it and no issues experienced @warren-bank. Thanks a Bunch! 💯 ~Ibuprophen |
references:
observations:
|
@warren-bank I know that. I added disableWriteAheadLogging() because the amount of db operations wasn't that big and performance was okay. But there's much to gain with this new implementation. I know for sure that this was needed, but some Android versions had WAL on by default, some didn't, AFAIK. So I needed to add this when I switched to a newer Android version in order to quickly fix backups. AFAIK it's supposed to be faster because it doesn't have to write changes to the main database every time, but logs it (in a separate small file) and then commits it in batches to the main database file. |
well.. currently.. during migration:
in theory it would be possible to rewrite the migration code to:
then.. resuming sequential processing however, personally.. I have no interest in implementing parallelization; |
Do you have evidence that the fact that the code isn't multithread is the actual bottleneck, instead of the (amount of) database queries? Or more specifically, the writing-to-the-database because of the amount of separate queries? |
the time to execute each DB update.. nanoseconds for each series:
so:
I don't really think that evidence is needed.. |
totally off-topic.. but it's been a productive week; I wrote another app that you two might find useful.. and just released an initial version. a few additions/enhancements are in mind for near-term updates. |
Just to add a little info. I just installed DroidShows and Tiny... I started with DroidShows, loaded all my TV shows, about 60, etc. Then discovered the fork, installed it, restored from DroidShows backup — Tiny... then downloaded the shows, it was very slow the first time, I've refreshed a couple times with each app and Tiny takes about 3x longer, still under a minute. Note that I'm on rather slow data so it's noticeable. Just thought you might want to know. And thanks for continuing this app, amazing I just found it 🤦♂️ |
@Charles7z, Upon the 1st restore of the Droid Shows database, it will take quite some time to accomplish as mine took around an hour with a little over a dozen shows. Once this first restore is done, everything should work out much faster. This is only because the TV Tracker App uses a more up-to-date API as well as reworked coding. So the initial import is only converting the Droid Shows database information using the current API that will always result in this slow import. It's hard to explain via text, but maybe @ltguillaume and/or @warren-bank will be able to provide a better explanation. Please Enjoy! 👍 ~Ibuprophen |
@Ibuprophen it took an hour for a bit over 12 shows? That's crazy! 😉 |
I've tested a lot of move/TV tracking apps and none have every taken an hour to sync, and they are synching thousands..... Cathode which keeps a good amount of info for offline doesn't even take that long. I'm thinking something was wrong with that particular sync. On a side note.... Does anyone know of a similar app for movies? Something that's offline. Everything I've found required account login or doesn't keep data for offline viewing. Thx again |
just spotted and browsed across all this, looks like i encountered mostly already known issues, except it seems like restore of 5MB (90 shows) DroidShow backup from F-Droid 7.11.2 still not working for me (missing watched status) in LOS (A13) so opened issue. |
I've only just recently found this app. I'm absolutely loving it. Great job!
Here are a few suggestions for improvements:
when launching an "external resource" URL,
so DroidShows remains visible in the recents menu
as the top-most Activity in the history stack for its task
opens a dialog with options:
(because I sometimes like to rewatch a series from the beginning)
(because I often trigger it by accident)
should only update the shows associated with the currently selected label
that would trigger an update to shows in all labels
The text was updated successfully, but these errors were encountered: