31 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
9100186dce Make emulator direct install env fix 2021-01-18 13:32:10 -08:00
RikkaW
0df891b336 Handle window insets with a new way
For example, switching pages in home should only have scale and alpha animations, but a "translate y" animation shows. This is because Data Binding is triggered later (like "in the next frame"), causing the animation runs before view attribute changes.

This commit introduces WindowInsetsHelper class and use it to handle all window insets. With the help of LayoutInflaterFactory from the previous commit, we can control insets behavior by adding our attributes to the XML and anything is done by WindowInsetsHelper class.

As changes are highly coupling, this commit also contains new ItemDecoration for lists, replacing the random combination of padding and empty drawable. And "fixEdgeEffect" extension for RecyclerView, making edge effects respect padding.
2020-11-19 23:24:39 -08:00
vvb2060
1ad7a6fe93 Update activity display when download fails 2020-10-17 05:54:34 -07:00
topjohnwu
46de1ed968 Better handling of data encryption 2020-09-28 04:45:56 -07:00
vvb2060
8df96ff664 Fix string 2020-09-23 20:57:19 -07:00
topjohnwu
0ef92a4866 Hide OTA option on Pixel devices 2020-09-23 04:49:38 -07:00
topjohnwu
85bef8fa96 Fix install fragment changelog 2020-09-23 04:49:38 -07:00
nikk
f575155a41
Fix focus on main elements in Modern UI
Co-authored-by: John Wu <topjohnwu@gmail.com>
2020-09-21 03:27:29 -07:00
topjohnwu
2dbaf9595c Remove strokes from most cards 2020-09-17 02:27:43 -07:00
topjohnwu
782adc9a9f Cleanup some styles 2020-08-29 21:42:05 -07:00
topjohnwu
7e133b0cf4 UI tweaks for pre API 21 2020-08-27 05:46:41 -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
ccde8b73a2 Cleanup install screen layout 2020-08-24 00:19:08 -07:00
topjohnwu
1fcf35ebeb Do not hardcode appcompat widget classes
They should be handled by the theme
2020-08-19 05:19:24 -07:00
topjohnwu
ac2a9da4c4 Fix Markdown rendering
Close #3074
2020-08-14 02:00:06 -07:00
topjohnwu
6348d0a6fb Remove more code using RxJava 2020-07-10 04:19:18 -07:00
topjohnwu
706eba329d Add release notes to the install fragment 2020-07-04 02:55:19 -07:00
Viktor De Pasquale
6b0854749f Added setting resetting state on install screen
It will additionally show that download is complete rather than being stuck on loading.
2020-03-30 21:58:26 -07:00
topjohnwu
64f5ff5475 Use global A/B detection 2020-02-28 10:30:53 -08:00
Viktor De Pasquale
0492e63862 Added unified switches to install screen 2020-02-11 10:42:05 -08:00
topjohnwu
e6f443cb24 More backwards compatibility 2020-01-17 00:40:16 +08:00
topjohnwu
3490ba0a56 Redesign is now the new norm 2020-01-13 00:43:09 +08:00
Viktor De Pasquale
cc7e47bbb6 Added themes
All files (that used styles) were refactored to use styles directly so themes can only actually adjust colors
 - Elaborate themes would be super hard to maintain and would certainly break over time
2019-11-22 19:29:53 +01:00
Viktor De Pasquale
8e412bee5f Updated radio button sizes 2019-11-01 19:15:05 +01:00
Viktor De Pasquale
da707afa3f Updated install ui to better fit app's theme 2019-10-26 17:40:29 +02:00
Viktor De Pasquale
5f4718cd13 Added string resources for install screen 2019-10-25 19:17:13 +02:00
Viktor De Pasquale
3cc5cb3123 Updated the install flow
Now the binary is downloaded after user selects a method. It also shows download progress as the file's being downloaded
2019-10-25 19:13:54 +02:00
Viktor De Pasquale
04576ca828 Added install implementation 2019-10-23 19:14:39 +02:00
Viktor De Pasquale
17fb8f2298 Added new magisk install flow 2019-10-22 20:46:09 +02:00
Viktor De Pasquale
e50094af80 Added install fragment 2019-10-22 16:29:01 +02:00