Commit Graph

2587 Commits

Author SHA1 Message Date
topjohnwu
60e1e07e87 Proper SafetyNet UI databinding 2020-09-13 00:23:23 -07:00
topjohnwu
e51a3dacb9 Support theme switching pre SDK 21 2020-09-12 18:42:05 -07:00
topjohnwu
9a8a27dbb9 Do not access color attributes in background
Workaround with ImageView tints
2020-09-12 03:17:21 -07:00
topjohnwu
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
Rom
e66b0bf3b2 Little French translation update 2020-09-10 01:13:20 -07:00
AioiLight
0555b73a19 Update strings.xml 2020-09-10 01:12:52 -07:00
RoySchutte
877a297de4 Update strings.xml
Fixed 1 grammatical error, and changed a string to the proper translation.
2020-09-10 01:12:17 -07:00
vvb2060
49559ec0ec try root if adb install fail 2020-09-10 01:02:50 -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
o4x
38a34a7eeb Add persian language 2020-08-30 12:57:03 -07:00
vvb2060
70174e093b
Optimize network status display 2020-08-30 12:56:36 -07:00
vvb2060
0333e82e86 Fix string 2020-08-30 12:46:22 -07:00
peter9811
36a8839cf8 Update strings.xml 2020-08-30 12:46:03 -07:00
peter9811
d0ed6e7fe3 Update spanish 2020-08-30 12:46:03 -07:00
孟武.尼德霍格.龍
72dfbf5e44 更新繁體中文字串
更新繁體字串到適用v295的版本及以後
2020-08-30 12:45:19 -07:00
topjohnwu
114a3c037f Some minor UI tweaks 2020-08-29 22:55:18 -07:00
topjohnwu
782adc9a9f Cleanup some styles 2020-08-29 21:42:05 -07:00
vvb2060
e0642b018d Update zh-rCN translation 2020-08-28 04:54:32 -07:00
topjohnwu
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
b4e8860ee4 Only make navbar and status bar transparent on 21+
There is no easy way to handle insets pre 21, forget about it
2020-08-27 04:07:34 -07:00
topjohnwu
fb3f8605fd Change to a more recognizable icon 2020-08-27 03:10:25 -07:00
topjohnwu
e394445f1b Properly handle dialog dismiss for SafetyNet
Fix #3103
2020-08-26 18:54:38 -07:00
topjohnwu
ca1b0bf1ce Fix strings 2020-08-26 18:51:22 -07:00
topjohnwu
bf5798190d Fix dialog when toggling keyboard multiple times 2020-08-26 06:39:59 -07:00
AdiityaAndre
ca5030a646 Updated stub translation
* small derp in main translation
2020-08-26 06:00:00 -07:00
AdiityaAndre
e22324e434 Update and improve Indonesian translation 2020-08-26 06:00:00 -07:00
JoanVC100
e46d4ecd3e
Corrections and update ca-strings 2020-08-26 05:58:10 -07:00
topjohnwu
84f92bd661 Cleanup hide fragment code 2020-08-26 05:46:37 -07:00
vvb2060
b44dcc2da0 Fix SafetyNet 2020-08-24 06:27:05 -07:00
topjohnwu
d6062944f1 Update snet extension to prevent crashes on release builds 2020-08-24 06:24:58 -07:00
Ilya Kushnir
79f549795b Update main RU strings 2020-08-24 04:14:03 -07:00
Rom
1ac379c17a
Update French translation 2020-08-24 04:12:58 -07:00
kubalav
51a4dbf263 Update strings.xml 2020-08-24 04:08:30 -07:00
topjohnwu
e437ffdbae Improvements to the installation UI
- No longer show irrelevant options to the user
- No longer require an additional button press to start installation
2020-08-24 04:04:52 -07:00
topjohnwu
ccde8b73a2 Cleanup install screen layout 2020-08-24 00:19:08 -07:00
topjohnwu
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
f200d472ef Move icon resources out of stubs 2020-08-20 06:02:22 -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
b2bece9ef6 Fix resources 2020-08-18 02:53:47 -07:00
topjohnwu
7f225b3973 Minor MarkwonImagePlugin updates 2020-08-15 23:20:49 -07:00
孟武.尼德霍格.龍
72e7605fce 更新繁體中文字串
同上
2020-08-15 22:16:43 -07:00
vvb2060
a4c1ddd9f2 Use uid 2000 to install patched apk 2020-08-15 22:16:15 -07:00
cristisilaghi
ddd513110f Update Romanian 2020-08-15 22:07:35 -07:00
topjohnwu
e33d623d40 Update dependencies 2020-08-15 05:43:28 -07:00
Rom
eec19ba9af Update French translation
It should contain all new strings.
2020-08-14 03:24:07 -07:00
Mevlüt TOPÇU
413b3f394b Update strings.xml
Hi,

