Commit Graph

362 Commits

Author SHA1 Message Date
topjohnwu f88e812b63 Move behavior to XML 2021-02-13 15:26:32 -08:00
topjohnwu 63590d379c Update hide icon strategy 2021-02-11 22:38:41 -08:00
topjohnwu 5f63e88984 Hide icons when things don't fit 2021-02-11 05:08:40 -08:00
topjohnwu 75584e2b19 App string resources overhaul 2021-02-11 02:34:27 -08:00
topjohnwu c609a01e55 Proper shortcut name 2021-01-24 08:00:17 -08:00
topjohnwu 657056e636 Cache changelog files 2021-01-24 06:55:43 -08:00
topjohnwu 658d74e026 Update home fragment 2021-01-24 00:02:49 -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
Rikka 95a5b57265 Remove "Flashing" overlay
Fix #3579, fix #3250
2021-01-15 21:28:59 -08:00
topjohnwu 8e61080a4a Preparation for hiding isolated processes 2020-12-30 15:55:53 -08:00
RikkaW 4dbf7eb04b Fix spacing in module filter list 2020-12-06 23:49:23 -08:00
RikkaW 3b5c9abf7a Remove filterTouchesWhenObscured in Magisk dialog
Fix #3363
2020-11-19 23:32:23 -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
RikkaW fa3ef8a1c1 Significantly simplify MagiskDialog layout
The goal of original implementation, wrap view again and again, seems to be use the shadow and customizable round corners from MaterialCardView. But this can be done with use MaterialShapeDrawable which used in MaterialCardView directly. This will significantly simplify the layout and MagiskDialog class.
2020-11-19 23:21:36 -08:00
vvb2060 533cb8eb58 Tapjacking protection 2020-10-22 02:40:47 -07:00
vvb2060 468796c23d Add option to show OS apps 2020-10-17 05:57:43 -07: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
topjohnwu 41f5c8d96c Magisk Manager always have to be upgraded first 2020-09-24 03:16:43 -07:00
Viktor De Pasquale 63a9a7d643 Fixed bottom bar not hiding on device without root 2020-09-24 00:51:08 -07:00
vvb2060 a6950b8aca Add failed state 2020-09-23 20:57:19 -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
topjohnwu ca9f9fee9a Update device state detection 2020-09-23 04:49:38 -07:00
Viktor De Pasquale bf84dd6518 Added hiding bottom bar when magisk is not active 2020-09-22 20:40:28 -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 9a16ab1bd7 Always show install button
Fix #3172
2020-09-16 23:55:50 -07:00
topjohnwu 9e5cb6cb91 Proper way to setup attr colors 2020-09-16 22:16:28 -07:00
topjohnwu 60e1e07e87 Proper SafetyNet UI databinding 2020-09-13 00:23:23 -07:00
topjohnwu e51a3dacb9 Support theme switching pre SDK 21 2020-09-12 18:42:05 -07:00
topjohnwu 9a8a27dbb9 Do not access color attributes in background
Workaround with ImageView tints
2020-09-12 03:17:21 -07:00
topjohnwu d7f7508fa2 Move setContentView out of onCreate 2020-09-11 02:31:41 -07:00
topjohnwu 5022f00a55 Cleanup homescreen 2020-09-08 23:40:44 -07:00
topjohnwu fbaf2bded6 Patch AndroidManifest.xml properly
Parse and rebuild the string pool of the AXML format for patching
string in AndroidManifest.xml
2020-08-31 03:39:20 -07:00
vvb2060 70174e093b Optimize network status display 2020-08-30 12:56:36 -07:00
topjohnwu 114a3c037f Some minor UI tweaks 2020-08-29 22:55:18 -07:00
topjohnwu 782adc9a9f Cleanup some styles 2020-08-29 21:42:05 -07:00
vvb2060 e0642b018d Update zh-rCN translation 2020-08-28 04:54:32 -07:00
topjohnwu 7e133b0cf4 UI tweaks for pre API 21 2020-08-27 05:46:41 -07:00
topjohnwu fb3f8605fd Change to a more recognizable icon 2020-08-27 03:10:25 -07:00
topjohnwu 84f92bd661 Cleanup hide fragment code 2020-08-26 05:46:37 -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 34450cdddd More refactoring
Cleanups, move classes to sane locations, etc.
2020-08-19 02:05:23 -07:00
Viktor De Pasquale 79aa261ca2 Fixed manager beginning to hide immediately on field change
Bug was caused by lenient usage of "value" property defined in the "line item" in settings. Developer error allowed to use the internal value, that was not properly protected, in a way that did not conform with the latest "Observer" rewrite.

Additional comments were added to hopefully prevent bugs of this kind in the future. The property is now properly protected so it gives away clues that this access is considered "not cool".
2020-08-14 02:23:03 -07:00
topjohnwu ac2a9da4c4 Fix Markdown rendering
Close #3074
2020-08-14 02:00:06 -07:00