Commit graph

322 commits

Author SHA1 Message Date
rushiiMachine
a8c542b7d3
feat: strip native libs of other archs to shrink APK size
Fixes #76
2025-03-03 19:39:41 -08:00
Crowdin Bot
f938982f57 chore(i18n): sync translations 2025-03-01 17:19:07 +00:00
Crowdin Bot
b47264d049 chore(i18n): sync translations 2025-02-22 17:20:24 +00:00
rushiiMachine
fe6fe5367a
feat: disallow enabling keep patched APKs when external cache directory doesn't exist 2025-02-19 23:18:45 -08:00
rushiiMachine
a1e7594698
feat: always use Ktor downloader
Android's DownloadManager has too many issues at this point, it's become unbearable. SecurityException here, random failure there, horrible logging, etc.

It's much more reliable to directly use an HTTP client to download our stuff. Maybe I'll reimplement the download progress notification separately.

Also turns out you can't use Android's DownloadManager to download to the app's internal data directory. very funny.
2025-02-19 22:47:28 -08:00
Crowdin Bot
b2e5353abc chore(i18n): sync translations 2025-02-15 17:19:05 +00:00
rushiiMachine
37d1dc88cb
feat: don't add monochrome icon when unavailable 2025-02-14 12:29:14 -08:00
rushiiMachine
88871fca70
fix: use internal app cache by default
Some devices don't support external cache for some reason, just default to internal cache instead.
2025-02-14 11:56:24 -08:00
rushiiMachine
bb0d389bd5
feat: check Aliuhook version when determining if installation up-to-date 2025-02-09 21:42:41 -08:00
rushiiMachine
534ee3c064
refactor(SemVer): remove persisting v prefix
This was unnecessary and introduced uncertainty wherever this value is serialized.
2025-02-09 21:33:46 -08:00
rushiiMachine
197c20fbaa
feat: use rememberSaveable where applicable 2025-02-09 18:51:08 -08:00
rushiiMachine
5818526d77
fix(PatchingScreen): hide abort warning dialog on state change 2025-02-09 18:35:07 -08:00
rushiiMachine
5554e1dd31
feat(ThemeDialog): add option icons 2025-02-09 18:27:40 -08:00
rushiiMachine
4aabe9fa6a
feat: update all material icons and fix sizing
There's been a bit of a redesign since the last time I obtained most of these icons + new tint.
2025-02-09 17:49:43 -08:00
rushiiMachine
0b32488736
feat: cleanup dialog UIs 2025-02-09 17:14:57 -08:00
rushiiMachine
21e4a60fb3
feat: request permissions to install from unknown sources before patching 2025-02-09 15:23:34 -08:00
rushiiMachine
e9d233861f
feat(PatchOptsScreen): change title if is update 2025-02-09 15:19:00 -08:00
rushiiMachine
300952ad21
feat(PMInstaller): don't relaunch install prompts until result received
This was supposed to fix one type of ROM bug where clicking outside of the install prompt would never return a result to the application. However, the workaround was to keep relaunching the install prompt until the user either actually clicked install or cancel. This apparently is also incorrectly handled by a lot of ROMs and causes the install prompt to keep relaunching, even after pressing the install button.

