mirror of
https://github.com/cmclark00/RetroMusicPlayer.git
synced 2025-05-17 23:55:21 +01:00
feature: Show when locked option (#1732)
This commit is contained in:
parent
fba9f6f5f3
commit
9155d887b4
7 changed files with 41 additions and 0 deletions
|
@ -70,6 +70,7 @@ const val EXTRA_SONG_INFO = "extra_song_info"
|
||||||
const val DESATURATED_COLOR = "desaturated_color"
|
const val DESATURATED_COLOR = "desaturated_color"
|
||||||
const val BLACK_THEME = "black_theme"
|
const val BLACK_THEME = "black_theme"
|
||||||
const val KEEP_SCREEN_ON = "keep_screen_on"
|
const val KEEP_SCREEN_ON = "keep_screen_on"
|
||||||
|
const val SHOW_WHEN_LOCKED = "show_when_locked"
|
||||||
const val TOGGLE_HOME_BANNER = "toggle_home_banner"
|
const val TOGGLE_HOME_BANNER = "toggle_home_banner"
|
||||||
const val NOW_PLAYING_SCREEN_ID = "now_playing_screen_id"
|
const val NOW_PLAYING_SCREEN_ID = "now_playing_screen_id"
|
||||||
const val CAROUSEL_EFFECT = "carousel_effect"
|
const val CAROUSEL_EFFECT = "carousel_effect"
|
||||||
|
|
|
@ -29,6 +29,7 @@ import code.name.monkey.retromusic.extensions.exitFullscreen
|
||||||
import code.name.monkey.retromusic.extensions.hideStatusBar
|
import code.name.monkey.retromusic.extensions.hideStatusBar
|
||||||
import code.name.monkey.retromusic.extensions.installSplitCompat
|
import code.name.monkey.retromusic.extensions.installSplitCompat
|
||||||
import code.name.monkey.retromusic.extensions.maybeSetScreenOn
|
import code.name.monkey.retromusic.extensions.maybeSetScreenOn
|
||||||
|
import code.name.monkey.retromusic.extensions.maybeShowWhenLocked
|
||||||
import code.name.monkey.retromusic.extensions.setEdgeToEdgeOrImmersive
|
import code.name.monkey.retromusic.extensions.setEdgeToEdgeOrImmersive
|
||||||
import code.name.monkey.retromusic.extensions.setImmersiveFullscreen
|
import code.name.monkey.retromusic.extensions.setImmersiveFullscreen
|
||||||
import code.name.monkey.retromusic.extensions.setLightNavigationBarAuto
|
import code.name.monkey.retromusic.extensions.setLightNavigationBarAuto
|
||||||
|
@ -49,6 +50,7 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setEdgeToEdgeOrImmersive()
|
setEdgeToEdgeOrImmersive()
|
||||||
maybeSetScreenOn()
|
maybeSetScreenOn()
|
||||||
|
maybeShowWhenLocked()
|
||||||
setLightNavigationBarAuto()
|
setLightNavigationBarAuto()
|
||||||
setLightStatusBarAuto(surfaceColor())
|
setLightStatusBarAuto(surfaceColor())
|
||||||
if (VersionUtils.hasQ()) {
|
if (VersionUtils.hasQ()) {
|
||||||
|
|
|
@ -32,6 +32,22 @@ fun AppCompatActivity.keepScreenOn(keepScreenOn: Boolean) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.maybeShowWhenLocked() {
|
||||||
|
if (PreferenceUtil.isShowWhenLockedEnabled) {
|
||||||
|
if (VersionUtils.hasOreoMR1()) {
|
||||||
|
setShowWhenLocked(true)
|
||||||
|
} else {
|
||||||
|
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (VersionUtils.hasOreoMR1()) {
|
||||||
|
setShowWhenLocked(false)
|
||||||
|
} else {
|
||||||
|
window.clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
|
fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
|
||||||
if (PreferenceUtil.isFullScreenMode) {
|
if (PreferenceUtil.isFullScreenMode) {
|
||||||
setImmersiveFullscreen()
|
setImmersiveFullscreen()
|
||||||
|
|
|
@ -258,6 +258,8 @@ object PreferenceUtil {
|
||||||
|
|
||||||
val isScreenOnEnabled get() = sharedPreferences.getBoolean(KEEP_SCREEN_ON, false)
|
val isScreenOnEnabled get() = sharedPreferences.getBoolean(KEEP_SCREEN_ON, false)
|
||||||
|
|
||||||
|
val isShowWhenLockedEnabled get() = sharedPreferences.getBoolean(SHOW_WHEN_LOCKED, false)
|
||||||
|
|
||||||
val isSongInfo get() = sharedPreferences.getBoolean(EXTRA_SONG_INFO, false)
|
val isSongInfo get() = sharedPreferences.getBoolean(EXTRA_SONG_INFO, false)
|
||||||
|
|
||||||
val isPauseOnZeroVolume get() = sharedPreferences.getBoolean(PAUSE_ON_ZERO_VOLUME, false)
|
val isPauseOnZeroVolume get() = sharedPreferences.getBoolean(PAUSE_ON_ZERO_VOLUME, false)
|
||||||
|
|
10
app/src/main/res/drawable/ic_screen_lock_portrait.xml
Normal file
10
app/src/main/res/drawable/ic_screen_lock_portrait.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="960"
|
||||||
|
android:viewportHeight="960"
|
||||||
|
android:tint="?attr/colorControlNormal">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M394,640Q380,640 370,630Q360,620 360,606L360,474Q360,460 370,450Q380,440 394,440L400,440L400,400Q400,367 423.5,343.5Q447,320 480,320Q513,320 536.5,343.5Q560,367 560,400L560,440L566,440Q580,440 590,450Q600,460 600,474L600,606Q600,620 590,630Q580,640 566,640L394,640ZM440,440L520,440L520,400Q520,383 508.5,371.5Q497,360 480,360Q463,360 451.5,371.5Q440,383 440,400L440,440ZM280,920Q247,920 223.5,896.5Q200,873 200,840L200,120Q200,87 223.5,63.5Q247,40 280,40L680,40Q713,40 736.5,63.5Q760,87 760,120L760,840Q760,873 736.5,896.5Q713,920 680,920L280,920ZM280,800L280,840Q280,840 280,840Q280,840 280,840L680,840Q680,840 680,840Q680,840 680,840L680,800L280,800ZM280,720L680,720L680,240L280,240L280,720ZM280,160L680,160L680,120Q680,120 680,120Q680,120 680,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,160L280,120Q280,120 280,120Q280,120 280,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,800L280,800L280,840Q280,840 280,840Q280,840 280,840L280,840Q280,840 280,840Q280,840 280,840L280,800Z"/>
|
||||||
|
</vector>
|
|
@ -336,6 +336,8 @@
|
||||||
<string name="pref_keep_pause_on_zero_volume_title">Pause on zero</string>
|
<string name="pref_keep_pause_on_zero_volume_title">Pause on zero</string>
|
||||||
<string name="pref_keep_screen_on_summary">Keep in mind that enabling this feature may affect battery life</string>
|
<string name="pref_keep_screen_on_summary">Keep in mind that enabling this feature may affect battery life</string>
|
||||||
<string name="pref_keep_screen_on_title">Keep the screen on</string>
|
<string name="pref_keep_screen_on_title">Keep the screen on</string>
|
||||||
|
<string name="pref_show_when_locked_summary">Requires an app restart to take effect. The player must be on foreground before locking for this feature to work</string>
|
||||||
|
<string name="pref_show_when_locked_title">Show the player interface when locked</string>
|
||||||
<string name="pref_language_name">Select language</string>
|
<string name="pref_language_name">Select language</string>
|
||||||
<string name="pref_snow_fall_title">Snow fall effect</string>
|
<string name="pref_snow_fall_title">Snow fall effect</string>
|
||||||
<string name="pref_summary_album_art_on_lockscreen">Use the currently playing song album cover as the lockscreen wallpaper</string>
|
<string name="pref_summary_album_art_on_lockscreen">Use the currently playing song album cover as the lockscreen wallpaper</string>
|
||||||
|
|
|
@ -62,6 +62,14 @@
|
||||||
android:title="@string/pref_keep_screen_on_title"
|
android:title="@string/pref_keep_screen_on_title"
|
||||||
app:icon="@drawable/ic_settings_brightness" />
|
app:icon="@drawable/ic_settings_brightness" />
|
||||||
|
|
||||||
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="show_when_locked"
|
||||||
|
android:layout="@layout/list_item_view_switch"
|
||||||
|
android:summary="@string/pref_show_when_locked_summary"
|
||||||
|
android:title="@string/pref_show_when_locked_title"
|
||||||
|
app:icon="@drawable/ic_screen_lock_portrait" />
|
||||||
|
|
||||||
|
|
||||||
</code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
|
</code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
|
||||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEListPreference
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEListPreference
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue