Some bugfixes and performance improvements #12
Conversation
Introduced font caching to avoid the repeated creation of the normal and custom fonts. This resolves the visible pause on the progress screen when there are a lot of items in the remaining queue.
The detail page never had the chance to load the actual details for the selected symbol because the loadData() method always ran before the async request to fetch the data completed.
The item types were incorrectly compared against strings instead of the appropriate enum variants.
Thanks for the contribution! Must have been painful...fixing that code. 😛 |
Note: ItemDetailsActivity is messed up at this point. Not sure if anything here did it. Won't be looking into it much though as I'll be working on a redesign there. |
The ItemDetailsActivity seems to work for me, what's the issue you're having? |
Try a Kanji item that is burned. Some fields (User synonyms, reading/meaning notes) that should be |
That would explain it, I only have stuff that's enlightened at everything seemed fine there. One things that is messed up is Radicals/Kanji/Vocab lists, I think I missed some enum<->string comparisons. I'll send an other PR to fix it. |
No issues. 👍 |
Oh, never mind, the indicator on those lists is the SRS level. It's confusing since it uses the same colors for Radical/Kanji/Vocab as Enlightened/Apprentice/Guru. I've been thinking about doing some performance improvements and fixing #5, but if you're doing a redesign then I'm probably not going to do it (it's a fairly time-consuming task). |
Well, I'm only using what the site uses itself, so yeah... I'm doing the redesign only on the ItemDetailsActivity. Not much else. Feel free to work on that. |
Redesign done in ddd2939. |
This should fix the bugs in the Critical Items and Recently Unlocked views. It also speeds up the Progress Details screen by caching fonts (it previously froze my phone for a few seconds, now it works as expected).
Closes #10