Skip to content

Commit 825e8f6

Browse files
author
licheng
committed
移除 ugc、pgc 页面的轮播组件,避免抢占焦点导致无法跳到设置页的问题
1 parent bd386d3 commit 825e8f6

File tree

4 files changed

+42
-75
lines changed

4 files changed

+42
-75
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ BV 是一款 [哔哩哔哩](https://www.bilibili.com) 的第三方 `Android` 应
3131
4. #### 标题下方显示发布时间(动态列表显示x时间前,其它列表显示具体时间)
3232
5. #### 已登录情况下,首页 TAB 会从“推荐-热门-动态”,变更顺序为“动态-推荐-热门”
3333
6. #### 设置页不再作为单独页面独立打开(本意是为了解决跳转不到设置入口而改的,但问题原因不在这里,这个改动还是保留了)
34+
7. #### 移除 ugc、pgc 页面的轮播组件,避免抢占焦点导致无法跳到设置页的问题(应该也没什么人看轮播内容把)(Thanksfor@TangYanxin)
3435

3536
### 待处理的Todo
3637
1. 播放页进度条展示优化,现在的太大有点影响视频画面

app/src/main/kotlin/dev/aaa1115910/bv/screen/main/pgc/PgcCommon.kt

Lines changed: 22 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,12 @@ package dev.aaa1115910.bv.screen.main.pgc
22

33
import android.view.KeyEvent
44
import androidx.compose.foundation.background
5-
import androidx.compose.foundation.horizontalScroll
6-
import androidx.compose.foundation.layout.Arrangement
7-
import androidx.compose.foundation.layout.Box
8-
import androidx.compose.foundation.layout.BoxWithConstraints
9-
import androidx.compose.foundation.layout.Column
10-
import androidx.compose.foundation.layout.PaddingValues
11-
import androidx.compose.foundation.layout.Row
12-
import androidx.compose.foundation.layout.Spacer
13-
import androidx.compose.foundation.layout.fillMaxHeight
14-
import androidx.compose.foundation.layout.fillMaxSize
15-
import androidx.compose.foundation.layout.fillMaxWidth
16-
import androidx.compose.foundation.layout.height
17-
import androidx.compose.foundation.layout.offset
18-
import androidx.compose.foundation.layout.padding
19-
import androidx.compose.foundation.layout.size
20-
import androidx.compose.foundation.layout.width
21-
import androidx.compose.foundation.lazy.LazyColumn
22-
import androidx.compose.foundation.lazy.LazyListState
23-
import androidx.compose.foundation.lazy.LazyRow
24-
import androidx.compose.foundation.lazy.items
25-
import androidx.compose.foundation.lazy.itemsIndexed
26-
import androidx.compose.foundation.rememberScrollState
5+
import androidx.compose.foundation.layout.*
6+
import androidx.compose.foundation.lazy.*
277
import androidx.compose.runtime.Composable
28-
import androidx.compose.runtime.remember
298
import androidx.compose.ui.Alignment
309
import androidx.compose.ui.Modifier
3110
import androidx.compose.ui.draw.drawWithContent
32-
import androidx.compose.ui.focus.FocusRequester
33-
import androidx.compose.ui.focus.focusRequester
3411
import androidx.compose.ui.focus.onFocusChanged
3512
import androidx.compose.ui.graphics.BlendMode
3613
import androidx.compose.ui.graphics.Brush
@@ -45,19 +22,14 @@ import androidx.compose.ui.layout.ContentScale
4522
import androidx.compose.ui.platform.LocalContext
4623
import androidx.compose.ui.tooling.preview.Preview
4724
import androidx.compose.ui.unit.dp
48-
import androidx.tv.material3.ClickableSurfaceDefaults
49-
import androidx.tv.material3.Icon
50-
import androidx.tv.material3.MaterialTheme
51-
import androidx.tv.material3.Surface
52-
import androidx.tv.material3.Text
25+
import androidx.tv.material3.*
5326
import coil.compose.AsyncImage
5427
import dev.aaa1115910.biliapi.entity.pgc.PgcFeedData
5528
import dev.aaa1115910.biliapi.entity.pgc.PgcItem
5629
import dev.aaa1115910.biliapi.entity.pgc.PgcType
5730
import dev.aaa1115910.biliapi.http.SeasonIndexType
5831
import dev.aaa1115910.bv.BVApp
5932
import dev.aaa1115910.bv.activities.video.SeasonInfoActivity
60-
import dev.aaa1115910.bv.component.PgcCarousel
6133
import dev.aaa1115910.bv.component.videocard.SeasonCard
6234
import dev.aaa1115910.bv.entity.carddata.SeasonCardData
6335
import dev.aaa1115910.bv.entity.proxy.ProxyArea
@@ -76,31 +48,31 @@ fun PgcScaffold(
7648
pgcType: PgcType,
7749
featureButtons: (@Composable () -> Unit)? = null
7850
) {
79-
val carouselFocusRequester = remember { FocusRequester() }
80-
81-
val carouselItems = pgcViewModel.carouselItems
51+
// val carouselFocusRequester = remember { FocusRequester() }
52+
//
53+
// val carouselItems = pgcViewModel.carouselItems
8254
val pgcFeeds = pgcViewModel.feedItems
8355

8456
LazyColumn(
8557
modifier = modifier,
8658
state = lazyListState
8759
) {
88-
item {
89-
Row(
90-
modifier = Modifier
91-
.fillMaxWidth()
92-
.horizontalScroll(rememberScrollState()),
93-
horizontalArrangement = Arrangement.Center
94-
) {
95-
PgcCarousel(
96-
modifier = Modifier
97-
.width(880.dp)
98-
.padding(32.dp, 0.dp)
99-
.focusRequester(carouselFocusRequester),
100-
data = carouselItems
101-
)
102-
}
103-
}
60+
// item {
61+
// Row(
62+
// modifier = Modifier
63+
// .fillMaxWidth()
64+
// .horizontalScroll(rememberScrollState()),
65+
// horizontalArrangement = Arrangement.Center
66+
// ) {
67+
// PgcCarousel(
68+
// modifier = Modifier
69+
// .width(880.dp)
70+
// .padding(32.dp, 0.dp)
71+
// .focusRequester(carouselFocusRequester),
72+
// data = carouselItems
73+
// )
74+
// }
75+
// }
10476
if (featureButtons != null) {
10577
item {
10678
featureButtons()

app/src/main/kotlin/dev/aaa1115910/bv/screen/main/ugc/UgcCommon.kt

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package dev.aaa1115910.bv.screen.main.ugc
22

33
import android.content.Context
4-
import androidx.compose.foundation.horizontalScroll
54
import androidx.compose.foundation.layout.*
65
import androidx.compose.foundation.lazy.*
7-
import androidx.compose.foundation.rememberScrollState
86
import androidx.compose.runtime.*
97
import androidx.compose.ui.Alignment
108
import androidx.compose.ui.Modifier
@@ -18,7 +16,6 @@ import dev.aaa1115910.biliapi.entity.ugc.region.UgcRegionPage
1816
import dev.aaa1115910.biliapi.repositories.UgcRepository
1917
import dev.aaa1115910.bv.R
2018
import dev.aaa1115910.bv.activities.video.VideoInfoActivity
21-
import dev.aaa1115910.bv.component.UgcCarousel
2219
import dev.aaa1115910.bv.component.videocard.SmallVideoCard
2320
import dev.aaa1115910.bv.entity.carddata.VideoCardData
2421
import dev.aaa1115910.bv.util.fInfo
@@ -57,23 +54,23 @@ fun UgcRegionScaffold(
5754
modifier = modifier,
5855
state = state.lazyListState
5956
) {
60-
if (state.showCarousel) {
61-
item {
62-
Row(
63-
modifier = Modifier
64-
.fillMaxWidth()
65-
.horizontalScroll(rememberScrollState()),
66-
horizontalArrangement = Arrangement.Center
67-
) {
68-
UgcCarousel(
69-
modifier = Modifier
70-
.width(880.dp)
71-
.padding(32.dp, 0.dp),
72-
data = state.carouselItems
73-
)
74-
}
75-
}
76-
}
57+
// if (state.showCarousel) {
58+
// item {
59+
// Row(
60+
// modifier = Modifier
61+
// .fillMaxWidth()
62+
// .horizontalScroll(rememberScrollState()),
63+
// horizontalArrangement = Arrangement.Center
64+
// ) {
65+
// UgcCarousel(
66+
// modifier = Modifier
67+
// .width(880.dp)
68+
// .padding(32.dp, 0.dp),
69+
// data = state.carouselItems
70+
// )
71+
// }
72+
// }
73+
// }
7774

7875
if (childRegionButtons != null) {
7976
item {

app/src/main/kotlin/dev/aaa1115910/bv/viewmodel/pgc/PgcViewModel.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ import dev.aaa1115910.biliapi.entity.pgc.PgcType
1313
import dev.aaa1115910.biliapi.repositories.PgcRepository
1414
import dev.aaa1115910.bv.BVApp
1515
import dev.aaa1115910.bv.BuildConfig
16-
import dev.aaa1115910.bv.util.addWithMainContext
17-
import dev.aaa1115910.bv.util.addAllWithMainContext
18-
import dev.aaa1115910.bv.util.fInfo
19-
import dev.aaa1115910.bv.util.fWarn
20-
import dev.aaa1115910.bv.util.toast
16+
import dev.aaa1115910.bv.util.*
2117
import io.github.oshai.kotlinlogging.KotlinLogging
2218
import kotlinx.coroutines.Dispatchers
2319
import kotlinx.coroutines.delay
@@ -95,6 +91,7 @@ abstract class PgcViewModel(
9591
* 更新轮播图
9692
*/
9793
private suspend fun updateCarousel() {
94+
return
9895
logger.fInfo { "Updating $pgcType carousel" }
9996
runCatching {
10097
// 由于未知原因,注入的 PgcRepository 可能获取到的对象为 null

0 commit comments

Comments
 (0)