Update Turkish language

Merge please

Thanks
2020-08-14 03:20:58 -07:00
Ilya Kushnir
88cee1212b
Update RU strings 2020-08-14 03:20:02 -07:00
vvb2060
cf25fa8ed8 Update build.gradle 2020-08-14 03:18:45 -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
Taras
5e3c9e5022
Update Ukrainian translation 2020-08-11 03:39:29 -07:00
Vladimír Kubala
f7f821b93c
Update Slovak translation 2020-08-11 03:39:01 -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
d10680187d Nest CardView with alpha in another FrameLayout
RecyclerView animator will mess with alpha when animating
Check this StackOverflow question for more info:
https://stackoverflow.com/questions/40942116/setalpha-on-onbindview-in-recyclerview-doesnt-work-on-first-display
2020-08-09 22:04:09 -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
2e5402d741 Disable scroll effect for icon links 2020-08-09 13:29:18 -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
11222c89d4 Update SafetyNet icon 2020-08-09 03:37:34 -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
RoySchutte
1276c28e03 Update strings.xml 2020-08-08 05:26:21 -07:00
topjohnwu
0835ff88b2 Update zipsigner version 2020-08-08 05:12:02 -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
aed3ab994e Update libsu 2020-07-24 00:26:21 -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
f7abc03dac Move copy util_functions.sh from Python scripts to gradle 2020-07-17 00:44:51 -07:00
antikruk
ef3f188a2c bel 2020-07-17 00:16:32 -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
topjohnwu
6348d0a6fb Remove more code using RxJava 2020-07-10 04:19:18 -07:00
topjohnwu
f7a650b9a4 Clear up RxJava from ViewModels 2020-07-09 05:15:53 -07:00
topjohnwu
a97d278bcd Remove RxBus 2020-07-09 05:13:24 -07:00
topjohnwu
8647ba4729 Remove more RxJava 2020-07-09 04:49:14 -07:00
topjohnwu
4631077c49 Call the correct constructor 2020-07-09 04:40:07 -07:00
topjohnwu
18dab28c32 Remove usage of KObservableField 2020-07-08 06:14:32 -07:00
topjohnwu
8ffbffddb3 Update SuRequest handler 2020-07-08 03:13:01 -07:00
topjohnwu
f191db2fe0 Allow ViewModel to opt-out RxJava
Transition period
2020-07-08 01:50:28 -07:00
topjohnwu
dc8f0f6feb Bug fixes in modules fragment
- Progress is not updated in upgradable modules (and can cause crash)
- EndlessRecyclerScrollListener is not reset on new query
2020-07-08 01:40:08 -07:00
topjohnwu
01a43b03bd De-Rx ModuleViewModel 2020-07-08 01:26:45 -07:00
topjohnwu
86db0cd2cd Load installed modules with coroutine 2020-07-07 03:37:53 -07:00
topjohnwu
ae6dd50ccd Fix RepoUpdater force refresh bug 2020-07-07 03:18:01 -07:00
topjohnwu
77032eced1 Load repos with coroutine 2020-07-07 01:57:56 -07:00
topjohnwu
820427e93b Have some fun with Kotlin Coroutines 2020-07-06 22:30:21 -07:00
topjohnwu
89e11c9cc8 Minor changes in flash viewmodel 2020-07-06 21:05:43 -07:00
topjohnwu
05cf53fe6f Merge files 2020-07-06 15:40:05 -07:00
topjohnwu
7922f65243 Welcome Gradle Kotlin DSL 2020-07-04 06:54:53 -07:00
topjohnwu
67f7935421 Restructure project 2020-07-04 04:09:19 -07:00
topjohnwu
0f7caa66fb Remove usage of grid layouts 2020-07-04 03:28:21 -07:00
Mexit
bd14994eb9 Update Polish translation 2020-07-04 03:01:55 -07:00
vvb2060
08818e8542 Remove force_pm_install
gms package verifier only checks the `notBefore` value of the certificate
2020-07-04 03:00:51 -07:00
topjohnwu
706eba329d Add release notes to the install fragment 2020-07-04 02:55:19 -07:00
waffshappen
cef14d4576 Fix release build XLint error for translations
Due to the accidental safety>N<et the release build would fail with XLint complaining about a missing default translation. Correcting this to be in line with the actual translation fixes the build error.


Xlint Error in Question: 

```res/values-in/strings.xml:106: Error: "safetyNet_api_error" is translated here but not found in default locale [ExtraTranslation]
    <string name="safetyNet_api_error">Kesalahan API SafetyNet</string>```
