Initial commit: Add webtoon viewer

This commit is contained in:
2024-12-19 14:09:30 +01:00
commit 3a566a08fa
642 changed files with 4769 additions and 0 deletions

View File

@@ -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?) {}
})
}
}