Skip to content

Commit 9a0bbe1

Browse files
committed
feat: upgrade compose screen
1 parent cad236d commit 9a0bbe1

7 files changed

Lines changed: 15 additions & 24 deletions

File tree

shared/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,9 @@ kotlin {
5353
dependencies {
5454
api("androidx.appcompat:appcompat:1.5.1")
5555
api("androidx.core:core-ktx:1.9.0")
56-
api("androidx.window:window:1.1.0-alpha03")
5756

5857
api("io.coil-kt:coil-compose:2.2.1")
59-
api("io.github.succlz123:compose-screen-android:0.0.2")
58+
api("io.github.succlz123:compose-screen-android:0.0.3")
6059
api("com.github.succlz123:HoHoPlayer:0.1.6")
6160
}
6261
}
@@ -67,7 +66,7 @@ kotlin {
6766
}
6867
val desktopMain by getting {
6968
dependencies {
70-
api("io.github.succlz123:compose-screen-desktop:0.0.2")
69+
api("io.github.succlz123:compose-screen-desktop:0.0.3")
7170
api("io.github.succlz123:compose-imageloader-desktop:0.0.2")
7271

7372
api("uk.co.caprica:vlcj:4.7.3")

shared/src/commonMain/kotlin/org/succlz123/app/acfun/base/BaseView.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ fun LoadingFailView(modifier: Modifier = Modifier, cancelClick: () -> Unit, okCl
5454
}
5555
Spacer(modifier = Modifier.width(32.dp))
5656
Button(colors = outlinedButtonColors(
57-
backgroundColor = Color.Black,
58-
contentColor = Color.White,
59-
disabledContentColor = Color.Transparent
57+
backgroundColor = Color.Black, contentColor = Color.White, disabledContentColor = Color.Transparent
6058
), contentPadding = PaddingValues(
6159
start = 16.dp, top = 6.dp, end = 16.dp, bottom = 6.dp
6260
), onClick = {
@@ -112,8 +110,8 @@ fun AcBackButton(modifier: Modifier = Modifier, tint: Color = Color.Black, onCli
112110
}
113111

114112
@Composable
115-
fun AcDivider() {
116-
Spacer(modifier = Modifier.fillMaxWidth().height(1.dp).background(ColorResource.divider))
113+
fun AcDivider(modifier: Modifier = Modifier.fillMaxWidth()) {
114+
Spacer(modifier = modifier.height(1.dp).background(ColorResource.divider))
117115
}
118116

119117
@Composable

shared/src/commonMain/kotlin/org/succlz123/app/acfun/theme/AcFunTheme.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import androidx.compose.ui.text.font.FontWeight
1414
import androidx.compose.ui.unit.Dp
1515
import androidx.compose.ui.unit.dp
1616
import androidx.compose.ui.unit.sp
17-
import org.succlz123.lib.screen.LocalScreenWindowSizeOwner
17+
import org.succlz123.lib.screen.window.ScreenWindow
1818
import org.succlz123.lib.screen.window.ScreenWindowSizeClass
1919

2020
private val DarkColorPalette = darkColors(
@@ -65,7 +65,7 @@ fun AcFunTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable(
6565
val shapes = Shapes(
6666
small = RoundedCornerShape(8.dp), medium = RoundedCornerShape(12.dp), large = RoundedCornerShape(16.dp)
6767
)
68-
val sizeClass = LocalScreenWindowSizeOwner.current.getWindowHolder().sizeClass.collectAsState()
68+
val sizeClass = ScreenWindow.sizeClassFlow.collectAsState()
6969
val dimens = when (sizeClass.value) {
7070
ScreenWindowSizeClass.Compact -> {
7171
compactDimens

shared/src/commonMain/kotlin/org/succlz123/app/acfun/ui/detail/VideoDetailScreen.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.succlz123.app.acfun.Manifest
2020
import org.succlz123.app.acfun.api.bean.AcContent
2121
import org.succlz123.app.acfun.api.bean.VideoContent
2222
import org.succlz123.app.acfun.base.AcBackButton
23-
import org.succlz123.app.acfun.base.AcDivider
2423
import org.succlz123.app.acfun.base.LoadingFailView
2524
import org.succlz123.app.acfun.base.LoadingView
2625
import org.succlz123.app.acfun.theme.ColorResource
@@ -167,7 +166,6 @@ fun videoDetailContent(acContent: AcContent, vContent: VideoContent, viewModel:
167166
Spacer(modifier = Modifier.fillMaxWidth().height(18.dp))
168167
Text(text = "分集: \n", style = MaterialTheme.typography.h5)
169168

170-
171169
LaunchedEffect(Unit) {
172170
viewModel.downloadVideoContentEvent.collect {
173171
when (it) {
@@ -197,7 +195,7 @@ fun videoDetailContent(acContent: AcContent, vContent: VideoContent, viewModel:
197195
)
198196
when (downloadState.downloadStateType.value) {
199197
DownloadStateType.Starting, DownloadStateType.Downloading -> {
200-
screenNavigation.toast("下载中...")
198+
screenNavigation.toast("已经在下载队列中...")
201199
}
202200

203201
DownloadStateType.Finish -> {
@@ -236,7 +234,7 @@ fun videoDetailContent(acContent: AcContent, vContent: VideoContent, viewModel:
236234
modifier = Modifier.weight(1f).height(52.dp).clip(MaterialTheme.shapes.medium)
237235
.background(ColorResource.background)
238236
) {
239-
Box(modifier = Modifier.align(Alignment.Center).fillMaxWidth().noRippleClickable {
237+
Box(modifier = Modifier.align(Alignment.Center).noRippleClickable {
240238
viewModel.play(acContent, index + 1)
241239
}, contentAlignment = Alignment.Center) {
242240
Text(text = (index + 1).toString(), style = MaterialTheme.typography.h3)
@@ -262,8 +260,6 @@ fun videoDetailContent(acContent: AcContent, vContent: VideoContent, viewModel:
262260
screenNavigation.cancelPopupWindow()
263261
}, "下载视频")
264262
Spacer(modifier = Modifier.height(24.dp))
265-
AcDivider()
266-
Spacer(modifier = Modifier.height(24.dp))
267263
OptionItem(modifier = Modifier.noRippleClickable {
268264
screenNavigation.toast("开发中...")
269265
screenNavigation.cancelPopupWindow()

shared/src/commonMain/kotlin/org/succlz123/app/acfun/ui/video/VideoPlayerScreen.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ import org.succlz123.app.acfun.danmaku.DanmakuBean
2828
import org.succlz123.app.acfun.danmaku.DanmkuAnimationState
2929
import org.succlz123.lib.screen.LocalScreenNavigator
3030
import org.succlz123.lib.screen.LocalScreenRecord
31-
import org.succlz123.lib.screen.LocalScreenWindowSizeOwner
3231
import org.succlz123.lib.screen.operation.ScreenStackState
3332
import org.succlz123.lib.screen.value
3433
import org.succlz123.lib.screen.viewmodel.sharedViewModel
34+
import org.succlz123.lib.screen.window.ScreenWindow
3535
import org.succlz123.lib.video.*
3636
import kotlin.math.roundToInt
3737

@@ -103,9 +103,7 @@ fun SimpleDanmaku(
103103
}
104104
val showTime = DANMAKU_SPEED
105105
val offset = remember { Offset(2.0f, 5.0f) }
106-
val sizeOwner = LocalScreenWindowSizeOwner.current
107-
val screenSize = remember { sizeOwner.getWindowHolder().size.value }
108-
val density = LocalDensity.current
106+
val screenSize = ScreenWindow.sizeFlow.collectAsState().value
109107

110108
var recordTime = remember { 0L }
111109
val curTime = playerViewModel.time.collectAsState().value

shared/src/commonMain/kotlin/org/succlz123/app/acfun/ui/video/VideoPlayerSettingDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import androidx.compose.ui.unit.dp
1919
import org.succlz123.app.acfun.theme.ColorResource
2020
import org.succlz123.lib.click.noRippleClickable
2121
import org.succlz123.lib.screen.LocalScreenNavigator
22-
import org.succlz123.lib.screen.LocalScreenWindowSizeOwner
2322
import org.succlz123.lib.screen.viewmodel.sharedViewModel
23+
import org.succlz123.lib.screen.window.ScreenWindow
2424
import org.succlz123.lib.video.PlayerSetting
2525
import org.succlz123.lib.video.VideoPlayerViewModel
2626
import org.succlz123.lib.window.rememberIsWindowExpanded
@@ -29,7 +29,7 @@ import org.succlz123.lib.window.rememberIsWindowExpanded
2929
fun VideoPlayerSettingDialog() {
3030
val navigationScene = LocalScreenNavigator.current
3131
val density = LocalDensity.current
32-
val screenSize = LocalScreenWindowSizeOwner.current.getWindowHolder().size.collectAsState()
32+
val screenSize = ScreenWindow.sizeFlow.collectAsState()
3333

3434
val playerViewModel = sharedViewModel {
3535
VideoPlayerViewModel()

shared/src/commonMain/kotlin/org/succlz123/lib/window/Window.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ package org.succlz123.lib.window
33
import androidx.compose.runtime.Composable
44
import androidx.compose.runtime.collectAsState
55
import androidx.compose.runtime.remember
6-
import org.succlz123.lib.screen.LocalScreenWindowSizeOwner
6+
import org.succlz123.lib.screen.window.ScreenWindow
77
import org.succlz123.lib.screen.window.ScreenWindowSizeClass
88

99
@Composable
1010
fun rememberIsWindowExpanded(): Boolean {
11-
val sizeClass = LocalScreenWindowSizeOwner.current.getWindowHolder().sizeClass.collectAsState()
11+
val sizeClass = ScreenWindow.sizeClassFlow.collectAsState()
1212
return remember(sizeClass.value) { sizeClass.value == ScreenWindowSizeClass.Expanded }
1313
}

0 commit comments

Comments
 (0)