1. 20 Apr, 2020 3 commits
  2. 19 Apr, 2020 9 commits
  3. 18 Apr, 2020 4 commits
    • topjohnwu's avatar
      Support injecting magisk bins · 69a9d748
      topjohnwu authored
      69a9d748
    • topjohnwu's avatar
      Directly filter '.' and '..' in xreaddir · dcf07ad8
      topjohnwu authored
      dcf07ad8
    • topjohnwu's avatar
      Rename file · ed6cdb2e
      topjohnwu authored
      ed6cdb2e
    • topjohnwu's avatar
      Introduce new module mount implementation · a73e7e9f
      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.
      a73e7e9f
  4. 12 Apr, 2020 8 commits
    • topjohnwu's avatar
      Update dir traversal code · ab853e1f
      topjohnwu authored
      ab853e1f
    • topjohnwu's avatar
      Fix strings · 37d38b62
      topjohnwu authored
      37d38b62
    • Ilya Kushnir's avatar
      Update RU strings · f9bb5171
      Ilya Kushnir authored
      f9bb5171
    • tzagim's avatar
      Add Hebrew Translation · efe9b867
      tzagim authored
      efe9b867
    • Viktor De Pasquale's avatar
      Fixed shortcuts · d9cf33d1
      Viktor De Pasquale authored
      This has been broken due to recent transition to navigation components
      d9cf33d1
    • Viktor De Pasquale's avatar
      Updated layout of modules screen · ee3028e6
      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.
      ee3028e6
    • Viktor De Pasquale's avatar
      Fixed modules screen crashing on load · d810e6c8
      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
      d810e6c8
    • topjohnwu's avatar
      Preparation for dynamic tmpfs path · e0a28158
      topjohnwu authored
      e0a28158
  5. 11 Apr, 2020 4 commits
  6. 07 Apr, 2020 1 commit
  7. 05 Apr, 2020 2 commits
  8. 04 Apr, 2020 3 commits
  9. 03 Apr, 2020 6 commits