Commit Graph

22 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 5ce29c30d2 Fix sepolicy copying 2021-01-10 20:16:02 -08:00
vvb2060 50305ca1fe Support save manager log 2020-12-19 22:25:44 -08:00
topjohnwu 1232113772 Update preference migration implementation
Only try to read preference through content provider when the app
is fresh install and a previous package ID is set. Also catch all
Exceptions to prevent crashing the app.

This prevents malicious settings injection and crashes when multiple
manager is installed.

Fix #3542
2020-12-09 02:07:58 -08:00
topjohnwu 9087207dc0 Minor changes 2020-10-17 04:14:12 -07:00
topjohnwu 2e4dc91b96 Better stub hiding experience 2020-10-17 03:40:43 -07:00
topjohnwu 311c1f0dfd Switch to new repo format 2020-10-10 14:31:30 -07:00
topjohnwu 9225b47568 Tidy up network services
Add jsdelivr CDN for several files
2020-10-06 04:58:46 -07:00
topjohnwu fc19b50290 Cleanup ActivityResult callbacks 2020-10-06 02:04:19 -07:00
topjohnwu 716f06846b Use GitHub pages URLs for public channel JSONs 2020-10-03 02:51:51 -07:00
topjohnwu 241f2656fa Prepare for public release 2020-10-03 02:42:02 -07:00
topjohnwu 01efe7a4ea 100% functional manager self upgrade
Fix #2929
2020-08-28 04:46:05 -07:00
topjohnwu d6062944f1 Update snet extension to prevent crashes on release builds 2020-08-24 06:24:58 -07:00
topjohnwu 4b238a9cd0 Add feature to create launch shortcuts 2020-08-21 03:36:12 -07:00
topjohnwu 7c319f5fc3 Moar refactoring 2020-08-19 05:19:24 -07:00
topjohnwu 4bbd7989dd Update snet extension
Receive full snet payload from extension
2020-06-30 02:24:58 -07:00
topjohnwu 3c78344812 Refactor version handling 2020-06-28 06:52:02 -07:00
topjohnwu 23a33b4351 Remove core only mode
Replaced by native safe mode
2020-06-21 15:59:06 -07:00
topjohnwu 43146b8316 Update su request process
Due to changes in ec3705f2ed, the app can
no longer communicate with the dameon through a socket opened on the
daemon side due to SELinux restrictions. The workaround here is to have
the daemon decide a socket name, send it to the app, have the app create
the socket server, then finally the daemon connects to the app through
the socket.
2020-06-19 03:52:25 -07:00
topjohnwu 93aedcfeb7 Update all hardcode paths in app and script 2020-04-05 01:27:07 -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 707d7b3342 Separate core components 2020-01-13 22:01:46 +08:00