2020-07-01 09:56:14 -07:00
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
4bbd7989dd Update snet extension
Receive full snet payload from extension
2020-06-30 02:24:58 -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
topjohnwu
ddc2f317ab Update dependencies 2020-06-29 03:58:19 -07:00
topjohnwu
867bab8513 Restart activity with fresh intent
Fix #2706
2020-06-29 03:30:23 -07:00
topjohnwu
b1e0c5ff38 Export MAGISKTMP so it survives exec
Fix #2926
2020-06-29 03:24:53 -07:00
topjohnwu
3c78344812 Refactor version handling 2020-06-28 06:52:02 -07:00
Ilya Kushnir
594f268885 Update RU strings 2020-06-27 13:23:45 -07:00
Fox2Code
93d5716414 Disable Volumes keys on flash
- Thank Diareuse for helping me
2020-06-27 13:22:09 -07:00
vvb2060
fc6ef7dd57 Show magisk update notification only when magisk is installed 2020-06-27 04:54:58 -07:00
mustafairaqi8
c881fd4964 Updated Arabic Translation 2020-06-25 10:02:15 -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
e02386a6ac Move install module button to the top 2020-06-21 12:53:31 -07:00
YFdyh000
1ededc637e l10n: Update Chinese Simplified translations 2020-06-20 12:12:40 -07:00
topjohnwu
45b5e89912 Remove canary debug channel
All canary builds will be debug only
2020-06-20 02:45:02 -07:00
Albert I
a748d5291a app: l10n: Update Indonesian translations
Signed-off-by: Albert I <kras@raphielgang.org>
2020-06-20 01:37:47 -07:00
Peter Meiser
f5131fae56 Update German translation 2020-06-20 01:37:27 -07:00
topjohnwu
43146b8316 Update su request process
Due to changes in ec3705f2ed, 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
topjohnwu
eecb66f4f1 Create ForegroundTracker 2020-06-17 04:07:31 -07:00
topjohnwu
e7f1c03151 Cleanup code for su request 2020-06-17 03:47:12 -07:00
topjohnwu
56602cb9a3 Update gradle files 2020-06-17 02:33:33 -07:00
topjohnwu
6030b00ee2 Remove excessive logging 2020-06-03 01:28:50 -07:00
topjohnwu
a17908f6e1 Only resolve via DoH for specific hostnames 2020-06-03 01:15:05 -07:00
Chris Renshaw
ad94f10205 Fix direct install on NAND devices
Co-authored-by: John Wu <topjohnwu@gmail.com>
2020-06-01 02:08:13 -07:00
Ilya Kushnir
f8a814a588 Fix RU strings 2020-05-31 05:32:18 -07:00
topjohnwu
4c4338cc02 Adapt to AGP 4.0 2020-05-30 13:06:03 -07:00
Facundo Montero
5675a1ae7d
app/stub: values-es: update to provide more consistency.
This update aims to provide better consistency to the Spanish
translation by properly separating each possible pronoun.

Other small grammar errors have also been corrected.
2020-05-30 12:56:37 -07:00
AioiLight
0952224c3d
Update JA strings 2020-05-30 12:56:02 -07:00
JoanVC100
4e26c10287
Fix CA strings 2020-05-30 12:55:26 -07:00
vvb2060
f3e82b9ef1
Add DoH using cloudflare-dns 2020-05-30 12:53:46 -07:00
topjohnwu
fde78be2b4 Update Android Studio 2020-05-30 12:50:08 -07:00
Tornike Khintibidze
18a09703de
Updated Georgian translation 2020-05-17 15:09:51 -07:00
Hen Ry
1bcef38739
Fix German translation 2020-05-16 22:29:26 -07:00
topjohnwu
85755e3022 Tone down our DTB patching
- Do not attempt to patch DTB anywhere outside of boot images as they
are no longer essential. This makes Magisk installation to only modify
strictly boot/recovery partitions again.
- The only required patch for DTB is to strip verity out of partitions
2020-05-05 03:29:36 -07:00
topjohnwu
f9ff814955 Update gradle files 2020-04-19 02:47:22 -07:00
topjohnwu
37d38b62b1 Fix strings 2020-04-12 05:53:23 -07:00
Ilya Kushnir
f9bb517142
Update RU strings 2020-04-12 05:50:58 -07:00
tzagim
efe9b867d5
Add Hebrew Translation 2020-04-12 05:49:22 -07:00
Viktor De Pasquale
d9cf33d1ba Fixed shortcuts
This has been broken due to recent transition to navigation components
2020-04-12 05:40:19 -07:00
Viktor De Pasquale
ee3028e67d Updated layout of modules screen
The modules will show updates at the top, active modules in the middle and finally remote modules at the bottom. The modules "install" button will be at the top of the "active" list.
This is done over usability concerns, as updates are more important than a list of installed modules.
2020-04-12 05:40:19 -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
e165a1e65c Use BusyBox standalone mode if available 2020-04-11 02:21:47 -07:00
topjohnwu
93aedcfeb7 Update all hardcode paths in app and script 2020-04-05 01:27:07 -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