Profile cover photo
Profile photo
I enjoy Android development!
I enjoy Android development!

darken's posts

Post has attachment
SD Maid v4.6.4 is now rolling out.

• Updated translations and clutter database
• Improved clutter matching (regular expression support)
• A few crash fixes
• Internal code changes to improve automated tests

Post has attachment
Sorry for the late post, so yeah there is a new beta, v4.6.4.

The changes are mostly under the hood.
I've refactored code to improve unit testing and also improved the clutter matching system.
So now instead of defining "/sdcard/AppDev"<>"com.appdev.someapp", "/sdcard/AppDev"<>"com.appdev.someotherapp" etc., we can just create a clutter marker "/sdcard/AppDev"<>"com.appdev.*".
This reduces the chance for false positives as now any new app matching this pattern would automatically be matched correctly instead of requiring a manual database update.

Post has attachment
SD Maid v4.6.3 is now the latest production version and currently in staged rollout.

• Faster AppCleaner deletion and scan
• Support for `/data/sdext2`
• More StorageAnalyzer infos.
• Corpse filter for Link/App 2SD
• Faster AppControl scan and more details without root
• Fixed copy/export issue to emulated storage
• Improved binary setup on MIPS/X86
• Updated clutter definitions & translations
• Various UI tweaks & internal code changes.

If you want a few more details than what the changelog provides, checkout these posts.


v4.6.1 - v4.6.2:


Post has attachment
SD Maid v4.6.3 because there is always something to improve.

I've changed the way SD Maid detects the correct architecture for a device. This mainly affects X86 and MIPS devices where SD Maid used the ARM binary due to emulations modes existing that could make this work. SD Maid should use the "preferred" architecture in most of these cases such that emulation modes are not used. I'd love some feedback from people with non-ARM devices whether a difference in performance is noticeable.

In v4.6.2 I introduced a bug that was actually nice to have. The change caused SD Maid to crash if APK export failed (because SD Maid tried to read a value out of an empty list). Within the crash reports i spotted that the reason for the failing export was actually another bug within the "ShellTasks" that SD Maid executes (ShellTasks are SD Maids Java wrapper for IO operations via shell). Whether something fails is usually detected via shell command exitcode. In this case it was not the actual `cp` command that failed but a `mount` command before and after it. If necessary SD Maid can remount read-only storages to make modifications. This is internally done by supplying an `autoRemount` flag when creating the ShellTask. For safety reasons this is usually only set for tasks originating from Explorer, Searcher or AppControl, as other tools don't have a reasonable use-case where they need to delete something from a read-only storage.
Checking the code I've first noticed that not all ShellTasks actually honored the `autoRemount` flag, move+delete did, but copy didn't. So the task shouldn't have attempted to remount anyways, checked and fixed this for all tasks where this was not the case. Bug fixed, case closed, go to sleep.
Wait a sec. Why was it remounting anyways, doesn't the export by default go to primary public storage? When has that ever been mounted read-only... Checking crash logs again I could see that SD Maid looked up the mountpoint for `/storage/emulated/0` and returned `/`. So SD Maid couldn't find a closer match than that and just went with this. Well emulated storage is always a special case so I've just made the decision to exclude all storages flagged as `EMULATED` from remounting.
Why did remounting `/` fail though, SD Maid can remount that... oh the crashing device were not rooted... remounting without root doesn't work in any case I know, so lets also automatically set `autoRemount` to false on shells that are not running with root. So the little export crash actually helped fix 3 different issues.
A bit more extra refactoring work and I could also test this well so I added ~20 unit tests to cover these remount cases. I'm quite happy with the results. The world of Android and rooting never stops suprising :).

Post has attachment
SD Maid v4.6.2 gets us ready for a production release.

Polishing, small bugfixes and few UI tweaks.

Post has attachment
SD Maid v4.6.0 brings a few long desired improvements.


* Lots of new clutter data and translations improvements, thanks to everyone who contributed!

* AppCleaner got performance improvements. Deletion is a lot faster, the new code no longer needs individual item deletion to allow for exclusions.

* Support for Link2SD/Apps2SD. SD Maid now detects the `/data/sdext2` location. StorageAnalyzer will show it for comparison, and CorpseFinder has a new filter that specifically looks for corpses in `/data/sdext2` and on sdcards in `Link2SD` and `Apps2SD`.

* AppControl scan is a bit faster and no longer needs root to determine force-stopped apps.

* SD Maids double tap to exit no longer vibrates if you turned haptic feedback off in the system settings.

* Did quite a lot of internal code changes that (hopefully) won't have any effect now, but will allow me to write better unit tests, so more of an investment into the future for less bugs and more stable code ;), modularity ftw!

Post has attachment
Made a small new app named "Bluetooth Volume Control" :).

It saves volume settings for each device and restores them when that device reconnects. You can configure volume in the app or just use the volume buttons.
The app is free and without ads. Would love some feedback!

No more manually setting the volume to 100% when listening through a car stereo! Now if only Spotify would fix their playback too ;)
Anyone else having the volume or Spotify issues?

Thanks for the icon +Max Patchs.


Post has attachment
SD Maid v4.5.9, can never have enough fixes.

* Fixed UI issues introduced with last android support library update.
* AppControl should now correctly handle cases where a package-restriction XML file exists, but is empty (instead of crashing or ignoring it).
* StorageAnalyzer better handles cases where an item within the file tree we try to generate could unexpectedly not be found. Logs indicate this either happens when the file was unexpectedly deleted or the filesystem returns corrupt metadata.

Post has attachment
SD Maid v4.5.8 brings small tweaks & fixes.

* Scanning of `/data/system_ce|de` since v4.5.5 broke the SystemCleaner filter for `/data/system/dropbox` this is now working again.
* Due to not being able to detect recovery modes, the directories `TWRP` and `clockworkmod` have been flagged as common and will no longer be suggested as corpses.
* Blocking SD Maids internet access via firewall should no longer delay the initialization. Previously SD Maid was blocking and waiting on the time out for the update check. The timeout still happens now, but it won't keep SD Maid from continuing anymore.
Wait while more posts are being loaded