fix colors for chapter and stream select in audio mode
This commit is contained in:
parent
de507b2291
commit
642e5e78db
|
@ -42,7 +42,6 @@ import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
@ -55,8 +54,8 @@ import net.newpipe.newplayer.model.NewPlayerViewModel
|
||||||
import net.newpipe.newplayer.model.NewPlayerViewModelDummy
|
import net.newpipe.newplayer.model.NewPlayerViewModelDummy
|
||||||
import net.newpipe.newplayer.model.UIModeState
|
import net.newpipe.newplayer.model.UIModeState
|
||||||
import net.newpipe.newplayer.ui.common.NewPlayerSeeker
|
import net.newpipe.newplayer.ui.common.NewPlayerSeeker
|
||||||
import net.newpipe.newplayer.ui.streamselect.ChapterSelectUI
|
import net.newpipe.newplayer.ui.selection_ui.ChapterSelectUI
|
||||||
import net.newpipe.newplayer.ui.streamselect.StreamSelectUI
|
import net.newpipe.newplayer.ui.selection_ui.StreamSelectUI
|
||||||
import net.newpipe.newplayer.ui.theme.VideoPlayerTheme
|
import net.newpipe.newplayer.ui.theme.VideoPlayerTheme
|
||||||
import net.newpipe.newplayer.utils.Thumbnail
|
import net.newpipe.newplayer.utils.Thumbnail
|
||||||
import net.newpipe.newplayer.utils.getInsets
|
import net.newpipe.newplayer.utils.getInsets
|
||||||
|
@ -86,7 +85,7 @@ fun AudioPlayerUI(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
||||||
enter = UI_ENTER_ANIMATION,
|
enter = UI_ENTER_ANIMATION,
|
||||||
exit = UI_EXIT_ANIMATION
|
exit = UI_EXIT_ANIMATION
|
||||||
) {
|
) {
|
||||||
ChapterSelectUI(viewModel = viewModel, uiState = uiState)
|
ChapterSelectUI(viewModel = viewModel, uiState = uiState, shownInAudioPlayer = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
|
@ -94,7 +93,7 @@ fun AudioPlayerUI(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
||||||
enter = UI_ENTER_ANIMATION,
|
enter = UI_ENTER_ANIMATION,
|
||||||
exit = UI_EXIT_ANIMATION
|
exit = UI_EXIT_ANIMATION
|
||||||
) {
|
) {
|
||||||
StreamSelectUI(viewModel = viewModel, uiState = uiState)
|
StreamSelectUI(viewModel = viewModel, uiState = uiState, shownInAudioPlayer = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
|
@ -18,16 +18,17 @@
|
||||||
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import androidx.annotation.OptIn
|
import androidx.annotation.OptIn
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.windowInsetsPadding
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
@ -47,7 +48,11 @@ import net.newpipe.newplayer.utils.getInsets
|
||||||
|
|
||||||
@OptIn(UnstableApi::class)
|
@OptIn(UnstableApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun ChapterSelectUI(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
fun ChapterSelectUI(
|
||||||
|
viewModel: NewPlayerViewModel,
|
||||||
|
uiState: NewPlayerUIState,
|
||||||
|
shownInAudioPlayer: Boolean
|
||||||
|
) {
|
||||||
val insets = getInsets()
|
val insets = getInsets()
|
||||||
|
|
||||||
val embeddedUiConfig = if (LocalContext.current is Activity)
|
val embeddedUiConfig = if (LocalContext.current is Activity)
|
||||||
|
@ -59,7 +64,10 @@ fun ChapterSelectUI(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.windowInsetsPadding(insets),
|
.windowInsetsPadding(insets),
|
||||||
containerColor = Color.Transparent,
|
containerColor = if (shownInAudioPlayer)
|
||||||
|
MaterialTheme.colorScheme.background
|
||||||
|
else
|
||||||
|
Color.Transparent,
|
||||||
topBar = {
|
topBar = {
|
||||||
ChapterSelectTopBar(
|
ChapterSelectTopBar(
|
||||||
onClose = {
|
onClose = {
|
||||||
|
@ -109,7 +117,8 @@ fun VideoPlayerChannelSelectUIPreview() {
|
||||||
Surface(modifier = Modifier.fillMaxSize(), color = Color.Red) {
|
Surface(modifier = Modifier.fillMaxSize(), color = Color.Red) {
|
||||||
ChapterSelectUI(
|
ChapterSelectUI(
|
||||||
viewModel = NewPlayerViewModelDummy(),
|
viewModel = NewPlayerViewModelDummy(),
|
||||||
uiState = NewPlayerUIState.DUMMY
|
uiState = NewPlayerUIState.DUMMY,
|
||||||
|
shownInAudioPlayer = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -18,7 +18,7 @@
|
||||||
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.animation.fadeIn
|
import androidx.compose.animation.fadeIn
|
|
@ -18,16 +18,13 @@
|
||||||
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.automirrored.filled.PlaylistAdd
|
import androidx.compose.material.icons.automirrored.filled.PlaylistAdd
|
||||||
import androidx.compose.material.icons.filled.Close
|
import androidx.compose.material.icons.filled.Close
|
||||||
import androidx.compose.material.icons.filled.Repeat
|
|
||||||
import androidx.compose.material.icons.filled.RepeatOn
|
|
||||||
import androidx.compose.material.icons.filled.RepeatOneOn
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
|
@ -44,7 +41,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.media3.common.util.UnstableApi
|
import androidx.media3.common.util.UnstableApi
|
||||||
import net.newpipe.newplayer.R
|
import net.newpipe.newplayer.R
|
||||||
import net.newpipe.newplayer.RepeatMode
|
|
||||||
import net.newpipe.newplayer.model.EmbeddedUiConfig
|
import net.newpipe.newplayer.model.EmbeddedUiConfig
|
||||||
import net.newpipe.newplayer.model.NewPlayerUIState
|
import net.newpipe.newplayer.model.NewPlayerUIState
|
||||||
import net.newpipe.newplayer.model.NewPlayerViewModel
|
import net.newpipe.newplayer.model.NewPlayerViewModel
|
|
@ -18,9 +18,8 @@
|
||||||
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
* along with NewPlayer. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.newpipe.newplayer.ui.streamselect
|
package net.newpipe.newplayer.ui.selection_ui
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import androidx.annotation.OptIn
|
import androidx.annotation.OptIn
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
@ -32,23 +31,20 @@ import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.itemsIndexed
|
import androidx.compose.foundation.lazy.itemsIndexed
|
||||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.media3.common.util.UnstableApi
|
import androidx.media3.common.util.UnstableApi
|
||||||
import net.newpipe.newplayer.model.EmbeddedUiConfig
|
|
||||||
import net.newpipe.newplayer.model.NewPlayerUIState
|
import net.newpipe.newplayer.model.NewPlayerUIState
|
||||||
import net.newpipe.newplayer.model.NewPlayerViewModel
|
import net.newpipe.newplayer.model.NewPlayerViewModel
|
||||||
import net.newpipe.newplayer.model.NewPlayerViewModelDummy
|
import net.newpipe.newplayer.model.NewPlayerViewModelDummy
|
||||||
import net.newpipe.newplayer.ui.theme.VideoPlayerTheme
|
import net.newpipe.newplayer.ui.theme.VideoPlayerTheme
|
||||||
import net.newpipe.newplayer.ui.videoplayer.STREAMSELECT_UI_BACKGROUND_COLOR
|
|
||||||
import net.newpipe.newplayer.utils.ReorderHapticFeedbackType
|
import net.newpipe.newplayer.utils.ReorderHapticFeedbackType
|
||||||
import net.newpipe.newplayer.utils.getEmbeddedUiConfig
|
|
||||||
import net.newpipe.newplayer.utils.getInsets
|
import net.newpipe.newplayer.utils.getInsets
|
||||||
import net.newpipe.newplayer.utils.rememberReorderHapticFeedback
|
import net.newpipe.newplayer.utils.rememberReorderHapticFeedback
|
||||||
import sh.calvin.reorderable.ReorderableItem
|
import sh.calvin.reorderable.ReorderableItem
|
||||||
|
@ -60,7 +56,8 @@ val ITEM_CORNER_SHAPE = RoundedCornerShape(10.dp)
|
||||||
@Composable
|
@Composable
|
||||||
fun StreamSelectUI(
|
fun StreamSelectUI(
|
||||||
viewModel: NewPlayerViewModel,
|
viewModel: NewPlayerViewModel,
|
||||||
uiState: NewPlayerUIState
|
uiState: NewPlayerUIState,
|
||||||
|
shownInAudioPlayer: Boolean
|
||||||
) {
|
) {
|
||||||
val insets = getInsets()
|
val insets = getInsets()
|
||||||
|
|
||||||
|
@ -68,7 +65,10 @@ fun StreamSelectUI(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.windowInsetsPadding(insets),
|
.windowInsetsPadding(insets),
|
||||||
containerColor = Color.Transparent,
|
containerColor = if (shownInAudioPlayer)
|
||||||
|
MaterialTheme.colorScheme.background
|
||||||
|
else
|
||||||
|
Color.Transparent,
|
||||||
topBar = {
|
topBar = {
|
||||||
StreamSelectTopBar(viewModel = viewModel, uiState = uiState)
|
StreamSelectTopBar(viewModel = viewModel, uiState = uiState)
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,8 @@ fun VideoPlayerStreamSelectUIPreview() {
|
||||||
Surface(modifier = Modifier.fillMaxSize(), color = Color.Red) {
|
Surface(modifier = Modifier.fillMaxSize(), color = Color.Red) {
|
||||||
StreamSelectUI(
|
StreamSelectUI(
|
||||||
viewModel = NewPlayerViewModelDummy(),
|
viewModel = NewPlayerViewModelDummy(),
|
||||||
uiState = NewPlayerUIState.DUMMY
|
uiState = NewPlayerUIState.DUMMY,
|
||||||
|
shownInAudioPlayer = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -45,9 +45,9 @@ import androidx.media3.common.util.UnstableApi
|
||||||
import net.newpipe.newplayer.model.NewPlayerUIState
|
import net.newpipe.newplayer.model.NewPlayerUIState
|
||||||
import net.newpipe.newplayer.model.NewPlayerViewModel
|
import net.newpipe.newplayer.model.NewPlayerViewModel
|
||||||
import net.newpipe.newplayer.ui.PlaySurface
|
import net.newpipe.newplayer.ui.PlaySurface
|
||||||
import net.newpipe.newplayer.ui.streamselect.StreamSelectUI
|
import net.newpipe.newplayer.ui.selection_ui.StreamSelectUI
|
||||||
import androidx.lifecycle.LifecycleEventObserver
|
import androidx.lifecycle.LifecycleEventObserver
|
||||||
import net.newpipe.newplayer.ui.streamselect.ChapterSelectUI
|
import net.newpipe.newplayer.ui.selection_ui.ChapterSelectUI
|
||||||
|
|
||||||
@OptIn(UnstableApi::class)
|
@OptIn(UnstableApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -117,6 +117,7 @@ fun VideoPlayerUi(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
||||||
StreamSelectUI(
|
StreamSelectUI(
|
||||||
viewModel = viewModel,
|
viewModel = viewModel,
|
||||||
uiState = uiState,
|
uiState = uiState,
|
||||||
|
shownInAudioPlayer = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,7 +126,11 @@ fun VideoPlayerUi(viewModel: NewPlayerViewModel, uiState: NewPlayerUIState) {
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
color = STREAMSELECT_UI_BACKGROUND_COLOR
|
color = STREAMSELECT_UI_BACKGROUND_COLOR
|
||||||
) {
|
) {
|
||||||
ChapterSelectUI(viewModel = viewModel, uiState = uiState)
|
ChapterSelectUI(
|
||||||
|
viewModel = viewModel,
|
||||||
|
uiState = uiState,
|
||||||
|
shownInAudioPlayer = false
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue