75 lines
2.8 KiB
Kotlin
75 lines
2.8 KiB
Kotlin
/*
|
|
* Copyright (c) 2020 Hemanth Savarla.
|
|
*
|
|
* Licensed under the GNU General Public License v3
|
|
*
|
|
* This is free software: you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
* See the GNU General Public License for more details.
|
|
*
|
|
*/
|
|
package code.name.monkey.retromusic.activities
|
|
|
|
import android.os.Bundle
|
|
import android.view.MenuItem
|
|
import androidx.navigation.NavController
|
|
import code.name.monkey.appthemehelper.ThemeStore
|
|
import code.name.monkey.appthemehelper.util.VersionUtils
|
|
import code.name.monkey.retromusic.R
|
|
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
|
|
import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager
|
|
import code.name.monkey.retromusic.extensions.applyToolbar
|
|
import code.name.monkey.retromusic.extensions.findNavController
|
|
import com.afollestad.materialdialogs.color.ColorChooserDialog
|
|
import kotlinx.android.synthetic.main.activity_settings.*
|
|
|
|
class SettingsActivity : AbsBaseActivity(), ColorChooserDialog.ColorCallback {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
setDrawUnderStatusBar()
|
|
super.onCreate(savedInstanceState)
|
|
setContentView(R.layout.activity_settings)
|
|
setStatusbarColorAuto()
|
|
setNavigationbarColorAuto()
|
|
setLightNavigationBar(true)
|
|
setupToolbar()
|
|
}
|
|
|
|
private fun setupToolbar() {
|
|
setTitle(R.string.action_settings)
|
|
applyToolbar(toolbar)
|
|
val navController: NavController = findNavController(R.id.contentFrame)
|
|
navController.addOnDestinationChangedListener { _, _, _ ->
|
|
toolbar.title = navController.currentDestination?.label
|
|
}
|
|
}
|
|
|
|
override fun onSupportNavigateUp(): Boolean {
|
|
return findNavController(R.id.contentFrame).navigateUp() || super.onSupportNavigateUp()
|
|
}
|
|
|
|
override fun onColorSelection(dialog: ColorChooserDialog, selectedColor: Int) {
|
|
when (dialog.title) {
|
|
R.string.accent_color -> {
|
|
ThemeStore.editTheme(this).accentColor(selectedColor).commit()
|
|
if (VersionUtils.hasNougatMR())
|
|
DynamicShortcutManager(this).updateDynamicShortcuts()
|
|
}
|
|
}
|
|
recreate()
|
|
}
|
|
|
|
override fun onColorChooserDismissed(dialog: ColorChooserDialog) {
|
|
}
|
|
|
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
|
if (item.itemId == android.R.id.home) {
|
|
onBackPressed()
|
|
}
|
|
return super.onOptionsItemSelected(item)
|
|
}
|
|
}
|