Commit Graph

44 Commits

Author SHA1 Message Date
vvb2060 fb93af665d Remove obsolete SDK_INT check 2021-04-23 16:56:23 -07:00
topjohnwu 038f73a5f7 Remove Koin
Non static DI is bad
2021-04-18 04:46:11 -07:00
vvb2060 69b00d3782 Update dependencies
Jcenter will sunset
2021-04-17 23:44:19 -07:00
osm0sis 4dd3f55407 App: add versionCode to magisk_patched.img filenames 2021-03-24 03:06:57 -07:00
topjohnwu 60f3d62f00 Proper synchronization 2021-02-24 02:50:55 -08:00
topjohnwu 803982a271 Prevent multiple installation sessions running in parallel 2021-02-24 01:45:10 -08:00
topjohnwu 8476eb9f4b Avoid patching vendor_boot.img 2021-02-13 17:15:04 -08:00
topjohnwu e7350d5041 Fix unable to patch images when app is hidden 2021-02-07 06:42:06 -08:00
topjohnwu f37e8f4ca8 Fix boot image patching 2021-02-07 01:54:08 -08:00
topjohnwu 594c2accc0 Update dependencies 2021-02-05 04:41:01 -08:00
topjohnwu 2089223690 Fix #3785 2021-01-30 11:51:15 -08:00
topjohnwu bec5edca84 Avoiding using shell I/O 2021-01-29 05:15:22 -08:00
topjohnwu 2a5f5b1bba Workaround zip extraction bug on older devices 2021-01-27 03:00:09 -08:00
topjohnwu 3f0136362b Move nand flash handling into boot_patch.sh 2021-01-25 03:37:41 -08:00
topjohnwu e92d77bbec Some optimizations 2021-01-25 03:02:43 -08:00
topjohnwu 07bd36c94b Fix patching files
Fix #3765
2021-01-25 02:24:12 -08:00
vvb2060 96405c26d0 writeTo has closed InputStream 2021-01-23 18:12:19 -08:00
topjohnwu c87fdbea0f Fix erroneous stream close 2021-01-22 03:07:39 -08:00
topjohnwu ec8fffe61c Merge Magisk install zip into Magisk Manager
Distribute Magisk directly with Magisk Manager APK. The APK will
contain all required binaries and scripts for installation and
uninstallation. App versions will now align with Magisk releases.

Extra effort is spent to make the APK itself also a flashable zip that
can be used in custom recoveries, so those still prefer to install
Magisk with recoveries will not be affected with this change.

As a bonus, this makes the whole installation and uninstallation
process 100% offline. The existing Magisk Manager was not really
functional without an Internet connection, as the installation process
was highly tied to zips hosted on the server.

An additional bonus: since all binaries are now shipped as "native
libraries" of the APK, we can finally bump the target SDK version
higher than 28. The target SDK version was stuck at 28 for a long time
because newer SELinux restricts running executables from internal
storage. More details can be found here: https://github.com/termux/termux-app/issues/1072
The target SDK bump will be addressed in a future commit.

Co-authored with @vvb2060
2021-01-22 02:29:54 -08:00
topjohnwu 9100186dce Make emulator direct install env fix 2021-01-18 13:32:10 -08:00
topjohnwu 5a71998b4e Stop embedding magisk in magiskinit 2021-01-18 04:25:26 -08:00
topjohnwu b5b62e03af Fix copySepolicyRules logic 2021-01-16 21:45:45 -08:00
topjohnwu 79dfdb29e7 Minor tweaks for patching tar files 2021-01-11 19:47:36 -08:00
topjohnwu f983bfc883 Embed keys into dex files 2020-12-26 21:33:30 -08:00
vvb2060 8ed2dd6687 Skip query for log files and patched boot file 2020-12-19 22:26:10 -08:00
vvb2060 3e91567636 Add a suffix to magisk_patched.img
prevent it from being used as input file
2020-12-19 21:53:16 -08:00
vvb2060 984f32f994 Move copy_sepolicy_rules to manager
We don’t need it when patch boot
2020-12-19 13:58:53 -08:00
vvb2060 5833aadef5 Silence kotlin warnings 2020-10-17 05:57:35 -07:00
topjohnwu 9225b47568 Tidy up network services
Add jsdelivr CDN for several files
2020-10-06 04:58:46 -07:00
topjohnwu 67f8dc494e Properly patch vbmeta.img
Close #3241
2020-10-06 00:40:57 -07:00
topjohnwu 2f232fc670 Support modern Samsung AP.tar patching 2020-09-26 13:32:51 -07:00
topjohnwu e437ffdbae Improvements to the installation UI
- No longer show irrelevant options to the user
- No longer require an additional button press to start installation
2020-08-24 04:04:52 -07:00
topjohnwu 0e5a32b476 Close streams 2020-08-22 20:33:50 -07:00
topjohnwu 14a2f63b8b Several changes for using MediaStore
- Change config key name so default downloads to folder 'Download'
- Always use getFile as we do not need existing file deleted
- Fallback to use File based I/O pre API 29 as officially MediaStore
  APIs do not support general purpose usage. And also, it was working
  fine on all devices before. If it ain't broke, don't fix it
- Show full download path in settings to make it more clear to the user
- Close streams after using them
2020-08-22 04:38:51 -07:00
vvb2060 9e81db8692 Support scoped storage 2020-08-22 04:38:51 -07:00
topjohnwu 34450cdddd More refactoring
Cleanups, move classes to sane locations, etc.
2020-08-19 02:05:23 -07:00
topjohnwu 846bbb4da1 Reorganize app source code 2020-08-18 06:31:15 -07:00
topjohnwu b41b2283f4 Rename package 2020-07-11 05:36:31 -07:00
topjohnwu 6348d0a6fb Remove more code using RxJava 2020-07-10 04:19:18 -07:00
topjohnwu 820427e93b Have some fun with Kotlin Coroutines 2020-07-06 22:30:21 -07:00
topjohnwu 05cf53fe6f Merge files 2020-07-06 15:40:05 -07:00
topjohnwu fc05f377fb Update env fix handling logic 2020-02-28 17:44:03 -08:00
topjohnwu d0112f989c Cleanup classes 2020-01-29 01:49:59 +08:00
topjohnwu 707d7b3342 Separate core components 2020-01-13 22:01:46 +08:00