Skip to content

UI changes, crash fixes galore, and general improvements!

Compare
Choose a tag to compare
@Adamantcheese Adamantcheese released this 22 Feb 09:37
· 1688 commits to multi-feature since this release

Next update: ??

GENERAL IMPROVEMENTS

  • #557, #559, #624, updates to gestures and exoplayer views. Gifs are now double tap to pause again, single tap to close. Players now don't display their controls by default, and a single tap will bring them up, and another tap will close the controls. Double tapping a video will play/pause it. Players now also display if they are buffering (for streaming, a black screen with no feedback felt wrong, which was the reason why it was removed previously).
  • Post image thumbnails being downloaded will now be cancelled when detached from the window (ie scrolled offscreen). This improves thumbnail loading time and network usage.
  • #590, #623, if an out of memory error occurs while loading an image file, try to run the garbage collector. Also adds in a commented out block in the uncaught exception handler for memory dumps.
  • #625, reverts a small change that allowed an unintended feature to work; double tapping a post while searching will close the search and scroll to that post.
  • #591, basic custom flag support for /pol/ for 4chan. If flags are requested on other boards, I will only accept a PR.
  • #144, /jp/ and /vip/ now support SJIS tag rendering and the associated context menu item.
  • The wake manager will now be triggered whenever the app enters the foreground.
  • PR #547, #383, add 8kun as a site. Thanks to @jirn073-76 and @K1rakishou for the implementation!
  • PR #653, #651, adds in privacy masking for image URLs, thread titles, and OP ids, so your reports aren't filled with all the lewds you're looking at.

UI CHANGES

  • The toolbar has been adjusted even more; the title now takes up a little more space, menu icons have been spaced out further, the entire title area is clickable in catalog mode rather than just the text; for the catalog, the board code and board name are now on different lines. These changes are up for reverting/changing if people don't like them. (Also #592, #614, #607, #610 for bringing up an issue in implementation quickly and making me rethink how to implement the board name/code change)
  • #561, you can now refresh the catalog when searching.
  • Snackbars should not be so eager to appear anymore when there are new posts, ie they should now apply to the actual thread you're in and opening up your phone after a lot of loading has happened should not spam the screen with unrelated Snackbar instances.
  • The captcha checkbox now has a setting for its location on the screen; top or bottom, left hand side only as a result of captcha rendering not being controllable (thanks Google). Tablets do not obey this setting for ergonomics.
  • #577, when tapping report from a replies popup, the replies popup will be closed so that the report view is visible.
  • Fixes the album download icon being grey.
  • #632, the archives list is now displayed only if there are archives to be displayed. In addition, the archives submenu button has been disabled for sites other than 4chan.
  • #352, when using a pre-entered captcha and posting an image, the progress spinner will properly be displayed now.
  • The update download progress window can be dismissed, so you can continue browsing while an update is downloaded in the background.
  • #660, the Tomorrow Black and Black themes will now highlight pin cells when tapping them; other themes are not affected.
  • #664, fixes an issue where if the right controller in slide is not set (generally on app start) and then you swipe back to the left controller, the toolbar would not render correctly.
  • #602, a UI change for exoplayer instances to swap the nav bar and buttons, and add some padding to alleviate Android 10 gesture issues.

CRASH FIXES

  • #582, #588, #621 fixes issues on Android 10 with last page notification and image saver notifications crashing the application due to new Android restrictions.
  • #565, pass the context in to every Toast instance, to prevent some weird crash.
  • PR #603, #593, fixes a crash caused by a thread update happening at the same time as sliding the thread in Phone layout.
  • PR #605, #589, fixes exceptions leaking out into crash logs when they were not fatal.
  • PR #604, #592, all hint popups will be dismissed when their respective attached controller is destroyed.
  • #611, #618, fixes a crash caused by a race condition between a touch tracker and an animation-bound runnable when using the Phone layout mode and swiping away threads.
  • #594, fixes a crash caused by a null snackbar, somehow?
  • #596, adds synchronization to a method in the watch notification class to prevent some weird crash.
  • #619, fixes a weird crash that literally doesn't follow the stacktrace.
  • #630, fixes a REALLY weird crash that makes no goddamn sense looking at the stack trace. How do you fail to inflate XML layouts packaged literally in the application?
  • #631, #662 fixes a crash caused by a null file being tapped on to reencode.
  • #628, fixes a weird race condition crash thing maybe? The logs didn't make sense for this one; also fixes a crash caused by a background update; also mitigates another thing. Don't do this, spread your issues out, most of these had unrelated solutions despite having similar causes.
  • #639, fixes a crash with WebView instantiation, presumably?
  • PR #648, attempts to fix FileNotFoundOnTheServerException being thrown and sometimes crashing the application instead of being ignored.
  • #644, fixes a crash where a dialog box would try to render on update, but would crash the app if it was not in the foreground when the update message was received and processed.
  • #645, fixes a crash where a hint popup would try to render after a delay, but would crash the app if it was not in the foreground when it tried to be rendered.
  • #628, #649, fixes a crash when scrolling to a marked post (by clicking a link inside it) when in the background.
  • PR #658, #657, fixes a crash caused by some code being run on the incorrect thread.
  • PR #652, #585, #629, #537, possibly #580; additional logs for #579, #638; fixes some issues with SAF and directories not being created. Refactors MediaSettingsController into several subclasses that better encapsulate functionality.
  • #665, update alert dialogs will now only show when in the foreground, to prevent crashes.
  • #667, removes some particularly shitty architecture to fix a crash when tapping something.
  • #670, fixes a crash where an audio session ID was assigned to an exoplayer instance that was already removed.
  • #677, fixes an NPE when tapping on a cross board link when the database did not have that board inside (notably on DYNAMIC board specified *chans).

GENERAL FIXES

  • PR #564, #563, fixes a local thread prefetch issue.
  • PR #575, #562, fixes an issue with image requests not being cancelled when an image is 404'd.
  • PR #576, #574, fixes an issue with sites that have a period in their name generating folder names that have periods in them, when periods are not allowed in directory names.
  • PR #606, #571, adds a debouncer to the update method in the watch manager, to prevent it from being called several times being quickly and screwing up notifications.
  • Fixes an issue where certain special characters in Youtube titles would cause them to fail to be correctly parsed and displayed.
  • Fixed an issue with very vertical images being swipe to close in both directions when zoomed out, rather than swipe up only.
  • PR #612, #609, disables retry-on-IO-error functionality with gallery viewing and prefetching. Also adds a number of logs for debugging.
  • PR #647, #640, fixes a strange synchronization issue in the file cache system.
  • #676, adds some mitigation for shift-post-format threads scrolling to the top randomly when a reply is posted.
  • If no filter loaders are generated in onWake, the wakelock will now be promptly removed.

DEVELOPMENT WORK

  • PR #586, #584, adds a bunch of logging and checking for null post image URLs.
  • PR #599, #568, the dev endpoint now point to an HTTP/HTTPS location; this also means that automatic reporting should work on release builds.
  • #614, LeakCanary has been updated.
  • The Controller stack is now an actual Stack instance rather than an ArrayList, because that makes more sense.
  • String settings now go to their default value when cleared and OK is pressed.
  • #525, the dev updater will no longer, on auto update, tell you to update to a commit that is the same as the version you're running.
  • Debug crashes from the developer menu will no longer be automatically uploaded, if enabled.
  • A number of small code changes for maintainability; mostly amounts to removing duplicated code and reusing other code.
  • PR #646, #642, #637, #617, a number of logging and reporting improvements to better catch issues.
  • All images will be upgraded to HTTPS, as cleartext is not allowed on release builds.
  • #659, if a backup APK is failed to be created for any reason, it shouldn't crash the app.
  • #671, #583, #581, #666, a library update to get rid of a memory leak. (Note if many people have snackbar rendering issues, this will be reverted as it is a known issue, #674)
  • PR #680, library updates.