feat: option to disable trending scroll (#288)

This commit is contained in:
TwistedUmbrellaX 2024-03-25 16:24:55 -04:00 committed by GitHub
parent 378abe73c9
commit d46f1b25eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 37 additions and 6 deletions

View file

@ -169,7 +169,6 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
trendingBinding.trendingViewPager.offscreenPageLimit = 3
trendingBinding.trendingViewPager.getChildAt(0).overScrollMode = RecyclerView.OVER_SCROLL_NEVER
trendingBinding.trendingViewPager.setPageTransformer(MediaPageTransformer())
trendHandler = Handler(Looper.getMainLooper())
trendRun = Runnable {
trendingBinding.trendingViewPager.currentItem += 1
@ -178,8 +177,10 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
object : ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
trendHandler!!.removeCallbacks(trendRun)
trendHandler!!.postDelayed(trendRun, 4000)
trendHandler?.removeCallbacks(trendRun)
if (PrefManager.getVal(PrefName.TrendingScroller)) {
trendHandler!!.postDelayed(trendRun, 4000)
}
}
}
)

View file

@ -166,8 +166,9 @@ class MangaPageAdapter : RecyclerView.Adapter<MangaPageAdapter.MangaPageViewHold
object : ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
trendHandler!!.removeCallbacks(trendRun)
trendHandler!!.postDelayed(trendRun, 4000)
trendHandler?.removeCallbacks(trendRun)
if (PrefManager.getVal(PrefName.TrendingScroller))
trendHandler!!.postDelayed(trendRun, 4000)
}
}
)

View file

@ -77,6 +77,11 @@ class UserInterfaceSettingsActivity : AppCompatActivity() {
restartApp(binding.root)
}
binding.uiSettingsTrendingScroller.isChecked = PrefManager.getVal(PrefName.TrendingScroller)
binding.uiSettingsTrendingScroller.setOnCheckedChangeListener { _, isChecked ->
PrefManager.setVal(PrefName.TrendingScroller, isChecked)
}
val map = mapOf(
2f to 0.5f,
1.75f to 0.625f,

View file

@ -68,6 +68,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files
),
BannerAnimations(Pref(Location.UI, Boolean::class, true)),
LayoutAnimations(Pref(Location.UI, Boolean::class, true)),
TrendingScroller(Pref(Location.UI, Boolean::class, true)),
AnimationSpeed(Pref(Location.UI, Float::class, 1f)),
ListGrid(Pref(Location.UI, Boolean::class, true)),
PopularMangaList(Pref(Location.UI, Boolean::class, true)),

View file

@ -216,7 +216,6 @@
android:id="@+id/uiSettingsLayoutAnimation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:checked="true"
android:drawableStart="@drawable/ic_round_animation_24"
android:drawablePadding="16dp"
@ -235,6 +234,29 @@
</com.google.android.material.materialswitch.MaterialSwitch>
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/uiSettingsTrendingScroller"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:checked="true"
android:drawableStart="@drawable/ic_round_animation_24"
android:drawablePadding="16dp"
android:elegantTextHeight="true"
android:fontFamily="@font/poppins_bold"
android:minHeight="64dp"
android:paddingStart="32dp"
android:paddingEnd="32dp"
android:text="@string/trending_scroller"
android:textAlignment="viewStart"
android:textColor="?attr/colorOnBackground"
app:cornerRadius="0dp"
app:drawableTint="?attr/colorPrimary"
app:showText="false"
app:thumbTint="@color/button_switch_track">
</com.google.android.material.materialswitch.MaterialSwitch>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"

View file

@ -304,6 +304,7 @@
<string name="animations">Animations</string>
<string name="banner_animations">Banner Animations</string>
<string name="layout_animations">Layout Animations</string>
<string name="trending_scroller">Trending Scroller</string>
<string name="animation_speed">Overall Speed</string>
<string name="empty_fav">Looks like you don\'t like anything,\nTry liking a show to keep it here.</string>
<string name="fav_anime">Favourite Anime</string>