Added option to keep screen on when showing lyrics
This commit is contained in:
parent
b349b8c4d1
commit
c7f7f9d695
7 changed files with 37 additions and 2 deletions
|
@ -160,3 +160,4 @@ const val PLAYBACK_PITCH = "playback_pitch"
|
||||||
const val CUSTOM_FONT = "custom_font"
|
const val CUSTOM_FONT = "custom_font"
|
||||||
const val APPBAR_MODE = "appbar_mode"
|
const val APPBAR_MODE = "appbar_mode"
|
||||||
const val WALLPAPER_ACCENT = "wallpaper_accent"
|
const val WALLPAPER_ACCENT = "wallpaper_accent"
|
||||||
|
const val SCREEN_ON_LYRICS = "screen_on_lyrics"
|
|
@ -110,9 +110,15 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
||||||
when (newState) {
|
when (newState) {
|
||||||
STATE_EXPANDED -> {
|
STATE_EXPANDED -> {
|
||||||
onPanelExpanded()
|
onPanelExpanded()
|
||||||
|
if (PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) {
|
||||||
|
keepScreenOn(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
STATE_COLLAPSED -> {
|
STATE_COLLAPSED -> {
|
||||||
onPanelCollapsed()
|
onPanelCollapsed()
|
||||||
|
if ((PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) || !PreferenceUtil.isScreenOnEnabled) {
|
||||||
|
keepScreenOn(false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
STATE_SETTLING, STATE_DRAGGING -> {
|
STATE_SETTLING, STATE_DRAGGING -> {
|
||||||
if (fromNotification) {
|
if (fromNotification) {
|
||||||
|
|
|
@ -22,6 +22,14 @@ fun AppCompatActivity.toggleScreenOn() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.keepScreenOn(keepScreenOn: Boolean) {
|
||||||
|
if (keepScreenOn) {
|
||||||
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
} else {
|
||||||
|
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
|
fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
|
||||||
if (PreferenceUtil.isFullScreenMode) {
|
if (PreferenceUtil.isFullScreenMode) {
|
||||||
setImmersiveFullscreen()
|
setImmersiveFullscreen()
|
||||||
|
|
|
@ -43,7 +43,6 @@ import androidx.viewpager.widget.ViewPager
|
||||||
import code.name.monkey.appthemehelper.util.VersionUtils
|
import code.name.monkey.appthemehelper.util.VersionUtils
|
||||||
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
||||||
import code.name.monkey.retromusic.EXTRA_ARTIST_ID
|
import code.name.monkey.retromusic.EXTRA_ARTIST_ID
|
||||||
import code.name.monkey.retromusic.PLAYBACK_SPEED
|
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.activities.MainActivity
|
import code.name.monkey.retromusic.activities.MainActivity
|
||||||
import code.name.monkey.retromusic.activities.tageditor.AbsTagEditorActivity
|
import code.name.monkey.retromusic.activities.tageditor.AbsTagEditorActivity
|
||||||
|
@ -53,6 +52,7 @@ import code.name.monkey.retromusic.db.toSongEntity
|
||||||
import code.name.monkey.retromusic.dialogs.*
|
import code.name.monkey.retromusic.dialogs.*
|
||||||
import code.name.monkey.retromusic.extensions.currentFragment
|
import code.name.monkey.retromusic.extensions.currentFragment
|
||||||
import code.name.monkey.retromusic.extensions.hide
|
import code.name.monkey.retromusic.extensions.hide
|
||||||
|
import code.name.monkey.retromusic.extensions.keepScreenOn
|
||||||
import code.name.monkey.retromusic.extensions.whichFragment
|
import code.name.monkey.retromusic.extensions.whichFragment
|
||||||
import code.name.monkey.retromusic.fragments.NowPlayingScreen
|
import code.name.monkey.retromusic.fragments.NowPlayingScreen
|
||||||
import code.name.monkey.retromusic.fragments.ReloadType
|
import code.name.monkey.retromusic.fragments.ReloadType
|
||||||
|
@ -88,6 +88,11 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
|
||||||
R.id.action_toggle_lyrics -> {
|
R.id.action_toggle_lyrics -> {
|
||||||
PreferenceUtil.showLyrics = !item.isChecked
|
PreferenceUtil.showLyrics = !item.isChecked
|
||||||
item.isChecked = !item.isChecked
|
item.isChecked = !item.isChecked
|
||||||
|
if (PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) {
|
||||||
|
mainActivity.keepScreenOn(true)
|
||||||
|
} else if (!PreferenceUtil.isScreenOnEnabled && !PreferenceUtil.showLyrics) {
|
||||||
|
mainActivity.keepScreenOn(false)
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
R.id.action_go_to_lyrics -> {
|
R.id.action_go_to_lyrics -> {
|
||||||
|
@ -420,6 +425,7 @@ fun goToLyrics(activity: Activity) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Fixes checked state being ignored by injecting checked state directly into drawable */
|
/** Fixes checked state being ignored by injecting checked state directly into drawable */
|
||||||
@SuppressLint("RestrictedApi")
|
@SuppressLint("RestrictedApi")
|
||||||
class CheckDrawableWrapper(val menuItem: MenuItem) : DrawableWrapper(menuItem.icon) {
|
class CheckDrawableWrapper(val menuItem: MenuItem) : DrawableWrapper(menuItem.icon) {
|
||||||
|
|
|
@ -698,7 +698,13 @@ object PreferenceUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
val wallpaperAccent
|
val wallpaperAccent
|
||||||
get() = sharedPreferences.getBoolean(WALLPAPER_ACCENT, VersionUtils.hasOreoMR1() && !VersionUtils.hasS())
|
get() = sharedPreferences.getBoolean(
|
||||||
|
WALLPAPER_ACCENT,
|
||||||
|
VersionUtils.hasOreoMR1() && !VersionUtils.hasS()
|
||||||
|
)
|
||||||
|
|
||||||
|
val lyricsScreenOn
|
||||||
|
get() = sharedPreferences.getBoolean(SCREEN_ON_LYRICS, false)
|
||||||
}
|
}
|
||||||
enum class LyricsType {
|
enum class LyricsType {
|
||||||
REPLACE_LYRICS, OVER_LYRICS
|
REPLACE_LYRICS, OVER_LYRICS
|
||||||
|
|
|
@ -536,4 +536,5 @@
|
||||||
<string name="pref_title_appbar_mode">App bar mode</string>
|
<string name="pref_title_appbar_mode">App bar mode</string>
|
||||||
<string name="pref_title_wallpaper_accent">Wallpaper accent color</string>
|
<string name="pref_title_wallpaper_accent">Wallpaper accent color</string>
|
||||||
<string name="pref_summary_wallpaper_accent">Extract accent color from wallpaper</string>
|
<string name="pref_summary_wallpaper_accent">Extract accent color from wallpaper</string>
|
||||||
|
<string name="pref_title_lyrics_screen_on">Keep screen on when showing lyrics</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -29,6 +29,13 @@
|
||||||
android:layout="@layout/list_item_view"
|
android:layout="@layout/list_item_view"
|
||||||
android:title="@string/pref_title_lyrics_type" />
|
android:title="@string/pref_title_lyrics_type" />
|
||||||
|
|
||||||
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="screen_on_lyrics"
|
||||||
|
android:layout="@layout/list_item_view_switch"
|
||||||
|
android:title="@string/pref_title_lyrics_screen_on"
|
||||||
|
android:summary="@string/pref_keep_screen_on_summary"/>
|
||||||
|
|
||||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory
|
||||||
android:layout="@layout/preference_category_title"
|
android:layout="@layout/preference_category_title"
|
||||||
android:title="@string/pref_header_album">
|
android:title="@string/pref_header_album">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue