Commit Graph

1098 Commits

Author SHA1 Message Date
Viktor De Pasquale
6afcc83955 Added logic to redesigned home
(partially)
2019-10-04 19:36:26 +02:00
Viktor De Pasquale
277d8773f2 Added automated loading to new compat-based redesign 2019-10-04 19:35:22 +02:00
Viktor De Pasquale
f161cf8b0a Removed no-root state 2019-10-04 18:56:35 +02:00
Viktor De Pasquale
cb2a1e57fe Added text switchers for descriptions 2019-10-04 17:56:30 +02:00
Viktor De Pasquale
1396faf433 Added animated icon for magisk (and its uninstall) 2019-10-04 17:12:28 +02:00
Viktor De Pasquale
dc8d2ae683 Added basic navigation 2019-10-03 19:38:57 +02:00
Viktor De Pasquale
4820a6e01c Updated toolbar to look more android-like 2019-10-03 18:41:04 +02:00
Viktor De Pasquale
57a9b5bc0c Added home screen 2019-10-03 17:31:45 +02:00
Viktor De Pasquale
8c224da5d5 Added compat layer for activities and fragments
This change is made so logic is not placed within the "old" base substrate. Changes made in the redesign could potentially affect the already working part which we obviously do not want.
2019-10-03 16:42:47 +02:00
Viktor De Pasquale
14e49f3c80 Added redesign base
... also basic switching to redesign was added, haha
2019-10-02 19:42:38 +02:00
topjohnwu
5b7ddbbb01 Fix status report UI 2019-09-30 15:32:28 -04:00
Viktor De Pasquale
6352fbb3b2 Added additional sorting for installed modules 2019-09-30 14:07:14 -04:00
topjohnwu
d3f49334e2 Move function as extension 2019-09-28 12:17:34 -04:00
topjohnwu
5c5625911d Fix back button behavior 2019-09-28 05:01:25 -04:00
topjohnwu
6a10cc9c55 Remove dependency Dexter 2019-09-28 04:23:21 -04:00
topjohnwu
6b317f918e Rename base class names 2019-09-28 03:50:11 -04:00
topjohnwu
08b528dc4f Reorganize classes
- Move base classes to its own package
- Move most logic out of MagiskActivity to MainActivity
2019-09-28 03:37:24 -04:00
topjohnwu
fc886a5a47 Merge Teanity into sources 2019-09-28 01:56:16 -04:00
topjohnwu
0cb90e2e55 Update BasePreferenceFragment 2019-09-27 19:54:03 -04:00
Viktor De Pasquale
578a50b464 Added hiding actions on notifications typed "Download" 2019-09-26 03:15:46 -04:00
topjohnwu
debd1d7d54 Update canary channel links 2019-09-24 03:09:02 -04:00
topjohnwu
3f057367e3 Update dependencies 2019-09-12 12:50:44 -04:00
topjohnwu
d73f39c706 Fix manager update after hidden
Fix #1828
2019-09-09 17:24:29 -04:00
topjohnwu
86481c74ff Allow user to select recovery mode
Close #1674
2019-09-08 00:44:26 -04:00
topjohnwu
5b937fb1fa Random changes 2019-09-05 11:36:48 -04:00
topjohnwu
ff828116bc Only cache magisk zips 2019-09-05 11:26:35 -04:00
topjohnwu
a6126c5eda Cosmetic changes 2019-08-23 03:05:41 +08:00
topjohnwu
85d9bd9106 Fix compile errors 2019-08-23 00:30:21 +08:00
Viktor De Pasquale
39e9622205 Fixed magisk version
Added refreshing versions before and after the request to remote
2019-08-22 08:03:17 +02:00
topjohnwu
84f0ff2fad Fix manager package name database management 2019-08-12 03:31:59 -07:00
topjohnwu
e6561e5f84 Fix XML parsing Kotlin error 2019-08-12 03:14:51 -07:00
topjohnwu
5fa452aa74 Multiple minor changes 2019-08-12 01:54:33 -07:00
topjohnwu
2225ccb146 Flush settings to persistent storage 2019-08-12 00:05:19 -07:00
topjohnwu
5aafc78847 Cleanup const 2019-08-11 23:53:43 -07:00
topjohnwu
0d03833cff Name module zips with version code 2019-08-11 22:46:39 -07:00
topjohnwu
a797d5d396 Update snet extension 2019-08-08 04:18:32 -07:00
topjohnwu
f2494374f8 Eliminate any traces of Java in app 2019-08-08 00:59:23 -07:00
topjohnwu
48395ba860 Remove unused files 2019-08-08 00:29:27 -07:00
topjohnwu
5ba5f5f94e Observe network connnectivity
Observe internet connectivity will ping google.com
2019-08-07 22:26:44 -07:00
topjohnwu
42ce6fd334 Workaround stupid Moshi proguard rules 2019-08-07 22:26:25 -07:00
Viktor De Pasquale
3c7ece1605 Fixed not showing current version
Current version was not displaying under circumstances that involve loss of connection. Versions are displayed whether the device is connected or not.
2019-08-07 03:07:18 -07:00
Viktor De Pasquale
870efc49ea Fixed using mapping function incorrectly 2019-08-07 03:07:18 -07:00
Viktor De Pasquale
085ede6d93 Added simple ui blocks for whenever connection drops out 2019-08-07 03:07:18 -07:00
Viktor De Pasquale
4ef19d17da Added a flag for connection status
Reactively updated flag which only checks whether the "data" / "wifi" / "ethernet" is plugged in or enabled. If the user connects to the wifi but has no actual connection, the app will never know.
Please refrain from using other access methods (like pinging a host), it can get picked up by a VPN or other methods and possibly expose MM.
2019-08-07 03:07:18 -07:00
topjohnwu
223913c30a Remove unnecessary App usage 2019-08-05 00:21:38 -07:00
topjohnwu
010e4de4e1 Introduce DynamicClassLoader 2019-08-04 23:49:09 -07:00
topjohnwu
8f07747452 Remove net module 2019-08-04 18:33:20 -07:00
topjohnwu
eb5ce5be1e Fix saving logs
Fix #1722
2019-08-04 14:17:01 -07:00
topjohnwu
71d855e836 Cleanup more code 2019-08-04 13:47:14 -07:00
topjohnwu
33b7ab593c Migrate PatchAPK to Kotlin 2019-08-04 13:00:27 -07:00
topjohnwu
7cfab33ebb Make sure DownloadService always start with app context 2019-08-02 01:21:22 -07:00
topjohnwu
1ababc8c7f RepoDB does not need to run on main thread 2019-08-02 01:20:16 -07:00
topjohnwu
1f75e63c37 Fix crashes in MarkdownWindow
Fix #1628
2019-08-02 01:16:04 -07:00
topjohnwu
cb3f9b9740 More tweaking to Rx pipeline 2019-08-01 23:08:58 -07:00
topjohnwu
9784353223 Fix ActivityTracker
Koin does not support nullable types
2019-07-29 04:18:05 -07:00
topjohnwu
7d93ca5c73 Modernize MagiskInstaller 2019-07-29 04:05:54 -07:00
topjohnwu
ac20063e86 Disable cache for Magisk Manager 2019-07-29 03:56:35 -07:00
topjohnwu
debaec32af Remove old download progress update system 2019-07-29 00:42:53 -07:00
topjohnwu
0e9b71e7a9 Show notification on error 2019-07-29 00:37:01 -07:00
topjohnwu
85f5ff3c14 Download Magisk Manager via new service 2019-07-29 00:26:18 -07:00
topjohnwu
c15f80b33f Improve Rx pipeline 2019-07-28 14:49:06 -07:00
topjohnwu
b2e6ba3c4a Move no thanks from dialogs 2019-07-28 03:54:46 -07:00
topjohnwu
b16f696b0e Cleanups 2019-07-28 03:47:07 -07:00
topjohnwu
9adfb382e8 Only launch FlashActivity if app is foreground 2019-07-28 03:38:27 -07:00
topjohnwu
44368383f4 Fix fetching repo ordering 2019-07-28 02:21:55 -07:00
topjohnwu
d1ff7e0ffe Move extensions to its own package 2019-07-28 02:10:22 -07:00
topjohnwu
42e7db8d13 Modernize Repo class for Magisk modules
- Use Kotlin
- Use Room database
- Use retrofit for networking
- Use RxJava pipeline for repo updating
2019-07-28 01:54:34 -07:00
topjohnwu
0c17ea5755 Migrate Magisk Modules to Kotlin 2019-07-27 15:46:44 -07:00
topjohnwu
cdaff5b39c Update module download pipeline 2019-07-26 02:26:02 -07:00
topjohnwu
0aebc0a8e3 Use new service to download uninstall.zip 2019-07-25 03:10:24 -07:00
topjohnwu
c3a89f589e Download to proper filename 2019-07-25 01:54:42 -07:00
topjohnwu
971cd73fb3 Dismiss notification on error 2019-07-25 01:37:47 -07:00
topjohnwu
1947860d61 Dismiss notification after flashing 2019-07-25 01:05:06 -07:00
topjohnwu
55aaa421e8 Directly download to target location 2019-07-23 01:31:59 -07:00
topjohnwu
a8932706d8 Consolidate Magisk download subject 2019-07-23 00:55:12 -07:00
topjohnwu
a97972aac0 Update notification once per second 2019-07-23 00:33:28 -07:00
topjohnwu
094c3d559a Minor fixes and cleanups 2019-07-22 01:49:21 -07:00
topjohnwu
6fb032b3c2 Clean ups 2019-07-20 22:37:34 -07:00
topjohnwu
8ca188f4d4 Stream and process module zips 2019-07-20 21:04:06 -07:00
topjohnwu
746a1d8d59 Directly download to magisk.zip for flashing 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
f6045bf8b5 Added custom dialog for download location only 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
e83f40d5c5 Added actions for opening files in the file browser
No icons are added at this time, so crashes might occur
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
e5118418b2 Added option to have custom download location
The location is automatically added to list of supported paths for caching
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
7cd814d917 Updated service to use extra transformer so the service itself is not plagued by unnecessary code 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
78282c1a49 Removed unused entry 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
fd4214ccf3 Fixed minor bugs regarding notification cancellation 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
0785945635 Added appending installers to modules 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
967bdeae7b Updated service architecture and extracted useful tools to separate class 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
452db51669 Updated flash location so it's one layer deeper preventing accidental cache deletion 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
5875ced367 Fixed launching activities on newer systems 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
fbac6bcfd0 Fixed substrate handling multiple downloads at once 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
0dcd3ece9d Updated downloading modules 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
224fff89e3 Updated object usage for module subjects 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
22e73644f9 Added option to run service in foreground right away 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
6a0f6ab319 Updated magisk installer so it uses predownloaded file 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
88a394836f Replaced all install methods with the download service 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
f822c1c2e4 Added default to flash configuration 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
1d16d980b3 Added second slot flashing capability 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
501b18f986 Added default value to magisk subject 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
21ed759e53 Removed duplicate helper 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
8d50dfd93c Fixed overwriting file in download mode
Added prevention of copying itself to itself
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
51e40dd98c Fixed crashes caused by file exposure beyond app bounds 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
b2048379af Fixed uris so in case there's no additional the data one (with zips) is selected instead 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
011539f6f1 Added permission requirements for using service 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
5457c3803f Added remaining methods of installation/flashing/uninstall to service
Updated parameters of patching step and fixed new ordered flashing format
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
b3d777bb6c Updated configuration to hold data when necessary 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
12e00c3054 Updated method naming scheme
Added new configurations
Added flashing methods and annotated viewModel's uri as deprecated in function
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
9542ca773f Added new CompoundDownloadService which will encapsulate all downloads and should manage post-download events as well
As of now it's still in a development stage and isn't connected to anything
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
8af832a496 Added several calls to FlashActivity so it manages its launch parameters by itself
Its reach will be deepened further in the future commits
2019-07-20 14:57:03 -07:00
Viktor De Pasquale
6836130fda Added overloaded method call for progress notification so it accepts foreign context 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
724893879f Added option to intercept progress while copying files 2019-07-20 14:57:03 -07:00
Viktor De Pasquale
188ea2644a Updated downloading magisk to pull the zip from cache if eligible 2019-07-08 11:40:02 -07:00
osm0sis
b1e63f0f14 Manager: fix ModulesFragment reboot menu
- correct 'booloader' typo breaking bootloader entry
- remove extra bootloader entry Shell.su line which is unnecessary since it's covered by reboot()
- revert to using `reboot recovery` for recovery entry since `svc power reboot recovery` triggers a very disconcerting "Factory data reset" reboot dialog on many devices
- add Reboot to EDL mode option for good measure
2019-06-27 04:09:41 -04:00
Viktor De Pasquale
5dd677756f Fixed multiple fetch tasks running at once
Disposing wouldn't help since the shell doesn't appear to handle concurrency well
2019-06-21 00:36:37 -07:00
Viktor De Pasquale
b77c590910 Fixed the searchView being collapsed after searching through it
Now they have their state synced with viewModel to allow continuity
2019-06-21 00:36:37 -07:00
Viktor De Pasquale
7e5f2822ae Fix superuser fragment crashes
Fix superuser screen encountering inconsistencies when refreshing the data rapidly
2019-06-21 00:36:01 -07:00
topjohnwu
bf9ac8252b Cleanup UpdateInfo 2019-06-16 16:47:30 -07:00
topjohnwu
4a3f5dc619 Cleanups 2019-06-16 14:35:51 -07:00
Viktor De Pasquale
ca156befbd Fixed mapping generic pairs to policy crashing when no policy is found
The policy (app) is now deleted when found invalid (uninstalled)
2019-06-16 16:50:08 -04:00
Viktor De Pasquale
4db41e2ac4 Added attempted fix for parsing data off default thread 2019-06-16 16:50:08 -04:00
Viktor De Pasquale
982a43fce1 Moved diff computation of policy list to the background thread 2019-06-16 16:50:08 -04:00
Viktor De Pasquale
dd76a74e1c Fixed fast scroll button crashing while scrolling to undefined position 2019-06-16 16:50:08 -04:00
Viktor De Pasquale
074b1f8c61 Added one-click scroll to the bottom 2019-06-12 16:08:02 +02:00
topjohnwu
326eee8c83 Migrate a lot of classes to Kotlin 2019-06-12 03:29:38 -07:00
topjohnwu
00bff4912e Use svc for reboot if feasible
Close #1488
2019-06-12 00:55:21 -07:00
Viktor De Pasquale
0ce1720516 Fixed magisk log screen lines having multiple lines 2019-06-11 21:52:03 -07:00
topjohnwu
1d54c5144e Fix background update checks 2019-06-10 21:25:42 -07:00
topjohnwu
7756e10779 Rewrite configs with Kotlin delagate properties 2019-06-10 04:37:56 -07:00
topjohnwu
3e58d502d0 Update SettingsFragment to Kotlin 2019-06-09 03:04:37 -07:00
topjohnwu
1c8846dc57 Make PreferenceModel an interface 2019-06-08 16:30:12 -07:00
topjohnwu
2f320c7239 Update ClassMap 2019-06-08 15:34:15 -07:00
topjohnwu
e799918ab6 Update update check service 2019-06-08 15:28:59 -07:00
topjohnwu
86c4928e0f Fix locale settings
AppCompatActivity changed its impl again...
2019-06-08 02:11:10 -07:00
topjohnwu
0293eb5c51 Never refetch magisk version dynamically 2019-06-08 01:44:02 -07:00
topjohnwu
1ee75b6aa6 Download snet package without legacy impl 2019-06-08 01:39:22 -07:00
topjohnwu
4b30b224b5 Remove separate constant class 2019-06-08 00:41:03 -07:00
topjohnwu
16b232d2a3 Enable okhttp logging in debug only 2019-06-07 02:03:17 -07:00
topjohnwu
3f3b1f5b1d Sort policy with app name 2019-06-07 01:24:54 -07:00
topjohnwu
cec017b7bf More MagidkDB fixes 2019-06-07 01:05:54 -07:00
topjohnwu
caa9df86bc Switch to R8 friendly room-runtime 2019-06-07 00:17:00 -07:00
topjohnwu
f417389a7a Fix magisk database code in app 2019-06-06 00:39:24 -07:00
Viktor De Pasquale
d1dfda405f Removed Kotpref and replaced it with PreferenceModel 2019-06-04 00:59:57 -07:00
topjohnwu
80d834fb55 Use kotshi instead of moshi-kotlin-codegen 2019-06-01 13:18:11 -07:00
topjohnwu
4122ebe18f Remove unused Room database code 2019-06-01 02:20:40 -07:00
topjohnwu
4a73d634e0 Tidy things up 2019-05-31 21:46:59 -07:00
topjohnwu
373dc10a40 Use moshi code-gen 2019-05-31 21:46:42 -07:00
Ian Macdonald
ed43ec8ea2 Populate Config variables based on update channel parameters.
With thanks to @diareuse.
2019-05-31 20:48:21 -07:00
topjohnwu
c0d1ce96d1 Cleanup 2019-05-30 01:05:48 -07:00
topjohnwu
b31d3802eb Properly force refresh 2019-05-29 23:45:18 -07:00
Viktor De Pasquale
be1228c3b4 Reverted removing UpdateRepos temporarily 2019-05-29 18:40:16 +02:00
Viktor De Pasquale
f392afe87f Added error message in case Markdown window fails to load 2019-05-25 19:20:36 +02:00
Viktor De Pasquale
6a243ec7bc Fixed inconsistent displaying of repos and improved their sorting 2019-05-25 18:09:45 +02:00
Viktor De Pasquale
8cd3b603df Fixed cached repos not being ordered by settings 2019-05-25 18:03:32 +02:00
Viktor De Pasquale
6e1aefe6d8 Added feature that prevents repositories from being downloaded every single time that user requests to show Module/Download fragment unless requested by user 2019-05-25 16:42:34 +02:00
Viktor De Pasquale
1c90b6eca3 Fixed notification popping up every time update is scheduled 2019-05-25 16:33:55 +02:00
Viktor De Pasquale
c33cf9f878 Fixed stable channel asking for custom URL when previously selected 2019-05-25 16:15:08 +02:00
Viktor De Pasquale
4fd0fe3194 Fixed repo not being correctly marked as jsonclass hence it crashed when fetching obfuscated 2019-05-24 15:51:18 +02:00
Viktor De Pasquale
cc74593ddd Removed useless constructor parameter from home vm 2019-05-24 15:50:20 +02:00
Viktor De Pasquale
77470c7cfa Updated koin 2019-05-24 12:28:57 +02:00
Viktor De Pasquale
f0a734fdab Fixed clearing cache crashing due to operations on main thread 2019-05-24 12:28:40 +02:00
Viktor De Pasquale
076e5cea3b Fixed selection not persisting throughout root requests 2019-05-23 20:01:47 +02:00
Viktor De Pasquale
8515971ccf Fixed deleting "one-time" root requests whilst removing outdated 2019-05-23 19:18:16 +02:00
Viktor De Pasquale
d86fb033ea Fixed conditions being inaccurately represented 2019-05-23 19:17:41 +02:00
Viktor De Pasquale
df78fd2d41 Fixed setting custom channels and switching between official ones being broken 2019-05-23 18:11:23 +02:00
Viktor De Pasquale
dabe6267b9 Fixed error that prevented flashing 2019-05-23 16:50:31 +02:00
Viktor De Pasquale
0119ebddbe Added back clearing repository cache 2019-05-23 15:28:05 +02:00
Viktor De Pasquale
80855e89ec Merge remote-tracking branch 'john/master' into development
# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/topjohnwu/magisk/model/receiver/GeneralReceiver.kt
#	app/src/main/java/com/topjohnwu/magisk/ui/hide/HideViewModel.kt
#	app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
2019-05-13 16:50:08 +02:00
Viktor De Pasquale
0850401dc4 Fixed crash where new application asks for root access 2019-05-13 15:56:27 +02:00
Viktor De Pasquale
337fda2023 Removed unnecessary classes 2019-05-13 15:41:46 +02:00
Viktor De Pasquale
64f238191e Converted constants to kotlin 2019-05-13 15:39:33 +02:00
Viktor De Pasquale
eb169cb133 Converted classmap to kotlin 2019-05-13 15:34:53 +02:00
topjohnwu
80cd85b061 Try to use broadcast for su logging and notify
In commit 8d4c407, native Magisk always launches an activity for
communicating with Magisk Manager. While this works extremely well,
since it also workaround stupid OEMs that blocks broadcasts, it has a
problem: launching an activity will claim the focus of the device,
which could be super annoying in some circumstances.

This commit adds a new feature to run a broadcast test on boot complete.
If Magisk Manager successfully receives the broadcast, it will toggle
a setting in magiskd so all future su loggings and notifies will always
use broadcasts instead of launching activities.

Fix #1412
2019-05-13 02:01:10 -07:00
Viktor De Pasquale
92789c3113 Added caching repositories to device 2019-05-12 20:21:55 +02:00
Viktor De Pasquale
c1c677e161 Removed old database helper 2019-05-12 19:45:07 +02:00
Viktor De Pasquale
2fe917ff82 Fixed updating values with sql 2019-05-12 19:42:05 +02:00
Viktor De Pasquale
0e6c205732 Fixed snackbar for changed su states being incorrect 2019-05-12 18:56:42 +02:00
Viktor De Pasquale
125ae0a173 Fixed conditions in sql queries 2019-05-12 18:34:28 +02:00
Viktor De Pasquale
0245e13591 Removed usage of old database object 2019-05-12 18:00:58 +02:00
Viktor De Pasquale
d546733287 Removed direct static usages of database from app 2019-05-12 17:25:26 +02:00
Viktor De Pasquale
c275326d59 Removed direct static usages of database from app 2019-05-12 16:56:56 +02:00
Viktor De Pasquale
d4561507b8 Raised deprecation level on old database 2019-05-12 14:37:24 +02:00
topjohnwu
62db65bf18 Reset SafetyNet status on refresh 2019-05-11 01:55:44 -07:00
topjohnwu
d5371f752c Sort hide targets by app name 2019-05-11 01:53:37 -07:00
topjohnwu
a5f5e94115 Always reload string from resource 2019-05-11 01:50:01 -07:00
Viktor De Pasquale
2624706c69 Added missing repositories 2019-05-10 19:13:15 +02:00
Viktor De Pasquale
d39d885ec2 Removed repo db helper 2019-05-10 18:21:07 +02:00
Viktor De Pasquale
d83c744725 Replaced base settings fragment by its kotlin counterpart 2019-05-10 17:54:24 +02:00
Viktor De Pasquale
843995cdb9 Removed Event for good
http://bit.ly/2Ymrm61
2019-05-10 17:34:53 +02:00
Viktor De Pasquale
9491ba77e0 Removed locale manager loading languages in advance
Instead they are loaded on demand
2019-05-10 17:30:25 +02:00
Viktor De Pasquale
58a449d437 Merge branch 'remote-master' into development
# Conflicts:
#	app/src/main/java/com/topjohnwu/magisk/di/ViewModelsModule.kt
#	app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
#	app/src/main/java/com/topjohnwu/magisk/utils/XString.kt
2019-05-10 16:43:37 +02:00
Viktor De Pasquale
7f55e0f05b Fixed picking up wrong locale for dates 2019-05-10 16:41:31 +02:00
Viktor De Pasquale
67c3f40adb Fixed language won't change in certain views unless app restarts 2019-05-10 16:22:03 +02:00
topjohnwu
ff7a0ba599 Force apply preferred locale in applyOverrideConfiguration
Close #1442
2019-05-10 00:19:28 -07:00
Viktor De Pasquale
21be2f46f3 Moved fetch/toggle logic for hiding to repo
Fixed sorting
2019-05-09 18:21:38 +02:00
Viktor De Pasquale
a6e7680212 Fixed logs being bugged down by unreliable code 2019-05-09 17:38:13 +02:00
Viktor De Pasquale
e79e744e08 Fixed magisk db not returning stuff due to bad syntax 2019-05-09 17:13:02 +02:00
Viktor De Pasquale
7abdac72a4 Replaced log calls from magiskdb to repo 2019-05-09 17:01:34 +02:00
Viktor De Pasquale
90d85eaf7d Removed update repos as it can be done via repository 2019-05-09 15:56:06 +02:00
Viktor De Pasquale
7538f89b56 Removed unnecessary calls from splash 2019-05-07 15:45:27 +02:00
Viktor De Pasquale
7c755a3991 Removed events from modules / replaced with retrofit/rx 2019-05-07 15:41:56 +02:00
Viktor De Pasquale
10e903c9fc Added direct fetch from network and fixed build issues 2019-05-06 20:12:31 +02:00
Viktor De Pasquale
b018124226 Added (ported back) features from initial design [retrofit,moshi,kotpref]
Marked most of the old classes using Networking as deprecated to clearly visualise their future removal
2019-05-06 19:03:28 +02:00
Viktor De Pasquale
0167bd76f1 Removed unnecessary overriding of observable list and replaced it copy function within observable changed callback 2019-05-05 11:33:17 -07:00
Viktor De Pasquale
79d704008b Fixed rewritten java code being java-styled in kotlin
Fixed accessing kotlin code illegally via companion helper
2019-05-05 11:33:17 -07:00
Viktor De Pasquale
0a703585b0 Fixed items in navView not being checked 2019-05-05 11:33:17 -07:00
Viktor De Pasquale
5d632d0d90 Removed unnecessary overriding of observable list and replaced it copy function within observable changed callback 2019-05-05 12:46:28 +02:00
Viktor De Pasquale
4eecaea601 Fixed rewritten java code being java-styled in kotlin
Fixed accessing kotlin code illegally via companion helper
2019-05-05 12:17:32 +02:00
Viktor De Pasquale
63055818ec Fixed items in navView not being checked 2019-05-05 11:50:27 +02:00
topjohnwu
a0cfce7cbc Rewrite FlashZip in Kotlin 2019-05-03 04:42:57 -04:00
topjohnwu
8b7144c986 Rewrite ZipUtils in Kotlin 2019-05-03 04:10:27 -04:00
topjohnwu
d3f5f5ee59 Rewrite RootUtils in Kotlin 2019-05-03 03:36:39 -04:00
topjohnwu
a2a3c7f438 Collect both STDOUT and STDERR for logs 2019-05-03 02:05:51 -04:00
Viktor De Pasquale
4496f82d5b Added scrolling to latest items while flashing
Since the adapter might be set _after_ the request, as there is no guaranteed order, it's done with waiting recursion yuck
2019-05-03 00:50:46 -04:00
Viktor De Pasquale
09d531557d Fixed requesting permissions off main thread 2019-05-03 00:50:46 -04:00
Viktor De Pasquale
7fee82f731 Fixed shell long dumping to UI 2019-05-03 00:50:46 -04:00
Viktor De Pasquale
475054c48a Fixed backpress not working 2019-05-03 00:50:46 -04:00
topjohnwu
d1ed502e03 Multidex debug only 2019-05-02 14:06:08 -04:00
topjohnwu
b25c49725f Sort hidden items on the top 2019-05-02 06:38:42 -04:00
topjohnwu
b245782c7e Always show hidden apps 2019-05-02 06:16:58 -04:00
topjohnwu
88c4f72b37 Remove Butterknife 2019-05-02 04:06:59 -04:00
topjohnwu
abbcdf91a5 Remove SafetyNet.java 2019-05-02 03:45:15 -04:00
topjohnwu
4bb81f35d7 Rename MagiskFragment to HomeFragment 2019-05-02 03:21:46 -04:00
topjohnwu
ff20267b3f Remove redundent classes 2019-05-02 02:42:00 -04:00
topjohnwu
2813d2031a Merge branch 'WIP' 2019-05-02 02:03:20 -04:00
topjohnwu
0893ac3141 No more old module exists 2019-05-01 01:23:07 -04:00
Viktor De Pasquale
db218407b0 Fixed wrong link for github source 2019-04-27 12:13:30 +02:00
Viktor De Pasquale
d52210dd90 (Re)Added animations and shortcut endpoints
Fixed first backpress closing the app instead of showing default fragment
2019-04-27 12:09:49 +02:00
Viktor De Pasquale
f3cd9a096a Removed old Base[Activity/Fragment] 2019-04-27 11:49:25 +02:00
Viktor De Pasquale
e426090a18 Fixed checkboxes on homescreen not writing values to static fields 2019-04-27 11:43:55 +02:00
Viktor De Pasquale
cbe64fd559 Removed unnecessary assets 2019-04-27 11:38:31 +02:00
Viktor De Pasquale
a9b00dd537 Updated deprecation statements and moved components init after attaching base context
This needed to be done in order to get the Koin working as it requires injection before calling onCreate
2019-04-27 11:27:42 +02:00
Viktor De Pasquale
52eb059515 Fixed items in superuser not disappearing when deleted 2019-04-26 21:29:13 +02:00
Viktor De Pasquale
52c83b2916 Updated su screen with new arch
Added new Dialog for further use
2019-04-26 21:23:58 +02:00
Viktor De Pasquale
750c42caf1 Added annotations for marking code with it's current state 2019-04-26 19:33:42 +02:00
Viktor De Pasquale
14ff22fbcd Updated flash screen with new arch 2019-04-24 20:28:41 +02:00
Viktor De Pasquale
07eb7dda2d Added permission request event 2019-04-24 19:34:40 +02:00
Viktor De Pasquale
d4058175b4 Fixed list query not being disposed so it could occasionally crash due to several changes rewriting each other 2019-04-22 18:28:40 +02:00
Viktor De Pasquale
2de984ae24 Added division of the modules section to updatable, installed and not installed 2019-04-22 18:20:23 +02:00
Viktor De Pasquale
6df7006b36 Cleaned up unnecessary classes 2019-04-22 17:03:21 +02:00
Viktor De Pasquale
aceb3ee863 Rewritten flashing internal modules to model
This is done in an effort to separate flash activity to smaller pieces.
2019-04-22 16:59:59 +02:00
Viktor De Pasquale
11d716a3c8 Updated splash screen with new arch 2019-04-22 16:00:48 +02:00
Viktor De Pasquale
7cc8c014eb Updated log screen with new arch 2019-04-22 14:11:41 +02:00
Viktor De Pasquale
a181fa0652 Fixed updating lists being to heavy for the UI thread
Moved list diff recalculation to the computing thread instead
2019-04-22 09:30:38 +02:00
Viktor De Pasquale
3f748b4d2a Fixed search in magisk hide not being case insensitive 2019-04-22 08:58:23 +02:00
Viktor De Pasquale
683450f9c6 Added search functionality to repos (downloads) 2019-04-22 08:57:32 +02:00
Viktor De Pasquale
adbd47a36c Updated modules and repos screen
Screens are merged via common viewModel, all data are immediately accessible to both of them
2019-04-20 23:44:08 +02:00
Viktor De Pasquale
ce693aa5e9 Updated policy items so listeners are not indirectly set to them and kept out of the instance of the parent object 2019-04-19 19:22:18 +02:00
Viktor De Pasquale
ad80804461 Cleaned up usage of rx subscribers 2019-04-19 16:43:44 +02:00
Viktor De Pasquale
2d55632430 Merge remote-tracking branch 'john/WIP' into development
# Conflicts:
#	gradle/wrapper/gradle-wrapper.properties
2019-04-19 16:34:15 +02:00
Viktor De Pasquale
e81f00ef1a Updated Hide screen with new arch 2019-04-19 16:32:01 +02:00
topjohnwu
71ce0de606 Make debug buildable 2019-04-19 02:11:22 -04:00
Viktor De Pasquale
f76015d714 Fixed options menus appearing on screens that they shouldn't 2019-04-18 16:00:54 +02:00
Viktor De Pasquale
7e5e14163c Fixed titles not setting to activity toolbar 2019-04-18 15:51:02 +02:00
Viktor De Pasquale
bcd1064e94 Updated superuser fragment to new arch
Fixed theme issues along the way
2019-04-17 18:27:03 +02:00
Viktor De Pasquale
8a8441c875 Added failure callback to fingerprint dialog 2019-04-17 18:20:53 +02:00
Viktor De Pasquale
15aa813416 Migrated to compat shared prefs and fixed it not reacting to changes
Added back dark theme
2019-04-17 14:03:25 +02:00
Viktor De Pasquale
605faccffd Merge remote-tracking branch 'john/master' into development
# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/topjohnwu/magisk/App.java
#	app/src/main/java/com/topjohnwu/magisk/model/adapters/ReposAdapter.java
#	app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.java
#	app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.java
#	app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.java
#	app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashActivity.java
#	app/src/main/java/com/topjohnwu/magisk/ui/home/MagiskFragment.java
#	app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.java
#	app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.java
#	app/src/main/java/com/topjohnwu/magisk/utils/ValueSortedMap.java
#	app/src/main/java/com/topjohnwu/magisk/view/dialogs/InstallMethodDialog.java
#	app/src/main/java/com/topjohnwu/magisk/view/dialogs/MagiskInstallDialog.java
#	app/src/main/java/com/topjohnwu/magisk/view/dialogs/ManagerInstallDialog.java
#	build.gradle
2019-04-16 19:40:34 +02:00
Viktor De Pasquale
79f2d08c81 Fixed new fragment not clearing menu in toolbar 2019-04-16 19:26:53 +02:00
Viktor De Pasquale
0568ae5391 Fixed dependencies on old base 2019-04-16 19:21:20 +02:00
Viktor De Pasquale
5330dda9f8 Removed redundant casts 2019-04-16 19:03:52 +02:00
Viktor De Pasquale
ebab126579 Replaced xml navigation with self-handled 2019-04-16 19:00:32 +02:00
Viktor De Pasquale
9a968e0584 Added leanback activity that implements several functions which custom dialogs depend on 2019-04-15 20:26:22 +02:00
Viktor De Pasquale
ffec64d209 Added safetynet to the rewritten home fragment 2019-04-15 19:48:07 +02:00
Viktor De Pasquale
f332746188 Fixed current version showing null when magisk is not installed 2019-04-15 15:57:23 +02:00
Viktor De Pasquale
b2fa5b551e Added hiding of UI elements when no root access is detected 2019-04-14 13:17:51 +02:00
Viktor De Pasquale
6b045eadef Added env fix prompt 2019-04-14 12:55:03 +02:00
Viktor De Pasquale
147264822c Fixed leaking base instance to the event listener 2019-04-14 12:29:07 +02:00
Viktor De Pasquale
796c16237d Fixed same events not being able to propagate consecutively 2019-04-14 12:21:04 +02:00
Viktor De Pasquale
861ad9881c Updated design of the front page (with removed cards and added dividers)
Also updated material library and injected backported styles which were incompatible with the current UI for the most part and as it was over-carded all cards were removed and replaced with flat UI components.
This change is temporary and *will* be redone to the final redesign, in other words this is sufficient for the transition period.