I don't think there's a good solution, so I'll just remove the relaunching behavior since it's more annoying to the user.
2025-02-09 14:10:02 -08:00
rushiiMachine
bb5a38d85f
feat(PatchOptsScreen): hide advanced options if dev mode disabled 2025-02-09 13:54:29 -08:00
rushiiMachine
ed22fa02af
fix(HomeScreen): install button sizing 2025-02-09 13:49:35 -08:00
rushiiMachine
fd672a1506
feat(SettingsScreen): improve UI 2025-02-09 13:40:39 -08:00
rushiiMachine
b206041146
feat: transition aliuhook versioning to semver 2025-02-09 13:08:44 -08:00
Crowdin Bot
8ba1f6d60b chore(i18n): sync translations 2025-02-08 17:18:08 +00:00
rushiiMachine
8214d6baa0
fix: proper install up-to-date checks 2025-02-07 19:43:28 -08:00
rushiiMachine
39c3ed7da2
feat: remove quotes from installed item card
User feedback
2025-02-07 18:06:23 -08:00
rushiiMachine
b9471f8d99
fix(Navigation): make all screens parcelizable
This is to ensure state can be saved when minimizing the activity.
2025-02-07 17:31:01 -08:00
rushiiMachine
a07ba8c57f
fix(IconPatcher): wrong namespace for adaptive-icon patcher 2025-02-07 17:09:04 -08:00
rushiiMachine
97173f9ff9
feat: use debug signing config when no release config present
Useful for building release without having to sign manually.
2025-02-07 17:08:30 -08:00
rushiiMachine
bf4666ddc5
chore: updater dependencies 2025-02-07 15:35:39 -08:00
rushiiMachine
f6c199b6de
fix: disabling icon replacement
This is gonna get replaced by an actual icon options impl later but fix this for now at least.
2025-02-07 15:14:24 -08:00
Crowdin Bot
bb673ee790
chore(i18n): sync translations 2025-02-07 15:13:19 -08:00
rushiiMachine
00ec8fadc9
refactor: clean up InstalledItemCard 2025-01-25 12:25:29 -08:00
rushiiMachine
0c43b3f0b6
fix: show network warning dialog for all ui paths
Previously this dialog could only be seen on the home screen when the patch options screen is about launched due to pressing the Install button. This did not include updating existing installations which also launched the patch options screen. I moved the warning dialog to the patch options screen directly instead.
2025-01-25 12:08:27 -08:00
rushiiMachine
b7f2e7abe5
feat: make Aliucord installation update button work
Launch a patch opts screen with prefilled options based on the previous install.
2025-01-25 11:21:14 -08:00
Crowdin Bot
0fc27c95b9 chore(i18n): sync translations 2025-01-25 17:17:35 +00:00
rushiiMachine
56bf5219f3
feat(Home): Aliucord installation up-to-date check 2025-01-25 00:35:11 -08:00
rushiiMachine
7737d2aaa5
fix(Patching): multi-install detection
Add attributes to patched manifests for identifying Aliucord installations.
2025-01-25 00:33:27 -08:00
rushiiMachine
ae9a9c7bad
refactor(PluginsScreen): better plugin data structure 2025-01-24 15:41:59 -08:00
rushiiMachine
1921237230
feat(PluginsScreen): adhere to no hyperlink plugin manifest property 2025-01-24 15:40:40 -08:00
Crowdin Bot
05cd6daf43 chore(i18n): sync translations 2025-01-23 02:55:59 +00:00
rushiiMachine
0fc8a5d6db
perf(Patcher): don't compress zip entries that will be aligned later 2025-01-22 18:55:07 -08:00
rushiiMachine
543360eadb
feat(ManifestPatcher): remove vmSafeMode attribute
Unnecessary since GrapheneOS didn't enable aggressive AOT until recently (which was already API >= 29) and is that branch covered by another workaround.
2025-01-22 18:53:36 -08:00
rushiiMachine
5af13c9e05
Revert "feat: add warning for GrapheneOS when applicable"
This reverts commit 123b2e601d.
2025-01-22 18:36:00 -08:00
rushiiMachine
137bb41287
fix(strings): fix outdated typos 2025-01-15 01:47:06 -08:00
rushiiMachine
3bbd1bebed
feat: use extractNativeLibs to reduce installed app size
While this increases the APK size, it also reduces the installed size due to libs not having to be extracted.
2025-01-15 01:47:06 -08:00
Crowdin Bot
ac33d65bcf chore(i18n): sync translations 2025-01-15 06:26:42 +00:00
rushiiMachine
a33fa59c3b
refactor: reformat 2025-01-14 22:25:43 -08:00
rushiiMachine
f679632c1e
chore: add another fun fact
thanks zt
2025-01-14 22:25:42 -08:00
rushiiMachine
5eeeb4fb45
feat(HomeScreen): better empty page layout 2025-01-14 22:25:42 -08:00
Crowdin Bot
af98fc6e99 chore(i18n): sync translations 2025-01-14 02:39:07 +00:00