342 Commits

Author SHA1 Message Date
topjohnwu
73203a55ca Use fancy NestedScrollView for Magisk logs 2020-06-30 04:14:23 -07:00
topjohnwu
397f7326a3 Update SafetyNet UI to show evalType 2020-06-30 03:56:41 -07:00
topjohnwu
a0b47f3ca3 Precompute TextView in I/O thread for performance 2020-06-29 05:26:07 -07:00
topjohnwu
89e9e7c176 Simplify UI code for Magisk logs
We have all texts, no need to go through recyclerview
2020-06-29 05:22:16 -07:00
Viktor De Pasquale
4bcc2b2f03 Added bottom padding to hide screen
Close #2903
2020-06-25 10:01:37 -07:00
topjohnwu
23a33b4351 Remove core only mode
Replaced by native safe mode
2020-06-21 15:59:06 -07:00
topjohnwu
43146b8316 Update su request process
Due to changes in ec3705f2ed187863efc34af5415495e1ee7775d2, the app can
no longer communicate with the dameon through a socket opened on the
daemon side due to SELinux restrictions. The workaround here is to have
the daemon decide a socket name, send it to the app, have the app create
the socket server, then finally the daemon connects to the app through
the socket.
2020-06-19 03:52:25 -07:00
topjohnwu
b71b4bd4e5 Fix colors in su request dialog 2020-06-19 03:14:23 -07:00
Viktor De Pasquale
d810e6c82d Fixed modules screen crashing on load
This commit fixes the issue of adding single-span items in between full-span items whilst using `StaggeredGridLayoutManager` on recycler view.

Adding such items results in:
```
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 13
	at java.util.Arrays.rangeCheck(Arrays.java:123)
	at java.util.Arrays.fill(Arrays.java:2828)
	at androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup.invalidateAfter(StaggeredGridLayoutManager.java:2876)
	at androidx.recyclerview.widget.StaggeredGridLayoutManager.handleUpdate(StaggeredGridLayoutManager.java:1548)
	at androidx.recyclerview.widget.StaggeredGridLayoutManager.onItemsUpdated(StaggeredGridLayoutManager.java:1524)
	at androidx.recyclerview.widget.RecyclerView$6.dispatchUpdate(RecyclerView.java:1021)
	at androidx.recyclerview.widget.RecyclerView$6.onDispatchSecondPass(RecyclerView.java:1032)
	at androidx.recyclerview.widget.AdapterHelper.consumePostponedUpdates(AdapterHelper.java:121)
	at androidx.recyclerview.widget.AdapterHelper.consumeUpdatesInOnePass(AdapterHelper.java:557)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4128)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
	at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
	...and more
```

Affects versions including and prior to androidx.recyclerview:recyclerview:1.2.0-alpha02 (at the time of this commit) and possibly more after that.

This bug is caused by a single fact and that is - array inside of `LazySpanLookup` is not being invalidated and resized correctly when non-full-span item is being added in between of two full-span items. The invalidation however passes on some (high performance) devices so it doesn't necessarily cause issues for _some_ users; others keep getting the same crash over and over again.

Possible fix for anyone reading this, in the hope of fixing the same error, is to copy-paste the `StaggeredGridLayoutManager` and fix the array length before calling `Arrays.fill()`. There's no fix from user's perspective if you need to keep the UI as-is.
We however don't need the UI as-is, so we're instead opting to use LinearLayoutManager until is the issue resolved.

Continues tracking at https://issuetracker.google.com/issues/37034096

Close #2631
2020-04-12 05:40:19 -07:00
topjohnwu
5537b083a8 Move surequest out of legacy 2020-03-30 23:53:21 -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
Viktor De Pasquale
1920a52829 Added progressbar indicating content loading on modules screen 2020-03-29 06:10:19 -07:00
Viktor De Pasquale
6907651756 Updated flash screen so it's a fragment
The FlashActivity has been removed and all of it's functionality has been transferred to the FlashFragment.
The FlashFragment needs to be however launched in a different way than the activity using the MainActivity's stub and so seemingly massive changes had to be made.