All themers should refrain from trying to theme the app until the redesign is done. It will break your efforts with every other release.
2019-04-14 11:51:47 +02:00
Viktor De Pasquale
9bb4dfad13 Added back version checking (and version boxes) after transitioning homepage to MVVM
Fixed several errors caused along the way
2019-04-14 11:00:29 +02:00
Viktor De Pasquale
bd00ae8ede Updated Magisk fragment to Kotlin
Exported old update card to special xml include where binding takes care of everything that had to be done in code beforehand.
Added several easing functions and enums.
Backported some classes and functions from the old fork

Expect major breakage. Literally nothing works as the functionality needs to be implemented
2019-04-13 00:14:37 +02:00
topjohnwu
a6395d35db Refactor with AS 3.5 2019-04-12 01:58:42 -04:00
Viktor De Pasquale
a028cd5cec Updated locations of nearly all files
This has been done in preparations for rewrite to kotlin and upcoming design changes.
Nothing should be broken but use caution.
2019-04-12 01:44:55 -04:00
Viktor De Pasquale
0efaddff23 Added binding between navigation view and navigation components
Removed bunch of code focusing on the hamburger not being stationary
2019-04-11 21:17:54 +02:00
Viktor De Pasquale
94ba7cb0c5 Added navigation endpoints 2019-04-11 20:10:14 +02:00
Viktor De Pasquale
2d58c725e0 Added koin, databinding and navigation components
Converted App class and Main activity to Kotlin. With that refactored fields within App class to allow lazy initialization

BEWARE: at this point the navigation is very much broken, won't let you anywhere beyond home screen
2019-04-11 20:01:49 +02:00
Viktor De Pasquale
bea5308ab7 Updated locations of nearly all files
This has been done in preparations for rewrite to kotlin and upcoming design changes.
Nothing should be broken but use caution.
2019-04-11 18:03:23 +02:00
topjohnwu
8d4c407201 Directly communicate with Activity
Since Android Q does not allow launching activities from the background
(Services/BroadcastReceivers) and our native process is root, directly
launch activities and use it for communication between native and app.

The target activity is not exported, so non-root apps cannot send an
intent to fool Magisk Manager. This is as safe as the previous
implementation, which uses protected system broadcasts.

This also workaround broadcast limitations in many ROMs (especially
in Chinese ROMs) which blocks the su request dialog if the app is
frozen/force stopped by the system.

Close #1326
2019-04-10 23:35:31 -04:00
topjohnwu
53c5ca59b6 Cleanup SuLogger 2019-04-10 18:09:41 -04:00
topjohnwu
679db97209 Always run su requests in new tasks 2019-04-10 18:05:19 -04:00
topjohnwu
fbdd72273e Restructure SuRequestActivity 2019-04-10 17:02:32 -04:00
topjohnwu
0165602515 More cleanups 2019-04-10 13:54:33 -04:00
topjohnwu
96127f8bd1 Lock orientation in SuRequestActivity
Fix #1302, close #1318
2019-04-10 05:36:02 -04:00
topjohnwu
48879df2da Some cleanups 2019-04-10 05:15:20 -04:00
topjohnwu
b067a5bb13 Use root to launch su request Activity on Q 2019-04-10 05:03:26 -04:00
topjohnwu
6128c24f96 Drastically improve module download service 2019-04-10 02:00:48 -04:00
topjohnwu
e0424fdba3 Remove patch format options
Output format will be the same as input
2019-04-09 04:37:34 -04:00
topjohnwu
7219947237 Update libsu
Close #1314
2019-04-08 21:05:11 -04:00
topjohnwu
b72004e9cc Move methods 2019-04-08 17:35:32 -04:00
topjohnwu
f187213568 Run update check service only in background 2019-04-08 17:35:32 -04:00
topjohnwu
fc0df84edd Keep track of foreground activity 2019-04-08 17:35:32 -04:00
topjohnwu
da3937ff4e Reboot after env_fix 2019-04-06 01:56:47 -04:00
topjohnwu
ced9b4a8ee Default to beta channel if detected 2019-04-05 20:48:19 -04:00
topjohnwu
c10b376575 Support patching full ODIN firmware 2019-04-04 07:27:43 -04:00
topjohnwu
ceb21ced2b Small changes 2019-04-04 02:30:03 -04:00
topjohnwu
036b5acf42 Update Markwon to 3.0.0 2019-04-02 23:58:19 -04:00
topjohnwu
a9c90718d6 Update some dependencies 2019-04-02 01:50:25 -04:00
topjohnwu
1cd45b53b1 Support recovery based Magisk
Some devices (mainly new Samsung phones we're talking here...) using
A only system-as-root refuse to load ramdisk when booted with boot
no matter what we do. With many A only system-as-root devices, even
though their boot image is kernel only, we can still be able to add
a ramdisk section into the image and force the kernel to use it as
rootfs. However the bootloader on devices like the S10 simply does
not load anything within boot image into memory other than the kernel.
This gives as the only option is to install Magisk on the recovery
partition. This commits adds proper support for these kind of scenarios.
2019-03-30 00:49:48 -04:00
topjohnwu
d22c7de79a Don't care minMagiskVersion
It will be sanitized by magiskbot anyways
2019-03-29 10:25:07 -04:00
topjohnwu
8049b08918 More precise new installer detection 2019-03-28 06:33:24 -04:00