topjohnwu
72edbfc455
Some platforms do not like null Bundles
2019-11-25 19:09:54 -05:00
Viktor De Pasquale
ac5ecf222e
Fixed style for announcement card
2019-11-25 17:54:04 +01:00
Viktor De Pasquale
a20594ed48
Added emphasis on support section
2019-11-25 17:25:49 +01:00
Viktor De Pasquale
cb59cc92a3
Updated action cards to be more colorful
2019-11-25 16:58:57 +01: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
Lennoard
474cc7d56d
Updated pt-BR strings (based on current
...
values/strings.xml)
2019-11-21 17:44:27 -05:00
Viktor De Pasquale
42606162b2
Fixed text color in logs not changing with theme
2019-11-21 18:21:08 +01:00
Viktor De Pasquale
e82bc1b7bc
Fixed issues after merge
2019-11-21 18:07:13 +01:00
Viktor De Pasquale
4f0e1c6c61
Merge remote-tracking branch 'john/master' into feature/redesign
...
# Conflicts:
# app/build.gradle
# app/src/main/java/com/topjohnwu/magisk/Hacks.kt
# app/src/main/java/com/topjohnwu/magisk/data/database/RepoDatabase.kt
# app/src/main/java/com/topjohnwu/magisk/data/repository/LogRepository.kt
# app/src/main/java/com/topjohnwu/magisk/di/DatabaseModule.kt
# app/src/main/java/com/topjohnwu/magisk/extensions/RxJava.kt
# app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt
# app/src/main/java/com/topjohnwu/magisk/extensions/XJava.kt
# app/src/main/java/com/topjohnwu/magisk/model/download/RemoteFileService.kt
# app/src/main/java/com/topjohnwu/magisk/model/entity/recycler/LogRvItem.kt
# app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt
# app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt
# app/src/main/res/xml/app_settings.xml
2019-11-21 17:46:59 +01:00
Viktor De Pasquale
550f6aff7e
Updated showing / hiding filters
2019-11-21 17:35:29 +01:00
Viktor De Pasquale
67c50d7504
Added magisk log screen
2019-11-21 17:31:37 +01:00
Viktor De Pasquale
94f0c61619
Added ignoring emulators for env_fix dialog
2019-11-21 14:30:12 +01:00
Viktor De Pasquale
8a86b30fd1
Fixed core UI elements not behaving properly after recreating
2019-11-21 14:24:14 +01:00
Viktor De Pasquale
6379108a75
Added new log screen
2019-11-20 22:42:44 +01:00
Viktor De Pasquale
fbeaad077f
Updated themes so they are separated from styles
2019-11-19 18:53:50 +01:00
Viktor De Pasquale
8918113a31
Added colored borderless ripple effect
2019-11-19 17:56:32 +01:00
Viktor De Pasquale
c5385b5b4c
Added custom markdown window for redesign
2019-11-19 17:41:24 +01:00
Viktor De Pasquale
35475e1d25
Added option to include simple view to MagiskDialog
2019-11-19 17:41:09 +01:00
Viktor De Pasquale
fb2c292f35
Updated dialog base to handle large content
2019-11-19 17:40:42 +01:00
Viktor De Pasquale
afc3fb10c7
Updated icon padding for all buttons
2019-11-19 17:16:07 +01:00
Viktor De Pasquale
0a239c2fef
Added QOL improvements
...
- fast scroll in module/filter list
- auto closing keyboard on scroll
2019-11-19 17:15:44 +01:00
Viktor De Pasquale
f5342a09d3
Added back safe mode notice
2019-11-19 16:07:19 +01:00
Viktor De Pasquale
f72de687c5
Fixed module lists not being strictly typed in builder
2019-11-19 15:56:10 +01:00
Viktor De Pasquale
833269fd0a
Updated install from storage button to be more expressive
2019-11-18 17:49:03 +01:00
Viktor De Pasquale
332c1a6c59
Removed overcomplicated updates loading
...
The mechanism was replaced by loading updated directly by id to the initial list. There are two factors why yesterday-me was dumb:
1) By asynchronously loading update state, you have no control over it - hence no search
2) It's incredibly wasteful; running that hardcore search on every query? Not cool
...and from UX stand-point having updates inlined right under installed modules is by far better than nitpicking it from the list or in the search
2019-11-18 17:21:23 +01:00
Viktor De Pasquale
0f1f43057e
Updated handling queries so first query is always instant
2019-11-18 16:29:27 +01:00
Viktor De Pasquale
784a7a7f24
Added back press closing filters in hide and module screens
2019-11-17 13:53:41 +01:00
Viktor De Pasquale
8e34baa59f
Fixed bottom padding being too small
2019-11-17 13:48:52 +01:00
Viktor De Pasquale
2926772bba
Added checks for updatable state on remote repos
2019-11-17 13:46:56 +01:00
topjohnwu
da159e4655
Better environment status detection
2019-11-16 17:38:10 -05:00
Viktor De Pasquale
a7f4496db7
Added info dialog for repos
2019-11-16 20:51:56 +01:00
Viktor De Pasquale
f972f02fff
Fixed clipping version string so it better shows the update's impact
...
Incremental canary bugfix will be:
b4b2c4 > f5d2e6
Version bump will be always:
20.2 > 20.3 (regardless of canary/beta/stable)
2019-11-16 20:21:09 +01:00
Viktor De Pasquale
1c77e26c05
Added sorting order to modules
2019-11-16 20:07:59 +01:00
Viktor De Pasquale
59c5363933
Updated colors and styles
...
Namely added secondary button
2019-11-16 20:07:35 +01:00
Viktor De Pasquale
b744bb0a5a
Fixed loading showing in incorrect view-states
2019-11-16 19:20:44 +01:00
Viktor De Pasquale
0f140b408c
Added installing external modules from storage
2019-11-16 19:16:59 +01:00
Nick
44ed0a3279
Update RU strings
...
Minor improvements and fixes
2019-11-16 03:23:32 -05:00
dark-basic
9964e1bb8e
Update strings.xml
2019-11-16 03:23:20 -05:00
Viktor De Pasquale
8b8f725499
Fixed log items not being refreshed
...
Close #2079
2019-11-16 03:20:43 -05:00
topjohnwu
bab856bce2
Move biometric settings higher in the list
2019-11-16 03:19:25 -05:00
Viktor De Pasquale
711799b194
Added forced loading per user's demand
...
Added reselecting action (scroll up real fast)
2019-11-15 22:26:00 +01:00
topjohnwu
3d285b91c6
Use ContextCompat
2019-11-15 11:01:39 -05:00
vvb2060
1dc531930d
Update zh-rCN translation
2019-11-15 10:55:51 -05:00
Ilya Kushnir
3d3345acac
Update RU strings
2019-11-15 10:55:41 -05:00
Viktor De Pasquale
2105cacce3
Fixed fab background color in dark mode
...
Now it's recognizable from the background
2019-11-14 19:10:49 +01:00
Viktor De Pasquale
9d1d1710eb
Added new search functionality to module screen
2019-11-14 18:56:03 +01:00
Viktor De Pasquale
c69dcf3e20
Added hiding keyboard when "done" button pressed
2019-11-14 15:19:48 +01:00
Viktor De Pasquale
eec5b37da1
Fixed inconsistent animations in hide
2019-11-14 15:12:53 +01:00
topjohnwu
b29f0ca4d1
Support using BiometricPrompt
2019-11-14 05:42:39 -05:00
topjohnwu
576efbdc1b
Move su logs out of magiskdb
2019-11-14 00:01:06 -05:00
topjohnwu
a7f0510a3e
Update build.gradle
2019-11-13 17:17:21 -05:00
topjohnwu
2ef088cb60
Update RepoDao
2019-11-13 13:23:58 -05:00
topjohnwu
7c320b6fc4
Reformat RxJava extensions
2019-11-13 13:22:51 -05:00
Viktor De Pasquale
e1bda4ee8b
Added new filter for hide section
...
Parts of which will be reused in modules down the line
2019-11-13 18:29:30 +01:00
孟武.尼德霍格.龍
9b297b752e
Update strings.xml
2019-11-13 02:37:35 -05:00
vvb2060
1d6ba58ccd
Update zh-rCN translation
2019-11-13 02:37:10 -05:00
topjohnwu
a6f0aff659
Only store UID for current user
2019-11-13 02:36:34 -05:00
Viktor De Pasquale
54930024f5
Added biometric dialog instead of fingerprint one
2019-11-12 18:01:24 +01:00
Viktor De Pasquale
c5f2f63458
Fixed slow scrolling and list updates on hide screen
2019-11-12 17:23:27 +01:00
Viktor De Pasquale
b2b81a5d0f
Fixed "enabled" state for download action button
2019-11-12 16:45:28 +01:00
Viktor De Pasquale
265dca3723
Removed intermediate loading item
...
- adding intermediate items causes recyclerview renderer to display artifacts (copies of some views)
2019-11-12 15:58:32 +01:00
topjohnwu
171ddab32b
Reorganize code handling su requests
2019-11-12 03:20:07 -05:00
topjohnwu
2aee0b0be0
Refactor code for handling MagiskDB
2019-11-11 15:46:02 -05:00
vvb2060
817cdf7113
fix multiuser owner_managed mode
2019-11-11 14:12:26 -05:00
Viktor De Pasquale
495e734428
Updated module sections so it looks more consistent
2019-11-11 19:36:40 +01:00
Viktor De Pasquale
82120cf47f
Added processing of the download states
2019-11-11 18:01:23 +01:00
Viktor De Pasquale
027a5695f2
Added progressbars to repo items
2019-11-11 18:00:36 +01:00
Viktor De Pasquale
d6d82edff5
Fixed file service not broadcasting indeterminate states
2019-11-11 17:59:44 +01:00
Viktor De Pasquale
a12eb3fc6f
Fixed incorrect indeterminate progressbar color
2019-11-11 17:59:09 +01:00
Viktor De Pasquale
6c84574366
Added loading item to modules
2019-11-11 16:22:33 +01:00
topjohnwu
1a38f25bd9
Properly invoke method
2019-11-10 14:59:19 -05:00
topjohnwu
ad40e53349
Update hacks
2019-11-09 18:17:16 -05:00
topjohnwu
a2ddf362d8
Make a.a not extend AppComponentFactory
...
Fix #2053
2019-11-09 16:13:15 -05:00
Ilya Kushnir
65eca31635
Updating RU translation
2019-11-09 04:40:10 -05:00
Viktor De Pasquale
bc5cbe9fba
Updated module item design to follow suit with the rest of the app
2019-11-08 19:19:19 +01:00
Viktor De Pasquale
f83f92d3fa
Updated modules screen so it displays all the content in one recyclerview
...
Added "endless" scrolling support
- this is done in order to display everything very swiftly and load as user needs it
- for the most part we'll download only ~10 items and load the rest as scroll progresses, this accomplishes the illusion that whole list is being populated
Added sections and updated repo view
2019-11-08 19:04:30 +01:00
topjohnwu
61de63a518
Cleanup manifest
2019-11-08 02:15:30 -05:00
topjohnwu
d952cc2327
Properly solve the connection problem
2019-11-07 17:41:59 -05:00
Viktor De Pasquale
19fd4dd89c
Partially reverted removing "moveToState"
2019-11-06 18:52:58 +01:00
Viktor De Pasquale
f941f5c0b0
Fixed observer not being called immediately
2019-11-06 18:37:11 +01:00
Viktor De Pasquale
c7cad7e4aa
Updated modules so they are properly arranged to respective sections
...
Small updates to module UI
2019-11-06 17:22:26 +01:00
Viktor De Pasquale
1c8988d3f7
Updated "night" style of elevated card
2019-11-05 19:39:06 +01:00
Viktor De Pasquale
70a3dbe2b0
Added primitive implementation of modules screen
2019-11-05 19:38:02 +01:00
Viktor De Pasquale
efbb3ab25f
Fixed red tint regarding system security not being spanned across the whole card
2019-11-05 16:19:41 +01:00
topjohnwu
a6e62e07a2
Sort modules ignore case
...
Close #2024
2019-11-04 17:14:18 -05:00
topjohnwu
b1d25e0503
Reuse ALPHANUM
2019-11-04 15:42:40 -05:00
topjohnwu
25c557248c
Use ContentProvider call method for communication
...
Previously, we use either BroadcastReceivers or Activities to receive
messages from our native daemon, but both have their own downsides.
Some OEMs blocks broadcasts if the app is not running in the background,
regardless of who the caller is. Activities on the other hand, despite
working 100% of the time, will steal the focus of the current foreground
app, even though we are just doing some logging and showing a toast.
In addition, since stubs for hiding Magisk Manager is introduced, our
only communication method is left with the broadcast option, as
only broadcasting allows targeting a specific package name, not a
component name (which will be obfuscated in the case of stubs).
To make sure root requests will work on all devices, Magisk had to do
some experiments every boot to test whether broadcast is deliverable or
not. This makes the whole thing even more complicated then ever.
So lets take a look at another kind of component in Android apps:
ContentProviders. It is a vital part of Android's ecosystem, and as far
as I know no OEMs will block requests to ContentProviders (or else
tons of functionality will break catastrophically). Starting at API 11,
the system supports calling a specific method in ContentProviders,
optionally sending extra data along with the method call. This is
perfect for the native daemon to start a communication with Magisk
Manager. Another cool thing is that we no longer need to know the
component name of the reciever, as ContentProviders identify themselves
with an "authority" name, which in Magisk Manager's case is tied to the
package name. We already have a mechanism to keep track of our current
manager package name, so this works out of the box.
So yay! No more flaky broadcast tests, no more stupid OEMs blocking
broadcasts for some bizzare reasons. This method should in theory
work on almost all devices and situations.
2019-11-04 14:32:28 -05:00
Viktor De Pasquale
b0e7c65504
Added icon for "all processes hidden" state
2019-11-04 17:40:13 +01:00
Viktor De Pasquale
b18b044b63
Updated filter card to be more compact
2019-11-04 17:39:51 +01:00
Viktor De Pasquale
8f5f8db717
Fixed dark mode colors
2019-11-04 17:39:17 +01:00
Viktor De Pasquale
016e28383b
Added animated progressbar
2019-11-04 16:58:39 +01:00
Viktor De Pasquale
f1427e9279
Updated hide item layout
2019-11-04 16:45:54 +01:00
Viktor De Pasquale
169e9ab5ad
Updated hide fragment layout and design of the filter window
2019-11-04 16:02:23 +01:00
topjohnwu
472cde29b8
Allow non supported Magisk to use Magisk Manager
...
Close #1576
2019-11-04 03:24:27 -05:00
linar10
73525d19e9
Update strings.xml
2019-11-03 17:15:17 -05:00
topjohnwu
26618f8d73
Don't do broadcast tests from app
...
Running broadcast tests from the app does not accurately verifies
whether the broadcasts can be delivered when the app is not running in
the foreground, which is why we are running the test.
The only sane way to verify broadcasts is to trigger the broadcast test
directly from the daemon on boot complete. If it is not deliverable,
then activity mode shall be chosen.
In the meantime, cleanup AndroidManifest.xml
2019-11-03 17:01:09 -05:00
topjohnwu
6f7c13b814
Refactor JarMap
2019-11-03 04:45:35 -05:00
topjohnwu
0c9feedb37
Support restarting app when obfuscated
2019-11-03 02:55:22 -05:00
Viktor De Pasquale
dad52724db
Updated hide fragment with more robust filtering UI
2019-11-02 18:31:20 +01:00
Vladimír Kubala
14ba002cbc
Update Slovak translation
2019-11-02 11:59:20 -04:00
Viktor De Pasquale
d48e9d5d72
Removed button patterns defying MD
2019-11-02 15:59:07 +01:00
topjohnwu
7da97489cc
Add v7.4.0 release notes
2019-11-02 01:24:56 -04:00
Oliver Cervera
2dad751889
Update Italian translation
...
- updated existing strings based on english updates
- added new strings
2019-11-02 00:28:07 -04:00
osm0sis
c85b1c56af
signing: fixes for bootimg hdr_v1 and hdr_v2
...
- increase SignBoot bootimg header version maximum from 4 to 8 (upstream AOSP is already at 3) and make a variable for future ease
- hdr read size of 1024 bytes was too small as hdr_v1 and hdr_v2 have increased the used header page areas to 1632 and 1648 bytes, respectively, so raise this to the minimum page size of 2048 and also make a variable for future ease
- do not return "not signed" for all caught exceptions, show StackTrace for future debugging then still return false for script purposes
- correct "test keys" boot image signing strings (scripts and app) to "verity keys"
2019-11-02 00:27:56 -04:00
topjohnwu
4cd154675f
Random dname
2019-11-01 18:52:37 -04:00
Viktor De Pasquale
24e2c3a5e9
Removed unused icons
2019-11-01 21:30:29 +01:00
Viktor De Pasquale
064523ef25
Updated checkbox height
2019-11-01 21:15:02 +01:00
Viktor De Pasquale
85f293a44e
Updated policy colors and internal ids
2019-11-01 21:10:00 +01:00
Viktor De Pasquale
8e412bee5f
Updated radio button sizes
2019-11-01 19:15:05 +01:00
Viktor De Pasquale
7d5555f82e
Added safety notice and support section description
2019-11-01 19:02:30 +01:00
Viktor De Pasquale
6720725d27
Added clarifying tooltips and captions
2019-11-01 18:12:52 +01:00
Viktor De Pasquale
fe5c65d798
Fixed use of RxBus for toggling policies
2019-11-01 17:58:42 +01:00
Viktor De Pasquale
253f3cf1ba
Fixed inconsistent icon sizes
2019-11-01 17:55:25 +01:00
Viktor De Pasquale
d8d72f92b3
Fixed policy toggle being impossible to cancel
2019-11-01 14:47:59 +01:00
topjohnwu
10ce11d671
Fix config/locale issues
...
Close #1977
2019-10-31 17:13:06 -04:00
Viktor De Pasquale
db2e48b49f
Added manager mode recognition
2019-10-31 20:58:17 +01:00
Viktor De Pasquale
5e089451af
Added loaders to superuser and hide
2019-10-31 20:53:57 +01:00
Viktor De Pasquale
6aa22267f4
Updated Hide screen to be fully functioning
...
...although still misses search :(
2019-10-31 20:34:07 +01:00
topjohnwu
0f34457a10
Directly store strings in viewmodel
2019-10-31 15:33:13 -04:00
topjohnwu
34c65e13bc
Fix strings
...
Close #2012
2019-10-31 12:39:54 -04:00
Rom
0a89edf3b0
Update French translation
2019-10-31 02:04:00 -04:00
Viktor De Pasquale
f76c020dd7
Added implementation of hide screen
...
Very much wip and doesn't work at all
2019-10-30 21:58:42 +01:00
Viktor De Pasquale
722fba7805
Updated bottom nav width to not spread useless spaces
2019-10-30 21:09:00 +01:00
Viktor De Pasquale
86551909fc
Added safe mode notice to modules screen
2019-10-30 17:59:03 +01:00
Viktor De Pasquale
588e94c11d
Updated locations of certain elements
...
Settings are now only on home screen as it directly relates to what user might want to do. It is highly unlikely that they would jump from any other screen to settings.
Log is no longer main destination as it's not used very widely; it's been moved to Superuser screen. This screen now encapsulates all root-related stuff.
Home screen is now strictly info-based, except install buttons, of course.
2019-10-30 17:11:42 +01:00
topjohnwu
31e003bda5
Fix bug in version detection
2019-10-30 05:24:22 -04:00
topjohnwu
fdf04f77f2
Send bitmap to notifications and shortcuts
...
On API 23+, the platform unifies the way to handle drawable
resources across processes: all drawables can be passed via Icon.
This allows us to send raw bitmap to the system without the need to
specify a resource ID. This means that we are allowed to NOT include
these drawable resources within our stub APK, since our full APK can
draw the images programmatically and send raw bitmaps to the system.
2019-10-30 01:02:53 -04:00
Viktor De Pasquale
9e66310c28
Updated fragment container
2019-10-29 16:58:46 +01:00
Viktor De Pasquale
93c422dce6
Added post-merge fixes
2019-10-29 16:52:42 +01:00
Viktor De Pasquale
7d6eebdae3
Fixed unreasonable change resulting in major breakage all around the app
2019-10-29 16:50:01 +01:00
Viktor De Pasquale
f11bb609c9
Merge remote-tracking branch 'john/master' into feature/redesign
...
# Conflicts:
# app/build.gradle
# app/src/main/java/com/topjohnwu/magisk/ClassMap.kt
# app/src/main/java/com/topjohnwu/magisk/Info.kt
# app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt
# app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt
# app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt
# app/src/main/java/com/topjohnwu/magisk/utils/DataBindingAdapters.kt
2019-10-29 15:53:53 +01:00
topjohnwu
5e87483f34
Move addAssetPath to shared
2019-10-29 07:37:19 -04:00
topjohnwu
f7aa451591
Update strings
2019-10-29 07:36:50 -04:00
Viktor De Pasquale
b910a92731
Fixed ui issues in unrooted state
2019-10-27 11:00:16 +01:00
topjohnwu
ee447bc4ce
Improve Keygen yet again
2019-10-26 21:11:32 -04:00
topjohnwu
7693024c29
Replace general resources with platform
2019-10-26 19:23:57 -04:00
Mevlüt TOPÇU
9628700a2f
Update Turkish language
...
Hi,
Merge please
Thanks
2019-10-26 19:03:52 -04:00
Taras
38576173cb
Update Ukrainian translation
2019-10-26 19:03:37 -04:00
topjohnwu
19a769c12e
Update dependencies
2019-10-26 19:02:11 -04:00
topjohnwu
626507093a
Don't need to wrap another layer of context
2019-10-26 15:37:12 -04:00
Viktor De Pasquale
ee7d297ca8
Partially reverted developer section changes
2019-10-26 21:14:01 +02:00
Viktor De Pasquale
a70c0174e1
Added device info card
2019-10-26 21:03:25 +02: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
a41597431c
Added more information to magisk/manager cards
2019-10-26 17:33:27 +02:00
Viktor De Pasquale
d0b817381e
Added "caching" of the safetynet response
2019-10-26 16:03:07 +02:00
Viktor De Pasquale
60a2e9b5dc
Updated home info cards to be more compressed
2019-10-26 15:14:20 +02:00
Viktor De Pasquale
df3a37b0a3
Updated developer section to be horizontally scrollable instead of vertically
...
In order to make room for more information
2019-10-26 12:41:34 +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
8a2872afa4
Removed pre-download while installing magisk
2019-10-25 17:46:20 +02:00
Viktor De Pasquale
85941c4729
Removed lol code
2019-10-25 15:40:46 +02:00
topjohnwu
588b3d14a3
Fix typo
2019-10-24 15:37:32 -04:00
vvb2060
815efa7791
Update zh-rCN translation
2019-10-24 13:04:36 -04:00
topjohnwu
97a691ce2f
Improve keygen for signing repackaged manager
2019-10-24 13:04:15 -04:00
Viktor De Pasquale
82eeefb544
Added system version to the details section for safetynet checks
2019-10-24 18:40:15 +02:00
topjohnwu
9d948f2c2b
Temporary disable verification when hiding app
...
For some reason, Google Play Protect randomly blocks our self-signed
repackaged Magisk Manager APKs. Since we are root, the sky is our
limit, so yeah, disable package verification temporarily when installing
patched APKs, LOLz
Close #1979
2019-10-24 12:23:03 -04:00
Viktor De Pasquale
f6061ba00e
Fixed bottom navigation popping up when it shouldn't
2019-10-24 18:07:36 +02:00
Viktor De Pasquale
9e3afcfe7a
Added safetynet implementation
2019-10-24 18:00:51 +02:00
topjohnwu
0b87108174
Move things around
2019-10-24 05:21:42 -04:00
topjohnwu
7fc7809cfc
More precise channel targeting
2019-10-24 04:25:05 -04:00
topjohnwu
c30be20e49
Minor CachedValue fix
2019-10-24 04:02:01 -04:00
topjohnwu
25c64db0a1
Treat outdated stub as outdated manager
2019-10-24 03:54:16 -04:00
topjohnwu
676e9c6593
Provide upgrade path for stubs
2019-10-24 02:47:40 -04:00
topjohnwu
d459859361
Show stub version
2019-10-24 00:54:40 -04:00
topjohnwu
294db93fde
Copy instead of move
...
We might be copying from CE to DE storage, which cannot be moved
2019-10-23 17:20:55 -04:00
Viktor De Pasquale
21f2f86cb8
Added safetynet implementation
...
The implementation itself was moved from fragment to self contained event. The result resolution might be moved to the event as well
2019-10-23 21:17:53 +02:00
Viktor De Pasquale
04576ca828
Added install implementation
2019-10-23 19:14:39 +02:00
Viktor De Pasquale
067cb0cd9d
Fixed magisk button states
2019-10-23 16:20:01 +02:00
topjohnwu
7f971f7173
Make sure our constructor is preserved
2019-10-23 07:51:32 -04:00
topjohnwu
5c7b59524d
Fix strings
2019-10-23 07:15:28 -04:00
topjohnwu
5133e5910e
Don't relaunch app immediately
2019-10-23 07:12:00 -04:00
Abhishek Dubey
3eb9633231
Add Hindi Translation
2019-10-23 06:53:46 -04:00
onevt
ac67b48247
Fix swedish translation typo
2019-10-23 06:53:07 -04:00
topjohnwu
45c1f6bc27
Fix restore manager when running as stub
2019-10-23 06:43:08 -04:00
topjohnwu
0d31e5c8b1
Properly migrate update channels when repackaging
2019-10-23 06:41:25 -04:00
topjohnwu
f8fcaadb5b
Hide manager with stub if feasible
2019-10-23 05:50:06 -04:00
topjohnwu
0b5fd3ee76
Only allow hide/restore app if connected
2019-10-23 05:43:01 -04:00
topjohnwu
71136d7347
Manually trigger broadcast tests if necessary
2019-10-22 16:04:20 -04:00
topjohnwu
a18c552ddf
Guard env state behind cached objects
2019-10-22 15:37:55 -04:00
Viktor De Pasquale
17fb8f2298
Added new magisk install flow
2019-10-22 20:46:09 +02:00
Viktor De Pasquale
fbfc4e72ca
Updated appbar design to be more android-like
2019-10-22 18:09:26 +02:00
Viktor De Pasquale
d2e171eabc
Added a way to listen to download service from homepage and behave accordingly
2019-10-22 17:29:45 +02:00
Viktor De Pasquale
e50094af80
Added install fragment
2019-10-22 16:29:01 +02:00
Viktor De Pasquale
93edf72993
Rationalize download failure
2019-10-22 16:26:28 +02:00
Viktor De Pasquale
a230d63cf9
Fixed having an error doesn't inform external listeners
2019-10-22 16:22:28 +02:00
topjohnwu
9656878ef3
Actually apply the input name
2019-10-22 05:06:17 -04:00
Viktor De Pasquale
7ded7de39a
Added custom dialog for setting app's name after repackaging
2019-10-22 04:52:19 -04:00
topjohnwu
0f74e89b44
Introduce component agnostic communication
...
Usually, the communication between native and the app is done via
sending intents to either broadcast or activity. These communication
channels are for launching root requests dialogs, sending root request
notifications (the toast you see when an app gained root access), and
root request logging.
Sending intents by am (activity manager) usually requires specifying
the component name in the format of <pkg>/<class name>. This means parts
of Magisk Manager cannot be randomized or else the native daemon is
unable to know where to send data to the app.
On modern Android (not sure which API is it introduced), it is possible
to send broadcasts to a package, not a specific component. Which
component will receive the intent depends on the intent filter declared
in AndroidManifest.xml. Since we already have a mechanism in native code
to keep track of the package name of Magisk Manager, this makes it
perfect to pass intents to Magisk Manager that have components being
randomly obfuscated (stub APKs).
There are a few caveats though. Although this broadcasting method works
perfectly fine on AOSP and most systems, there are OEMs out there
shipping ROMs blocking broadcasts unexpectedly. In order to make sure
Magisk works in all kinds of scenarios, we run actual tests every boot
to determine which communication method should be used.
We have 3 methods in total, ordered in preference:
1. Broadcasting to a package
2. Broadcasting to a specific component
3. Starting a specific activity component
Method 3 will always work on any device, but the downside is anytime
a communication happens, Magisk Manager will steal foreground focus
regardless of whether UI is drawn. Method 1 is the only way to support
obfuscated stub APKs. The communication test will test method 1 and 2,
and if Magisk Manager is able to receive the messages, it will then
update the daemon configuration to use whichever is preferable. If none
of the broadcasts can be delivered, then the fallback method 3 will be
used.
2019-10-21 13:59:04 -04:00
Viktor De Pasquale
2bb39bee2f
Updated redesign button design
2019-10-21 19:30:14 +02:00
Viktor De Pasquale
ce2ca5446a
Fixed checkbox's theme implementation in dark mode
2019-10-21 19:22:56 +02:00
Viktor De Pasquale
8a014ff786
Added most of the remaining functionality for Magisk install dialog
2019-10-21 19:22:16 +02:00
topjohnwu
96a8a2a8b8
Make SuRequest default to Translucent.NoTitleBar
...
Close #1959
2019-10-20 17:35:38 -04:00
Viktor De Pasquale
dc09ec7598
Added theme mode picker dialog
...
Redesigned settings' selector for dark mode a bit
2019-10-20 17:28:18 +02:00
Viktor De Pasquale
27fb0474d5
Added more standard night-mode system
2019-10-20 17:27:39 +02:00
Viktor De Pasquale
7f0a87742a
Fixed design issues in dialogs
...
Dark theme not being properly implemented
Icons were not set
2019-10-20 17:26:00 +02:00
Viktor De Pasquale
47e236788c
Added uninstall dialog
2019-10-20 16:47:02 +02:00
topjohnwu
325d9a0b86
Generate keys for signing hidden Magisk Manager
2019-10-20 06:56:33 -04:00
Viktor De Pasquale
236ad57608
Added showing download progress in the home ui
2019-10-20 12:40:50 +02:00
Viktor De Pasquale
6d03798314
Added internal download pseudo broadcasts
2019-10-20 12:40:26 +02:00
Viktor De Pasquale
c954a4f7bc
Updated icons and texts for magisk hide and safetynet
2019-10-20 11:29:04 +02:00