feat: WIP new settings UI
This commit is contained in:
parent
f8a6fad513
commit
91d1d2cf1d
20 changed files with 1061 additions and 1503 deletions
|
@ -7,9 +7,9 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import ani.dantotsu.R
|
||||
import ani.dantotsu.databinding.ActivitySettingsAnimeBinding
|
||||
import ani.dantotsu.databinding.ActivitySettingsMangaBinding
|
||||
import ani.dantotsu.download.DownloadsManager
|
||||
import ani.dantotsu.initActivity
|
||||
import ani.dantotsu.media.MediaType
|
||||
|
@ -37,41 +37,77 @@ class SettingsAnimeActivity: AppCompatActivity(){
|
|||
topMargin = statusBarHeight
|
||||
bottomMargin = navBarHeight
|
||||
}
|
||||
settingsPlayer.setOnClickListener {
|
||||
startActivity(Intent(context, PlayerSettingsActivity::class.java))
|
||||
}
|
||||
animeSettingsBack.setOnClickListener {
|
||||
onBackPressedDispatcher.onBackPressed()
|
||||
}
|
||||
purgeAnimeDownloads.setOnClickListener {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
.setTitle(R.string.purge_anime_downloads)
|
||||
.setMessage(getString(R.string.purge_confirm, getString(R.string.anime)))
|
||||
.setPositiveButton(R.string.yes) { dialog, _ ->
|
||||
val downloadsManager = Injekt.get<DownloadsManager>()
|
||||
downloadsManager.purgeDownloads(MediaType.ANIME)
|
||||
dialog.dismiss()
|
||||
}.setNegativeButton(R.string.no) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}.create()
|
||||
dialog.window?.setDimAmount(0.8f)
|
||||
dialog.show()
|
||||
}
|
||||
animeSettingsBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
|
||||
|
||||
settingsPreferDub.isChecked = PrefManager.getVal(PrefName.SettingsPreferDub)
|
||||
settingsPreferDub.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.SettingsPreferDub, isChecked)
|
||||
}
|
||||
settingsRecyclerView.adapter = SettingsAdapter(
|
||||
arrayListOf(
|
||||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.player_settings),
|
||||
desc = getString(R.string.player_settings),
|
||||
icon = R.drawable.ic_round_video_settings_24,
|
||||
onClick = {
|
||||
startActivity(Intent(context, PlayerSettingsActivity::class.java))
|
||||
},
|
||||
isActivity = true
|
||||
),
|
||||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.purge_anime_downloads),
|
||||
desc = getString(R.string.purge_anime_downloads),
|
||||
icon = R.drawable.ic_round_delete_24,
|
||||
onClick = {
|
||||
val dialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
.setTitle(R.string.purge_anime_downloads)
|
||||
.setMessage(getString(R.string.purge_confirm, getString(R.string.anime)))
|
||||
.setPositiveButton(R.string.yes) { dialog, _ ->
|
||||
val downloadsManager = Injekt.get<DownloadsManager>()
|
||||
downloadsManager.purgeDownloads(MediaType.ANIME)
|
||||
dialog.dismiss()
|
||||
}.setNegativeButton(R.string.no) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}.create()
|
||||
dialog.window?.setDimAmount(0.8f)
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
|
||||
settingsShowYt.isChecked = PrefManager.getVal(PrefName.ShowYtButton)
|
||||
settingsShowYt.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.ShowYtButton, isChecked)
|
||||
}
|
||||
settingsIncludeAnimeList.isChecked = PrefManager.getVal(PrefName.IncludeAnimeList)
|
||||
settingsIncludeAnimeList.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.IncludeAnimeList, isChecked)
|
||||
restartApp(binding.root)
|
||||
),
|
||||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.prefer_dub),
|
||||
desc = getString(R.string.prefer_dub),
|
||||
icon = R.drawable.ic_round_audiotrack_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SettingsPreferDub),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.SettingsPreferDub, isChecked)
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.show_yt),
|
||||
desc = getString(R.string.show_yt),
|
||||
icon = R.drawable.ic_round_play_circle_24,
|
||||
isChecked = PrefManager.getVal(PrefName.ShowYtButton),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.ShowYtButton, isChecked)
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.include_list),
|
||||
desc = getString(R.string.include_list),
|
||||
icon = R.drawable.view_list_24,
|
||||
isChecked = PrefManager.getVal(PrefName.IncludeAnimeList),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.IncludeAnimeList, isChecked)
|
||||
restartApp(binding.root)
|
||||
}
|
||||
),
|
||||
)
|
||||
)
|
||||
settingsRecyclerView.apply {
|
||||
layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
|
||||
setHasFixedSize(true)
|
||||
}
|
||||
|
||||
var previousEp: View = when (PrefManager.getVal<Int>(PrefName.AnimeDefaultView)) {
|
||||
|
@ -99,6 +135,7 @@ class SettingsAnimeActivity: AppCompatActivity(){
|
|||
settingsEpCompact.setOnClickListener {
|
||||
uiEp(2, it)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue