Fixed slow scrolling and list updates on hide screen

This commit is contained in:
Viktor De Pasquale
2019-11-12 17:23:27 +01:00
parent b2b81a5d0f
commit c5f2f63458
4 changed files with 126 additions and 133 deletions

View File

@@ -2,6 +2,7 @@ package com.topjohnwu.magisk.redesign.hide
import android.content.Context
import android.graphics.Insets
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
@@ -24,13 +25,21 @@ class HideFragment : CompatFragment<HideViewModel, FragmentHideMd2Binding>() {
setHasOptionsMenu(true)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val lama = binding.hideContent.layoutManager ?: return
lama.isAutoMeasureEnabled = false
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_hide_md2, menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.action_focus_up -> binding.hideScrollContainer.fullScroll(View.FOCUS_UP)
R.id.action_focus_up -> binding.hideContent
.also { it.scrollToPosition(10) }
.also { it.smoothScrollToPosition(0) }
}
return super.onOptionsItemSelected(item)
}

View File

@@ -3,7 +3,6 @@ package com.topjohnwu.magisk.redesign.module
import android.graphics.Insets
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
import com.topjohnwu.magisk.redesign.compat.CompatFragment
@@ -37,7 +36,7 @@ class ModuleFragment : CompatFragment<ModuleViewModel, FragmentModuleMd2Binding>
}
private fun setEndlessScroller() {
val lama = binding.moduleRemote.layoutManager as? StaggeredGridLayoutManager ?: return
val lama = binding.moduleRemote.layoutManager ?: return
lama.isAutoMeasureEnabled = false
listener = EndlessRecyclerScrollListener(lama, viewModel::loadRemote)