Notably the RemoteFileService didn't seem to be calling Service.startForeground(), which has been crashing the application due to the system requirements, so that's been fixed.
2020-03-26 03:42:52 -07:00
Viktor De Pasquale
1b8813228b Updated the app to use navigation components instead of custom solution
Welcome to mid 2018.
2020-03-26 03:42:52 -07:00
Viktor De Pasquale
922e36cfb0 Updated the width of bottom navigation 2020-03-26 03:42:52 -07:00
Viktor De Pasquale
edff094626 Added log as primary fragment 2020-03-26 03:42:52 -07:00
Viktor De Pasquale
9f4958e869 Updated safetynet success color to primary 2020-03-12 00:30:00 -07:00
Viktor De Pasquale
409cb06ea0 Fixed layout not reacting to nested scroll on su screen 2020-03-04 23:51:06 -08:00
topjohnwu
915fd3020b Small string resource reorganization
Close #2454
2020-02-29 14:49:06 -08:00
topjohnwu
5c0e86383c Add test button toggle in code 2020-02-28 11:53:25 -08:00
topjohnwu
64f5ff5475 Use global A/B detection 2020-02-28 10:30:53 -08:00
topjohnwu
b90e0430f8 Don't do layered cards 2020-02-27 01:43:00 -08:00
Viktor De Pasquale
e6464c5c7f Fixed module filter list not respecting single column layout 2020-02-25 15:03:31 -08:00
topjohnwu
8453282fa6 Improve flash console screen 2020-02-16 19:04:26 -08:00
topjohnwu
40f971d18a Add entrypoint for testing
Should do it with proper unit test, but duh
2020-02-15 21:57:03 -08:00
topjohnwu
ce7cb1eeae Remove device section 2020-02-12 13:26:10 -08:00
Viktor De Pasquale
d2701616da Fixed bottom navigation colors so it doesn't blend together with the misused layout underneath 2020-02-12 10:48:24 -08:00
Fox2Code
10eb159e1b
Disable Grant Button for 1 seconds after popup display 2020-02-11 21:45:10 -08:00
topjohnwu
36897ceb19 Add slight stroke to navigation card 2020-02-11 21:32:44 -08:00
topjohnwu
9a8274130b Manually set referenced resource ID for barriers 2020-02-11 20:54:23 -08:00
topjohnwu
70d5e2dee8 Remove board info from home screen 2020-02-11 19:57:33 -08:00
topjohnwu
c586106e51 Remove confusing scrambled "Manager" text 2020-02-11 19:55:21 -08:00
topjohnwu
ffa85a616a Update home screen layout (yet again) 2020-02-11 19:46:29 -08:00
Viktor De Pasquale
e5ea3e4a43 Fixed button text color on flash screen 2020-02-11 10:42:17 -08:00
Viktor De Pasquale
0492e63862 Added unified switches to install screen 2020-02-11 10:42:05 -08:00
Viktor De Pasquale
9952387356 Updated layouts to fit new widget that should visually represent a switch
The switch is not actually a switch, but a representation of internal state, the layouts continue to accept touch events as beforehand.
2020-02-11 10:42:05 -08:00
Viktor De Pasquale
e9fc40d285 Removed grid scale gestures and reverted back to * simple list as a default
* disgusting (:
2020-02-11 10:42:05 -08:00
topjohnwu
9471577b3b Properly detect advanced device info 2020-02-10 16:33:58 -08:00
topjohnwu
3b8d2fe8b7 Add ramdisk detection 2020-02-10 01:56:34 -08:00
topjohnwu
d51d549a28 Refactor string resources 2020-02-10 01:43:28 -08:00
topjohnwu
64f35744c4 Reorganize home screen layout 2020-02-09 17:03:05 -08:00
Viktor De Pasquale
b512528148 Updated toolbar layout to match the new aesthetic 2020-02-09 03:20:38 -08:00
Viktor De Pasquale
fdfa037dca Added very slight hint of the card being selectable 2020-02-09 03:20:28 -08:00
Viktor De Pasquale
810468c279 Added offline states for magisk and manager sections 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
8146d0830d Fixed wrong horizontal bias 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
7e946b040c Updated uninstall button to match aesthetic 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
97d24a7d4d Removed single-use reboot menu
This addition will be used in modules as soon as the homepage gets merged
2020-02-09 03:20:14 -08:00
Viktor De Pasquale
dd9129017f Added a condition to hide reboot button when no root is available 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
cbe3602cb7 Fixed views hiding the view below with them 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
1d831d65f3 Added overflow menu for reboot 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
c35d020731 Added uninstall button to magisk details 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
c18db555a4 Updated sections' title colors 2020-02-09 03:20:14 -08:00
Viktor De Pasquale
373092af16 Updated homepage layout
The updated layout has extended features such as reboot (not implemented yet), more details with not text ellipsis and easy extendability with further parameters, detail or whatever
More improvements to homescreen to come in upcoming commits.
2020-02-09 03:20:14 -08:00
Viktor De Pasquale
6812f9d202 Updated su request dialog to match overall app theme 2020-02-02 16:00:04 +08:00
Viktor De Pasquale
555e7cc907 Fixed dialog not being centered
Close #2369
2020-02-02 15:59:44 +08:00
Viktor De Pasquale
4638fdf2d7 Fixed dialog content being squished unnecessarily
...by updating constraint layout
...lol
2020-01-31 04:13:08 +08:00
wiki de pasquale
0783d385d5
Removed security note
Note, and the backdrop, has been removed, since users which have chosen device that doesn't receive security updates in, at least 2 months, are getting triggered by their own choices (:
2020-01-31 04:12:49 +08:00
Viktor De Pasquale
1ba9faf35b Added legacy theme (Fraxure)
Theme is, in color, identical to legacy colors.
2020-01-31 04:09:45 +08:00
Viktor De Pasquale
6e48294f2a Removed unnecessary files and merged styles 2020-01-31 04:09:45 +08:00
Viktor De Pasquale
7bf7bfb9c6 Updated Flash / SuRequest activities with app themes
CompatActivity/Fragment logic has been moved to respective BaseUI. Some deprecated and unused styles have been removed in favor or newer themes.
2020-01-29 01:12:21 +08:00
topjohnwu
0dc9f5c324 Rename some string IDs 2020-01-23 02:34:18 +08:00
topjohnwu
36513c2301 Don't direct reference R id 2020-01-23 02:23:42 +08:00
topjohnwu
2291be5d26 Merge string resources 2020-01-23 01:40:36 +08:00
Viktor De Pasquale
5c1417e276 Updated home layout 2020-01-21 21:47:57 +01:00
topjohnwu
e6f443cb24 More backwards compatibility 2020-01-17 00:40:16 +08:00
topjohnwu
087ccd69c9 Cleanup resources 2020-01-16 00:07:40 +08:00
topjohnwu
707d7b3342 Separate core components 2020-01-13 22:01:46 +08:00
topjohnwu
3490ba0a56 Redesign is now the new norm 2020-01-13 00:43:09 +08:00
topjohnwu
9094cf7ce3 Replace old design with redesign (p2) 2020-01-12 16:07:30 +08:00
topjohnwu
22c9d836e0 Merge branch 'master' into feature/redesign 2020-01-12 03:02:03 +08:00
Viktor De Pasquale
afa178fdec Fixed the checkbox being wrongly recognized as clickable 2020-01-09 18:06:30 +01:00
Viktor De Pasquale
6a2acbe929 Added tiny hint that magisk can be uninstalled using the icon 2020-01-06 19:31:06 +01:00
Viktor De Pasquale
904948dc7d Added empty states for all remaining screens
Fixed some issues in the process as the MergeObservableList doesn't support additions or deletions, duh...
2020-01-06 19:03:36 +01:00
Viktor De Pasquale
ed837ba26f Updated the logic that refreshes the modules
Also added empty states for installed and made updatable modules visible all the time to avoid unnecessary transitions
2020-01-06 17:46:08 +01:00
Viktor De Pasquale
baf18a8762 Fixed cardview resizing itself idiotically in constraint layout 2020-01-06 16:33:55 +01:00
topjohnwu
ea9947081f Use widgets from AndroidX 2020-01-05 16:27:28 +08:00
Viktor De Pasquale
bc0bb92f7a Updated indication of whether the module is enabled 2020-01-04 16:46:13 +01:00
Viktor De Pasquale
8737be2623 Updated policy (apps) layout to be more compact
Added pinch in to increase list span count / out to decrease
  The setting will be remembered across the whole app (every list that uses Staggered Grid)
Updated indication of whether the policy has root access enabled permitted or not
  Displays crossed out app logo if not permitted
2020-01-04 16:07:53 +01:00
Viktor De Pasquale
67b5f39df2 Updated device info view to be expanded by default 2020-01-04 11:52:29 +01:00
topjohnwu
40c64d50d5 Merge branch 'master' into feature/redesign 2020-01-02 14:52:50 +08:00
nikk gitanes
3c2041933f Remote focus fixes (classic UI) 2020-01-01 15:06:24 +08:00
Viktor De Pasquale
89b1fa341b Added assigning repo to installed modules to show readme
Close #1089
2019-12-13 15:19:56 +01:00
Viktor De Pasquale
85a350b6c8 Fixed minor RTL issues 2019-12-06 20:53:22 +01:00
Viktor De Pasquale
eae4eff92f Fixed custom dialog behaving oddly while displaying scrollable content 2019-12-06 20:34:25 +01:00
Viktor De Pasquale
8a03c366b8 Updated settings item location >in code< 2019-12-06 15:39:12 +01:00
Viktor De Pasquale
2692234b8c Updated hide items to follow suit with the rest of scrollable content 2019-12-02 18:53:55 +01:00
Viktor De Pasquale
bfb5d7e5ac Reverted tinting headlines 2019-12-02 18:51:22 +01:00
Viktor De Pasquale
8c818e707f Updated homepage to be less aggressive 2019-12-02 18:39:22 +01:00
Viktor De Pasquale
3efea47ca8 Updated settings to level functionality with the legacy 2019-12-02 18:35:48 +01:00
Viktor De Pasquale
34a0a00e3c Updated constraint layout to fix layout issue in dialog 2019-11-29 21:04:32 +01:00
Viktor De Pasquale
dec1094a59 Added "input" settings item, that opens custom input dialog
Updated order of some items in settings
2019-11-29 20:22:24 +01:00
Viktor De Pasquale
02e323133d Updated selector "selection" design 2019-11-29 14:49:41 +01:00
Viktor De Pasquale
cb96b536a2 Added fair amount of settings implemented from the UI side
Updated dialog to create recycler as it behaves better than regular listview
2019-11-28 21:53:31 +01:00
Viktor De Pasquale
73c4b21285 Added (partially) settings screen
Most importantly added design and functionality backing for these items
2019-11-27 19:47:20 +01: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
Viktor De Pasquale
42606162b2 Fixed text color in logs not changing with theme 2019-11-21 18:21:08 +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