mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2026-08-18 11:05:49 +00:00
Support dynamic color theme on WearOS (#8559)
### Description Support dynamic color theme on WearOS ### Checklist <!-- To help us keep the issue tracker clean and work as efficient as possible, please make sure that you have done all of the following. You can tick the boxes below by placing an x inside the brackets like this: [x] --> - [x] I have read the contribution guidelines: https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request - [x] I have performed a self-review of my code, going through my changes line by line and carefully considering why this line change is necessary - [x] I have run the automated code checks using `./gradlew checkstyle lint` - [x] My code follows the style guidelines of the AntennaPod project: https://antennapod.org/contribute/develop/app/code-style - [x] I have mentioned the corresponding issue and the relevant keyword (e.g., "Closes: #xy") in the description (see https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) - [x] If it is a core feature, I have added automated tests
This commit is contained in:
committed by
GitHub
parent
199a060240
commit
43e4f64faf
@ -36,6 +36,7 @@ import androidx.wear.compose.material3.LinearProgressIndicator
|
||||
import androidx.wear.compose.material3.MaterialTheme
|
||||
import androidx.wear.compose.material3.ScrollIndicator
|
||||
import androidx.wear.compose.material3.Text
|
||||
import androidx.wear.compose.material3.dynamicColorScheme
|
||||
import de.danoeh.antennapod.model.feed.FeedItem
|
||||
import de.danoeh.antennapod.ui.common.Converter
|
||||
import de.danoeh.antennapod.ui.common.DateFormatter
|
||||
@ -53,13 +54,15 @@ class EpisodeDetailActivity : ComponentActivity() {
|
||||
.get(EpisodeDetailViewModel::class.java)
|
||||
|
||||
setContent {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
EpisodeDetailScreen(
|
||||
uiState = uiState,
|
||||
onPlay = { viewModel.play() },
|
||||
onPause = { viewModel.pause() },
|
||||
onOpenOnPhone = { viewModel.openOnPhone() }
|
||||
)
|
||||
MaterialTheme(colorScheme = dynamicColorScheme(this) ?: MaterialTheme.colorScheme) {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
EpisodeDetailScreen(
|
||||
uiState = uiState,
|
||||
onPlay = { viewModel.play() },
|
||||
onPause = { viewModel.pause() },
|
||||
onOpenOnPhone = { viewModel.openOnPhone() }
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,8 @@ import androidx.compose.runtime.getValue
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.wear.compose.foundation.lazy.items
|
||||
import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState
|
||||
import androidx.wear.compose.material3.MaterialTheme
|
||||
import androidx.wear.compose.material3.dynamicColorScheme
|
||||
import de.danoeh.antennapod.model.feed.FeedItem
|
||||
import de.danoeh.antennapod.wearos.composable.ListItem
|
||||
import de.danoeh.antennapod.wearos.composable.ListScaffold
|
||||
@ -24,16 +26,18 @@ class EpisodeListActivity : ComponentActivity() {
|
||||
val viewModel = ViewModelProvider(this, EpisodeListViewModel.factory(path))[EpisodeListViewModel::class.java]
|
||||
|
||||
setContent {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
EpisodeListScreen(
|
||||
uiState = uiState,
|
||||
onOpenEpisodeDetail = { episode ->
|
||||
val intent = Intent(this, EpisodeDetailActivity::class.java).apply {
|
||||
putExtra(EpisodeDetailActivity.EXTRA_EPISODE, episode)
|
||||
MaterialTheme(colorScheme = dynamicColorScheme(this) ?: MaterialTheme.colorScheme) {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
EpisodeListScreen(
|
||||
uiState = uiState,
|
||||
onOpenEpisodeDetail = { episode ->
|
||||
val intent = Intent(this, EpisodeDetailActivity::class.java).apply {
|
||||
putExtra(EpisodeDetailActivity.EXTRA_EPISODE, episode)
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,8 @@ import androidx.compose.runtime.getValue
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.wear.compose.foundation.lazy.items
|
||||
import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState
|
||||
import androidx.wear.compose.material3.MaterialTheme
|
||||
import androidx.wear.compose.material3.dynamicColorScheme
|
||||
import de.danoeh.antennapod.model.feed.Feed
|
||||
import de.danoeh.antennapod.net.sync.wearinterface.WearDataPaths
|
||||
import de.danoeh.antennapod.wearos.composable.ListItem
|
||||
@ -21,13 +23,15 @@ class FeedListActivity : ComponentActivity() {
|
||||
val viewModel = ViewModelProvider(this)[FeedListViewModel::class.java]
|
||||
|
||||
setContent {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
FeedListScreen(uiState = uiState, onOpenFeedEpisodes = { feedId ->
|
||||
val intent = Intent(this, EpisodeListActivity::class.java).apply {
|
||||
putExtra(EpisodeListActivity.EXTRA_PATH, WearDataPaths.feedEpisodesPath(feedId))
|
||||
}
|
||||
startActivity(intent)
|
||||
})
|
||||
MaterialTheme(colorScheme = dynamicColorScheme(this) ?: MaterialTheme.colorScheme) {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
FeedListScreen(uiState = uiState, onOpenFeedEpisodes = { feedId ->
|
||||
val intent = Intent(this, EpisodeListActivity::class.java).apply {
|
||||
putExtra(EpisodeListActivity.EXTRA_PATH, WearDataPaths.feedEpisodesPath(feedId))
|
||||
}
|
||||
startActivity(intent)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import androidx.wear.compose.material3.ListHeader
|
||||
import androidx.wear.compose.material3.MaterialTheme
|
||||
import androidx.wear.compose.material3.ScrollIndicator
|
||||
import androidx.wear.compose.material3.Text
|
||||
import androidx.wear.compose.material3.dynamicColorScheme
|
||||
import de.danoeh.antennapod.model.feed.FeedItem
|
||||
import de.danoeh.antennapod.net.sync.wearinterface.WearDataPaths
|
||||
import de.danoeh.antennapod.ui.common.R as CommonR
|
||||
@ -36,25 +37,27 @@ class MainListActivity : ComponentActivity() {
|
||||
val viewModel = ViewModelProvider(this)[MainViewModel::class.java]
|
||||
|
||||
setContent {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
MainListScreen(
|
||||
uiState = uiState,
|
||||
onOpenEpisodeDetail = { episode ->
|
||||
val intent = Intent(this, EpisodeDetailActivity::class.java).apply {
|
||||
putExtra(EpisodeDetailActivity.EXTRA_EPISODE, episode)
|
||||
MaterialTheme(colorScheme = dynamicColorScheme(this) ?: MaterialTheme.colorScheme) {
|
||||
val uiState by viewModel.uiState.collectAsState()
|
||||
MainListScreen(
|
||||
uiState = uiState,
|
||||
onOpenEpisodeDetail = { episode ->
|
||||
val intent = Intent(this, EpisodeDetailActivity::class.java).apply {
|
||||
putExtra(EpisodeDetailActivity.EXTRA_EPISODE, episode)
|
||||
}
|
||||
startActivity(intent)
|
||||
},
|
||||
onOpenFeedList = {
|
||||
startActivity(Intent(this, FeedListActivity::class.java))
|
||||
},
|
||||
onOpenEpisodeList = { path ->
|
||||
val intent = Intent(this, EpisodeListActivity::class.java).apply {
|
||||
putExtra(EpisodeListActivity.EXTRA_PATH, path)
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
startActivity(intent)
|
||||
},
|
||||
onOpenFeedList = {
|
||||
startActivity(Intent(this, FeedListActivity::class.java))
|
||||
},
|
||||
onOpenEpisodeList = { path ->
|
||||
val intent = Intent(this, EpisodeListActivity::class.java).apply {
|
||||
putExtra(EpisodeListActivity.EXTRA_PATH, path)
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user