topjohnwu
58d00ab863
Remove some warnings
2020-12-07 00:06:02 -08:00
RikkaW
4dbf7eb04b
Fix spacing in module filter list
2020-12-06 23:49:23 -08:00
RikkaW
a39577c44d
Fix extra spacing in module list
2020-12-06 23:49:23 -08:00
topjohnwu
a848f10bba
Update Kotlin
2020-11-23 12:35:24 -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
385853a290
Introduce LayoutInflaterFactory
...
This add the ability touch layout XML instantiates process. And most importantly, we can access AttributeSet, making custom view attribute possible.
Some other changes requires this.
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
RikkaW
c93ada03c7
Implement Edge-to-edge with newer APIs
...
The implementation adds a "Base" family styles, making creating themes across multiple API versions more clearer and easier.
2020-11-19 23:21:36 -08:00
topjohnwu
9241246de6
Only use MediaStore APIs on Android 11+
...
Fix #3428
2020-11-13 02:53:30 -08:00
topjohnwu
2739d3cb67
Update PayPal link
2020-11-07 15:10:10 -08:00
vvb2060
e9759a5868
Update HideViewModel
2020-11-07 14:47:44 -08:00
topjohnwu
16e4c67992
Significantly broaden sepolicy.rule compatibility
...
Previously, Magisk uses persist or cache for storing modules' custom
sepolicy rules. In this commit, we significantly broaden its
compatibility and also prevent mounting errors.
The persist partition is non-standard and also critical for Snapdragon
devices, so we prefer not to use it by default.
We will go through the following logic to find the best suitable
non-volatile, writable location to store and load sepolicy.rule files:
Unencrypted data -> FBE data unencrypted dir -> cache -> metadata -> persist
This should cover almost all possible cases: very old devices have
cache partitions; newer devices will use FBE; latest devices will use
metadata FBE (which guarantees a metadata parition); and finally,
all Snapdragon devices have the persist partition (as a last resort).
Fix #3179
2020-11-02 23:20:38 -08:00
topjohnwu
0d11f73a1d
Handle unexpected exceptions
...
Fix #3276
2020-10-22 03:09:05 -07:00
vvb2060
533cb8eb58
Tapjacking protection
2020-10-22 02:40:47 -07:00
vvb2060
4a7c3c06bc
Disable hide/restore when no remote info
2020-10-20 23:56:44 -07:00
vvb2060
da93bbc1fe
Fix network
2020-10-20 23:56:21 -07:00
topjohnwu
fa2dbe981e
Handle retrofit errors
2020-10-20 03:03:40 -07:00
vvb2060
468796c23d
Add option to show OS apps
2020-10-17 05:57:43 -07:00
vvb2060
5833aadef5
Silence kotlin warnings
2020-10-17 05:57:35 -07:00
vvb2060
a4c48847d1
Cancel vibration to sync with notification channel
2020-10-17 05:56:07 -07:00
vvb2060
43288be091
Prevent dot in the first position
2020-10-17 05:55:58 -07:00
vvb2060
1ad7a6fe93
Update activity display when download fails
2020-10-17 05:54:34 -07:00
topjohnwu
4e0a3f5e72
Fix compile errors
2020-10-17 04:28:20 -07:00
topjohnwu
9087207dc0
Minor changes
2020-10-17 04:14:12 -07:00
vvb2060
2760f37e6b
Add userspace reboot
2020-10-17 03:54:51 -07:00
topjohnwu
2e4dc91b96
Better stub hiding experience
2020-10-17 03:40:43 -07:00
topjohnwu
735b65c50c
Update DoH implementation
2020-10-11 15:19:19 -07:00
topjohnwu
efb1eab327
Silence some warnings
2020-10-11 05:47:47 -07:00
topjohnwu
6092d7ca88
Minor cleanups
2020-10-11 05:10:02 -07:00
topjohnwu
0a14f43f9c
Refactor class names
2020-10-10 22:40:57 -07:00
topjohnwu
311c1f0dfd
Switch to new repo format
2020-10-10 14:31:30 -07:00
vvb2060
eeced2fb5b
Only care about the main process when not expanded
2020-10-08 00:30:34 -07:00
topjohnwu
6509e3d4f5
Use ProgressDialog when restoring images
...
Close #3287
2020-10-08 00:27:16 -07:00
topjohnwu
d9382f59bf
Fix logical error
2020-10-08 00:14:51 -07:00
topjohnwu
403a0c770a
Fix typo
2020-10-07 20:15:23 -07:00
topjohnwu
f0f1cdc501
Disable LoggingInterceptor
2020-10-07 04:01:50 -07:00
topjohnwu
4e272b70ef
Download GitHub files through CDN
2020-10-07 04:01:03 -07:00
topjohnwu
9225b47568
Tidy up network services
...
Add jsdelivr CDN for several files
2020-10-06 04:58:46 -07:00
topjohnwu
d462873e74
Prevent UI loop on low memory device
...
Fix #3215 , close #3216
2020-10-06 02:21:57 -07:00
topjohnwu
fc19b50290
Cleanup ActivityResult callbacks
2020-10-06 02:04:19 -07:00
vvb2060
bacb5fa462
Truncate existing file when openOutputStream
2020-10-06 00:41:21 -07:00
topjohnwu
67f8dc494e
Properly patch vbmeta.img
...
Close #3241
2020-10-06 00:40:57 -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
46de1ed968
Better handling of data encryption
2020-09-28 04:45:56 -07:00
topjohnwu
9bebe07d5a
Better network connection observing
2020-09-27 21:21:38 -07:00
vvb2060
7ac55068db
Catch ActivityNotFoundException
2020-09-27 04:33:46 -07:00
topjohnwu
2f232fc670
Support modern Samsung AP.tar patching
2020-09-26 13:32:51 -07:00
Viktor De Pasquale
63a9a7d643
Fixed bottom bar not hiding on device without root
2020-09-24 00:51:08 -07:00
vvb2060
fd552e68a9
Don't hide app with uid < 10000
2020-09-23 20:57:19 -07:00
vvb2060
de4e26b488
Allow download modules when Magisk is not installed
2020-09-23 20:57:19 -07:00
vvb2060
fa3865e962
Check command result
2020-09-23 20:57:19 -07:00
vvb2060
a6950b8aca
Add failed state
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
ca9f9fee9a
Update device state detection
2020-09-23 04:49:38 -07:00
Viktor De Pasquale
b59e05c63e
Added a check against view being initialized in its behavior
...
The view will be simply hidden if not
2020-09-22 20:40:28 -07:00
Viktor De Pasquale
3c0630bfc0
Added forced checks on view being attached to window before performing hiding on it
2020-09-22 20:40:28 -07:00
topjohnwu
9908dfd79a
Hide MagiskHide entry when disabled
2020-09-20 14:30:57 -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
765b51285a
Add settings to disable DoH
...
Close #3130
2020-09-13 04:34:00 -07:00
topjohnwu
8a338de696
Hide MagiskHide pre Kitkat
2020-09-13 03:55:12 -07:00
topjohnwu
8a61ae621d
Disable DoH upon failure
2020-09-13 03:46:06 -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
2eb001876a
Code cleanup
2020-09-11 03:17:43 -07:00
topjohnwu
b510dc51ac
Fix su request auto response
2020-09-11 03:09:01 -07:00
topjohnwu
d7f7508fa2
Move setContentView out of onCreate
2020-09-11 02:31:41 -07:00
topjohnwu
434efec860
Use FIFO for su request communication
...
Fix #3159
2020-09-10 00:38:29 -07:00
topjohnwu
5022f00a55
Cleanup homescreen
2020-09-08 23:40:44 -07:00
topjohnwu
8aac373ca3
Fix network status detection
2020-09-08 21:55:43 -07:00
topjohnwu
013a2e1336
Minor code changes
2020-08-31 04:02:47 -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
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
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
7e133b0cf4
UI tweaks for pre API 21
2020-08-27 05:46:41 -07:00
topjohnwu
fd808bd51e
Use the correct handler
2020-08-27 04:17:21 -07:00
topjohnwu
e394445f1b
Properly handle dialog dismiss for SafetyNet
...
Fix #3103
2020-08-26 18:54:38 -07:00
topjohnwu
bf5798190d
Fix dialog when toggling keyboard multiple times
2020-08-26 06:39:59 -07:00
topjohnwu
84f92bd661
Cleanup hide fragment code
2020-08-26 05:46:37 -07:00
topjohnwu
d6062944f1
Update snet extension to prevent crashes on release builds
2020-08-24 06:24:58 -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
65f88e4ae2
Remove unnecessary permissions
2020-08-23 04:36:22 -07:00
topjohnwu
354440ee8a
Fix hide manager dialog
2020-08-23 04:24:06 -07:00
topjohnwu
59106e4f52
Make sure app relaunching works after upgrade
2020-08-23 03:47:05 -07:00
topjohnwu
31681c9c5f
Remove ProcessPhoenix
2020-08-23 00:12:58 -07:00
topjohnwu
0e5a32b476
Close streams
2020-08-22 20:33:50 -07:00
topjohnwu
a22a1dd284
Only offer shortcuts when running as stub
2020-08-22 10:51:32 -07:00
topjohnwu
27c59dbb65
Disable animations in toolbar
...
Fix #2907
2020-08-22 05:52:57 -07:00
topjohnwu
fb04e32480
Bypass external rw check in the proper location
2020-08-22 05:27:30 -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
4b238a9cd0
Add feature to create launch shortcuts
2020-08-21 03:36:12 -07:00
topjohnwu
105b2fc114
Ensure SplashActivity is ran before MainActivity
2020-08-19 05:19:24 -07:00
topjohnwu
5ed4071f74
Change ActivityExecutor signature
2020-08-19 05:19:24 -07:00
topjohnwu
551a478fdc
Fix occasional broken animation
2020-08-19 05:19:24 -07:00
topjohnwu
7c319f5fc3
Moar refactoring
2020-08-19 05:19:24 -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
topjohnwu
846bbb4da1
Reorganize app source code
2020-08-18 06:31:15 -07:00
topjohnwu
d7a26dbf27
Tidy up ViewEvents
2020-08-18 06:03:12 -07:00
topjohnwu
a86d5b3e61
Remove unnecessary abstractions
2020-08-18 05:03:56 -07:00
topjohnwu
7f225b3973
Minor MarkwonImagePlugin updates
2020-08-15 23:20:49 -07:00
vvb2060
a4c1ddd9f2
Use uid 2000 to install patched apk
2020-08-15 22:16:15 -07:00
topjohnwu
3f053b8547
Minor code changes
2020-08-14 03:17:10 -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
Viktor De Pasquale
d8b1d79879
Fixed first title being partially obscured by toolbar
2020-08-12 04:33:00 -07:00
topjohnwu
feb0f4b7b5
Fix MagiskDialog
2020-08-12 03:33:19 -07:00
topjohnwu
6c8fe46590
Remove unused resources
2020-08-11 04:33:07 -07:00
topjohnwu
36a70e995f
Remote -> Online
2020-08-11 03:36:41 -07:00
topjohnwu
537ae1a315
Cleanup setting items
2020-08-11 03:30:00 -07:00
topjohnwu
87b6bf2c26
Remove strip in settings item
2020-08-11 00:54:19 -07:00
topjohnwu
9df6b0618a
Update MagiskHide list
2020-08-10 07:05:07 -07:00
topjohnwu
c7e30ac63e
Update superuser list
2020-08-10 02:33:44 -07:00
topjohnwu
f5e547944a
Do not toggle when clicking cards
2020-08-09 22:30:38 -07:00
topjohnwu
f5aa6a3cf8
Update module fragment
...
Update UI and logic for loading modules
2020-08-09 21:41:23 -07:00
topjohnwu
c944277e78
Use switches with 2 way binding instead of custom ImageView
2020-08-09 14:50:16 -07:00
topjohnwu
24f6024383
More homescreen UI improvements
2020-08-09 06:52:02 -07:00
topjohnwu
15b1215972
Only show SafetyNet when GMS exists
2020-08-09 04:39:12 -07:00
topjohnwu
893a8ec8d9
Strip out most StaggeredGridLayoutManager in code
2020-08-09 03:30:00 -07:00
topjohnwu
da2b00de59
Several home screen changes
2020-08-09 02:32:13 -07:00
vvb2060
2e95d9f07e
Update to APK Signature Scheme v2
2020-08-08 05:12:02 -07:00
topjohnwu
fe2388394d
Update dependencies
2020-08-08 04:12:08 -07:00
topjohnwu
5b28a713e0
Move functions around
2020-07-23 22:43:25 -07:00
topjohnwu
f1fb7404c2
Catch exceptions when loading remote modules
...
Fix #3004
2020-07-20 22:35:50 -07:00
topjohnwu
fc67c0195f
Workaround bug in AOSP code
...
Fix #2983 , https://issuetracker.google.com/issues/36984866
2020-07-20 22:22:57 -07:00
topjohnwu
2f02f9a580
Update libsu
2020-07-20 21:58:23 -07:00
topjohnwu
07f712a1ce
Always show hidden apps
2020-07-17 06:05:38 -07:00
topjohnwu
c7044b0d20
Remember show system app toggle in MagiskHide list
2020-07-17 05:32:08 -07:00
topjohnwu
15866cfba9
Fix incorrect command
...
Fix #2992
2020-07-17 05:28:18 -07:00
topjohnwu
4c2570628d
Make SettingsItems make much more sense
2020-07-17 03:02:58 -07:00
topjohnwu
113eec59f9
Request storage rw for saving logs
...
Fix #2993
2020-07-17 01:27:52 -07:00
topjohnwu
dd62fe89f7
Use CallbackList for collecting STDOUT in flash screen
...
Fix #2988
2020-07-17 00:13:18 -07:00
topjohnwu
ec2d7d77eb
Reduce usage of ObservableField
2020-07-15 02:52:15 -07:00
topjohnwu
6c6368fd81
Reduce usage of delegation
2020-07-15 01:21:57 -07:00
topjohnwu
ba31c6b625
Use coroutines instead of raw executors
2020-07-14 02:37:52 -07:00
topjohnwu
cad189d2dc
Remove unnecessary indirection
2020-07-12 14:37:07 -07:00
topjohnwu
7cf3da1b3b
Update implementation to use new methods
2020-07-12 14:35:21 -07:00
topjohnwu
45fabf8e03
Update SettingsItems
2020-07-12 06:15:32 -07:00
topjohnwu
2c12fe6eb2
More efficient databinding
2020-07-12 03:17:50 -07:00
topjohnwu
b41b2283f4
Rename package
2020-07-11 05:36:31 -07:00
topjohnwu
e8e7cd5008
Simply redirect isConnected ObservableField
2020-07-11 03:22:17 -07:00
topjohnwu
7873433977
Remove RxJava as dependency
2020-07-10 23:12:09 -07:00
topjohnwu
52d19d3ea2
Roll our own NetworkObserver
2020-07-10 23:12:09 -07:00