- 30 Apr, 2020 1 commit
-
-
osm0sis authored
- bugged TWRPs were filling persist with recovery logs, so clean those as a potential workaround - abort module install if sepolicy.rule fails to copy, since 99% of the time the module wouldn't include it if it could function without it Closes #2461
-
- 26 Apr, 2020 1 commit
-
-
topjohnwu authored
-
- 24 Apr, 2020 4 commits
-
-
osm0sis authored
- try /dev/block first with full depth to catch all platform/soc variations to the by-name directory, and the new dynamic partition /dev/block/mapper - next try uevent for block devices as before - lastly try /dev with maxdepth 1 (immediate directory) to find /dev/bootimg, /dev/recovery, etc. while avoiding /dev/log/kernel - move bootimg higher in the list than boot so /dev/bootimg gets found first and avoids /dev/BOOT - recovery_a/_b now also exists - minor touch-ups for readability and consistency Fixes #2720
-
osm0sis authored
-
osm0sis authored
- this is needed for installations on Lineage 17.1 Recovery (AOSP Q) for logical partition devices, which uses /dev/block/mapper to stage the partitions Thanks LuK1337 & erfanoabdi @ Lineage
-
topjohnwu authored
Close #2725
-
- 23 Apr, 2020 1 commit
-
-
topjohnwu authored
-
- 22 Apr, 2020 2 commits
- 21 Apr, 2020 5 commits
- 20 Apr, 2020 3 commits
- 19 Apr, 2020 9 commits
- 18 Apr, 2020 4 commits
-
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
Rewrite the whole module mounting logic from scratch. Even the algorithm is different compared to the old one. This new design focuses on a few key points: - Modular: Custom nodes can be injected into the mount tree. It's the main reason for starting the rewrite (needed for Android 11) - Efficient: Compared to the existing implementation, this is the most efficient (both in terms of computation and memory usage) design I currently can come up with. - Accurate: The old mounting logic relies on handling specifically every edge case I can think of. During this rewrite I actually found some cases that the old design does not handle properly. This new design is architected in a way (node types and its rankings) that it should handle edge cases all by itself when constructing mount trees.
-
- 12 Apr, 2020 8 commits
-
-
topjohnwu authored
-
topjohnwu authored
-
Ilya Kushnir authored
-
tzagim authored
-
Viktor De Pasquale authored
This has been broken due to recent transition to navigation components
-
Viktor De Pasquale authored
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.
-
Viktor De Pasquale authored
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
-
topjohnwu authored
-
- 11 Apr, 2020 2 commits