Next release: Dec 2 - 6, as necessary; pushed back due to Thanksgiving.
SAF Integration:
- PR #292, #172, SAF integration from @K1rakishou. Go try out his library for SAF stuff if you're developing an Android app yourself! THIS IS NOT AN EXPERIMENTAL SETTING. Since the app has fundamentally changed as a result of this, there is no experimental toggle. You are able to choose a SAF or normal directory when selecting the save location.
- As an addition to this, a small fix to the cache file get function, where the file not existing prevented any files from being picked in the file picker.
- PR #400, #397, fixes some file and directory name filtering to allow for hyphens in files and directories. Spaces are currently replaced by underscores once again, to better and more easily deal with SAF; from @K1rakishou.
- PR #399, #409, #423, SAF fixes and improvements, as well as some others; from @K1rakishou:
- No more warnings when moving files from one base directory to another, or when deleting files in the old base directory after moving them
- Now can't select the same directory in SAF and the Java File API
- You won't be able to select the same directory for both saved files and local threads, due to limitations in the current library
- Threads being downloaded will be marked as stopped when exporting settings to an SAF directory
- Prevents you from deleting your files when moving to a subfolder of your current save location
Features:
- The image reencoder preview will now display a higher resolution image than before. This should be a negligible impact as files displayed are stored locally.
- Post number GETs can be turned on as an experimental setting. They will appear next to the post number in the post cell.
- #275 partial, all the greentext, spoiler, code, math, and eqn tags are now context menu items in the reply window.
- #140, math and eqn tags have been added for /sci/ in the reply window. Note that because of #275, they are context menu items instead of buttons.
- Deadlinks in the OP of a thread will now automatically link to the first archive site populated in the ArchivesManager, under the assumption that they are thread links (which they usually are). Deadlinks in other posts will not automatically link due to a lack of information for archive linking.
- Durations are now a new experimental setting that works in tandem with Youtube titles. They will be appended to the end of the title, in brackets, if available.
- PR #402, #381, when downloading a file and an IO error occurs, the application will now retry 3 times to download the file before giving up. If an image is unable to be saved, the reason will be displayed in a toast; from @K1rakishou.
Fixes:
- #405, fixes being unable to post new threads.
- #151, fixes the issue of images sometimes not correctly displaying the full size image and only showing a thumbnail, despite downloading it into cache.
- #414, the current reply file name will be retained when image reencoding and not removing the filename.
- #416, fixes a crash caused by toolbar items attempting to be detached while not being attached; this will now be ignored.
- #345, fixes a crash where if the presenter isn't bound, an NPE is thrown when binding a post cell; the app now assumes that it is in thread mode if this occurs.
- #425, fixes an issue where sometimes the comment box in the reply window would no longer be able to be selected. Related to an issue solved in commit 3197d4.
- PR #399, #415, image sharing works once again; from @K1rakishou.
Other minor changes:
- #406, updates for pin thumbnails not matching the thread.
- The keyboard will clear itself if you open up an image for reencoding.
- Images from 404'd posts are no longer added to the image viewer when opened, as their images were not viewable.
- PR #426, #421, if you are downloading a thread, the image loader will now always try to load a local thread image if available; from @K1rakishou.
- When sharing an image, only a maximum of 2 copies will now be saved; the usual one as if you had saved the image, and a second one with "_shared" appended to it.
- #422, Spoilered files (now called
spoilered file
, instead ofspoiler image
) will have their file extensions displayed in the toolbar; PDFs will now display a message saying they are not internally viewable. - PR #403, #398; #424, increases the number of display pixels for registering a swipe left/right in both the Phone layout mode and in the image viewer from 3 to 10; from @K1rakishou with a fix from me.
Development Builds:
- #417, #418, development builds provided on K1rakishou's server now are able to be automatically updated from in the application. You will likely have to manually install the new APK, so export your stuff before uninstalling/reinstalling the app.
- #408, fixes the updater not being able to install the downloaded update APK on some systems. Thanks to @K1rakishou for some debug info that was very helpful.
- PR #401, #395, introduces Leak-Canary for development builds. These are either when you are developing yourself, or are using one of K1rakishou's development builds; from @K1rakishou.
- PR #411, #410, fixes a memory leak in BrowsePresenter; from @K1rakishou.
Project Level Notes:
- All time conversions now use TimeUnit as their implementation rather than manual multiplication, for readability and consistency.
- The StrictMode debug has been removed. It wasn't even used by the developers and anyone running a debug APK would have to deal with it slowing performance.
- The project now has a specific codestyle XML document. The code has been updated stylistically to comply with the format.
- A number of new AndroidUtils functions to simplify code (getString and showToast, notably).
- PR #402, computation thread checks have been added in a number of locations; a number of older thread checks have been converted to use these new methods.