Initial commit: Add webtoon viewer
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
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?) {}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user