Commit Graph

16 Commits

Author SHA1 Message Date
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
4e0a3f5e72 Fix compile errors 2020-10-17 04:28:20 -07:00
topjohnwu
6bd4006652 Rename method 2020-08-28 04:50:46 -07:00
topjohnwu
01efe7a4ea 100% functional manager self upgrade
Fix #2929
2020-08-28 04:46:05 -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
1ed67eed35 Rename classes and fields 2020-08-21 06:45:40 -07:00
topjohnwu
abc5457136 Cleanup DownloadService 2020-08-21 06:27:13 -07:00
topjohnwu
7c319f5fc3 Moar refactoring 2020-08-19 05:19:24 -07:00
topjohnwu
34450cdddd More refactoring
Cleanups, move classes to sane locations, etc.
2020-08-19 02:05:23 -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
Viktor De Pasquale
6907651756 Updated flash screen so it's a fragment
The FlashActivity has been removed and all of it's functionality has been transferred to the FlashFragment.
The FlashFragment needs to be however launched in a different way than the activity using the MainActivity's stub and so seemingly massive changes had to be made.

Notably the RemoteFileService didn't seem to be calling Service.startForeground(), which has been crashing the application due to the system requirements, so that's been fixed.
2020-03-26 03:42:52 -07:00
topjohnwu
fc05f377fb Update env fix handling logic 2020-02-28 17:44:03 -08:00
topjohnwu
707d7b3342 Separate core components 2020-01-13 22:01:46 +08:00