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)
}
private fun setStatusbarColor(view: View, color: Int) {
val statusBar = view.findViewById<View>(R.id.status_bar)
if (statusBar != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
statusBar.setBackgroundColor(color)
mainActivity.setLightStatusbarAuto(color)
} else {
statusBar.setBackgroundColor(color)
}
}
}
fun setStatusbarColorAuto(view: View) {
val colorPrimary = ATHUtil.resolveColor(requireContext(), R.attr.colorPrimary)
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()) {
setStatusbarColor(view, colorPrimary)
2018-11-30 01:06:16 +00:00
} else {
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
}
}