mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-25 12:47:38 +00:00
Added QOL improvements
- fast scroll in module/filter list - auto closing keyboard on scroll
This commit is contained in:
parent
f5342a09d3
commit
0a239c2fef
@ -22,10 +22,12 @@ class ModuleInstallDialog(private val item: Repo) : DialogEvent() {
|
|||||||
.cancellable(true)
|
.cancellable(true)
|
||||||
.applyButton(MagiskDialog.ButtonType.POSITIVE) {
|
.applyButton(MagiskDialog.ButtonType.POSITIVE) {
|
||||||
titleRes = R.string.install
|
titleRes = R.string.install
|
||||||
|
icon = R.drawable.ic_install
|
||||||
onClick { download(true) }
|
onClick { download(true) }
|
||||||
}
|
}
|
||||||
.applyButton(MagiskDialog.ButtonType.NEGATIVE) {
|
.applyButton(MagiskDialog.ButtonType.NEGATIVE) {
|
||||||
titleRes = R.string.download
|
titleRes = R.string.download
|
||||||
|
icon = R.drawable.ic_download_md2
|
||||||
onClick { download(false) }
|
onClick { download(false) }
|
||||||
}
|
}
|
||||||
.reveal()
|
.reveal()
|
||||||
|
@ -17,6 +17,7 @@ import androidx.core.view.marginBottom
|
|||||||
import androidx.core.view.marginEnd
|
import androidx.core.view.marginEnd
|
||||||
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
|
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.circularreveal.CircularRevealCompat
|
import com.google.android.material.circularreveal.CircularRevealCompat
|
||||||
import com.google.android.material.circularreveal.CircularRevealWidget
|
import com.google.android.material.circularreveal.CircularRevealWidget
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
@ -50,6 +51,11 @@ class HideFragment : CompatFragment<HideViewModel, FragmentHideMd2Binding>() {
|
|||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
MotionRevealHelper.withViews(binding.hideFilter, binding.hideFilterToggle, false)
|
MotionRevealHelper.withViews(binding.hideFilter, binding.hideFilterToggle, false)
|
||||||
}
|
}
|
||||||
|
binding.hideContent.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||||
|
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
|
||||||
|
if (newState != RecyclerView.SCROLL_STATE_IDLE) hideKeyboard()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
val lama = binding.hideContent.layoutManager ?: return
|
val lama = binding.hideContent.layoutManager ?: return
|
||||||
lama.isAutoMeasureEnabled = false
|
lama.isAutoMeasureEnabled = false
|
||||||
|
@ -8,6 +8,7 @@ import android.view.MenuInflater
|
|||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
|
import com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
|
||||||
@ -55,6 +56,12 @@ class ModuleFragment : CompatFragment<ModuleViewModel, FragmentModuleMd2Binding>
|
|||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
MotionRevealHelper.withViews(binding.moduleFilter, binding.moduleFilterToggle, false)
|
MotionRevealHelper.withViews(binding.moduleFilter, binding.moduleFilterToggle, false)
|
||||||
}
|
}
|
||||||
|
binding.moduleFilterInclude.moduleFilterList.addOnScrollListener(object :
|
||||||
|
RecyclerView.OnScrollListener() {
|
||||||
|
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
|
||||||
|
if (newState != RecyclerView.SCROLL_STATE_IDLE) hideKeyboard()
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
19
app/src/main/res/drawable/fast_scroll_thumb.xml
Normal file
19
app/src/main/res/drawable/fast_scroll_thumb.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<item android:state_pressed="true">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/r1" />
|
||||||
|
<solid android:color="?colorOnSurfaceVariant" />
|
||||||
|
<size android:width="5dp" android:height="5dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/r1" />
|
||||||
|
<solid android:color="?colorOnSurfaceVariant" />
|
||||||
|
<size android:width="5dp" android:height="5dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</selector>
|
15
app/src/main/res/drawable/fast_scroll_track.xml
Normal file
15
app/src/main/res/drawable/fast_scroll_track.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<item android:state_pressed="true">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="@android:color/transparent" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="@android:color/transparent" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</selector>
|
@ -30,6 +30,11 @@
|
|||||||
items="@{viewModel.itemsSearch}"
|
items="@{viewModel.itemsSearch}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
app:fastScrollEnabled="true"
|
||||||
|
app:fastScrollHorizontalThumbDrawable="@drawable/fast_scroll_thumb"
|
||||||
|
app:fastScrollHorizontalTrackDrawable="@drawable/fast_scroll_track"
|
||||||
|
app:fastScrollVerticalThumbDrawable="@drawable/fast_scroll_thumb"
|
||||||
|
app:fastScrollVerticalTrackDrawable="@drawable/fast_scroll_track"
|
||||||
android:layout_marginBottom="@dimen/l1"
|
android:layout_marginBottom="@dimen/l1"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user