75 lines
2.6 KiB
Kotlin
75 lines
2.6 KiB
Kotlin
package com.webtoonviewer.ui
|
|
|
|
import android.content.Context
|
|
import android.content.SharedPreferences
|
|
import android.os.Bundle
|
|
import android.view.LayoutInflater
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import android.widget.Button
|
|
import android.widget.TextView
|
|
import androidx.fragment.app.DialogFragment
|
|
import com.google.android.material.tabs.TabLayout
|
|
import com.webtoonviewer.R
|
|
import com.webtoonviewer.utils.SharedPreferencesHelper
|
|
|
|
class DialogAutoScrollSpeedFragment: DialogFragment() {
|
|
private lateinit var speedPreferences: SharedPreferencesHelper
|
|
|
|
companion object {
|
|
private const val ARG_PARAM = "param"
|
|
|
|
fun newInstance(param: String): DialogAutoScrollSpeedFragment {
|
|
val fragment = DialogAutoScrollSpeedFragment()
|
|
val args = Bundle().apply {
|
|
putString(ARG_PARAM, param)
|
|
}
|
|
fragment.arguments = args
|
|
return fragment
|
|
}
|
|
}
|
|
|
|
override fun onCreateView(
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
savedInstanceState: Bundle?
|
|
): View? {
|
|
return inflater.inflate(R.layout.dialog_auto_scroll_speed, container, false)
|
|
}
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
speedPreferences = SharedPreferencesHelper(requireContext(), "auto_scroll_speed")
|
|
|
|
val tabLayout: TabLayout = view.findViewById(R.id.tabLayoutDialogAutoScrollSpeed)
|
|
|
|
// Adding tabs to TabLayout
|
|
val tabs = listOf("1x", "2x", "3x", "4x", "5x")
|
|
for (tab in tabs) {
|
|
tabLayout.addTab(tabLayout.newTab().setText(tab))
|
|
}
|
|
|
|
val title = arguments?.getString(ARG_PARAM) ?: ""
|
|
val textView: TextView = view.findViewById(R.id.textViewImageDialogTitle)
|
|
textView.text = title
|
|
val savedTab = speedPreferences.readData(title, "1x")
|
|
|
|
// Set initial selected tab
|
|
val initialTabIndex = tabs.indexOf(savedTab)
|
|
tabLayout.getTabAt(initialTabIndex)?.select()
|
|
|
|
// Handle tab selection
|
|
tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
|
override fun onTabSelected(tab: TabLayout.Tab?) {
|
|
tab?.let {
|
|
val selectedText = it.text.toString()
|
|
speedPreferences.saveData(title, selectedText)
|
|
dismiss()
|
|
}
|
|
}
|
|
|
|
override fun onTabUnselected(tab: TabLayout.Tab?) {}
|
|
override fun onTabReselected(tab: TabLayout.Tab?) {}
|
|
})
|
|
}
|
|
} |