PlayerAndroid/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsMainActivityFragment.kt

55 lines
2.0 KiB
Kotlin
Raw Normal View History

2019-04-20 05:29:45 +00:00
package code.name.monkey.retromusic.fragments.base
2018-11-30 01:06:16 +00:00
import android.os.Build
import android.os.Bundle
import android.view.View
import code.name.monkey.appthemehelper.util.ATHUtil
2018-11-30 01:06:16 +00:00
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
2019-04-20 05:29:45 +00:00
import code.name.monkey.retromusic.activities.MainActivity
2019-06-03 03:17:20 +00:00
import code.name.monkey.retromusic.dialogs.OptionsSheetDialogFragment
2018-11-30 01:06:16 +00:00
abstract class AbsMainActivityFragment : AbsMusicServiceFragment() {
val mainActivity: MainActivity
get() = activity as MainActivity
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
setHasOptionsMenu(true)
mainActivity.setNavigationbarColorAuto()
mainActivity.setLightNavigationBar(true)
mainActivity.setTaskDescriptionColorAuto()
mainActivity.hideStatusBar()
mainActivity.setBottomBarVisibility(View.VISIBLE)
}
2019-12-01 11:28:57 +00:00
private fun setStatusBarColor(view: View, color: Int) {
2018-11-30 01:06:16 +00:00
val statusBar = view.findViewById<View>(R.id.status_bar)
if (statusBar != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
2019-12-01 11:28:57 +00:00
//statusBar.setBackgroundColor(color)
2018-11-30 01:06:16 +00:00
mainActivity.setLightStatusbarAuto(color)
} else {
statusBar.setBackgroundColor(color)
}
}
}
2019-12-01 11:28:57 +00:00
fun setStatusBarColorAuto(view: View) {
val colorPrimary = ATHUtil.resolveColor(requireContext(), android.R.attr.windowBackground)
2018-11-30 01:06:16 +00:00
// we don't want to use statusbar color because we are doing the color darkening on our own to support KitKat
if (VersionUtils.hasMarshmallow()) {
2019-12-01 11:28:57 +00:00
setStatusBarColor(view, colorPrimary)
2018-11-30 01:06:16 +00:00
} else {
2019-12-01 11:28:57 +00:00
setStatusBarColor(view, ColorUtil.darkenColor(colorPrimary))
2018-11-30 01:06:16 +00:00
}
}
2019-07-31 09:09:29 +00:00
protected fun showMainMenu(option: Int) {
OptionsSheetDialogFragment.newInstance(option).show(childFragmentManager, "Main_Menu")
2018-11-30 01:06:16 +00:00
}
}