Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 40 million developers.Sign up
- completely rewrite Arabic search - in sha' Allah it's much better now (#1164)
- improve readability of tafaseer (especially Arabic ones) (#1167)
- Hungarian app translation (#1163)
- Bosnian, Croation, and Serbian app translations (#1130)
- lots of logging to try to track disappearing images (#1156)
- add a normal DNS provider for http fallback (#1160)
- fallback failed requests for audio and data to http (#1161)
- minor improvements to sharing (#1157)
- many patches simplifying image checking code (#1150, #1152, #1153, #1154, and #1155).
tldr; this release should actually fix the ANR in sha' Allah by properly handling media buttons.
the longer version - there were plenty of ANRs happening due to calling
startForegroundService on the
AudioService without actually going in the foreground. across many releases, various fixes were made to try to fix this (both fixing many potential performance issues, making sure the service started sooner, and dropping the
startForegroundService call from all services and calling
startService instead for all of them (since the app was always in the foreground at the time anyway). none of these actually fixed the problem, and the ANR remained the same, despite not having any
startForegroundService calls in the app.
it turns out that
MediaButtonReceiver handles a media button press by starting a foreground service. this is actually perfectly consistent with the ANR - 1. it happens when starting
AudioService in the foreground as the ANR message suggests, and 2. the app, in fact, never went to the foreground except for
This release tackles some audio playback related issues that are likely causing ANRs.
- Don't set the state to
start()is called on the
MediaPlayer. This is important because not doing so allows calls to pause, next, and previous to go through, all of which are illegal before
MediaPlayer's started state is reached. Consequently, these cause an error to be thrown, which kills the foreground notification, which could be a cause of ANRs due to starting the foreground service without starting foreground (#1113).
- Any new play request now always overrides the previous play request (#1114). This is just good practice, though it doesn't have any effect except simplifying the code, especially considering the next point.
- Block the toolbar from playing when loading is in progress (#1116).
AudioServiceruns most logic off the ui thread now
- starting a foreground service should be a bit faster now
- various bug fixes around checking for existing files
mostly a bug fix release.
- force complete sura names #1002 (jazakAllah khairan @fikr4n)
- normalize sura names #883 (jazakAllah khairan @fikr4n)
- fix a plethora of highlighting issues #1098
- fix 9:1 starting with sura name #1105
- foreground service improvements #1099
- better translation list handling #1100 and #1104
- improve logging to help debug when people lose their images #1102 and #1103
- fix dual page translations not working #1090
- fix a bug causing downloaded Arabic tafaseer to immediately disappear
- write code to fix people's devices stuck in that wrong state (the tafseer would be downloaded and would render, but wouldn't appear in the lists of available tafaseer and wouldn't use its capabilities (ayah highlighting, etc) unless the person visited the translation screen again and left it).
- fix sharing when Arabic database doesn't exist
- fix tags being broken
- fix some bugs around translation updating
- bundle updated Arabic databases with the app