fix: 视频/直播贴屏蔽

This commit is contained in:
HuanCheng65 2023-09-30 23:54:47 +08:00
parent fdd0a2d606
commit b91e23f995
No known key found for this signature in database
GPG Key ID: 5EC9DD60A32C7360
2 changed files with 16 additions and 9 deletions

View File

@ -55,9 +55,12 @@ object FrsPageRepository {
.map { response -> .map { response ->
if (response.data_ == null) throw TiebaUnknownException if (response.data_ == null) throw TiebaUnknownException
val userList = response.data_.user_list val userList = response.data_.user_list
val threadList = response.data_.thread_list.map { threadInfo -> val threadList = response.data_.thread_list
.map { threadInfo ->
threadInfo.copy(author = userList.find { it.id == threadInfo.authorId }) threadInfo.copy(author = userList.find { it.id == threadInfo.authorId })
} }
.filter { !App.INSTANCE.appPreferences.blockVideo || it.videoInfo == null }
.filter { it.ala_info == null } // 去他妈的直播
response.copy(data_ = response.data_.copy(thread_list = threadList)) response.copy(data_ = response.data_.copy(thread_list = threadList))
} }
} }

View File

@ -70,9 +70,11 @@ class PersonalizedViewModel @Inject constructor() :
PersonalizedRepository PersonalizedRepository
.personalizedFlow(1, 1) .personalizedFlow(1, 1)
.map<PersonalizedResponse, PersonalizedPartialChange.Refresh> { response -> .map<PersonalizedResponse, PersonalizedPartialChange.Refresh> { response ->
val data = response.toData().filter { val data = response.toData()
.filter {
!App.INSTANCE.appPreferences.blockVideo || it.get { videoInfo } == null !App.INSTANCE.appPreferences.blockVideo || it.get { videoInfo } == null
} }
.filter { it.get { ala_info } == null }
val threadPersonalizedData = response.data_?.thread_personalized ?: emptyList() val threadPersonalizedData = response.data_?.thread_personalized ?: emptyList()
PersonalizedPartialChange.Refresh.Success( PersonalizedPartialChange.Refresh.Success(
data = data.map { thread -> data = data.map { thread ->
@ -90,9 +92,11 @@ class PersonalizedViewModel @Inject constructor() :
PersonalizedRepository PersonalizedRepository
.personalizedFlow(2, page) .personalizedFlow(2, page)
.map<PersonalizedResponse, PersonalizedPartialChange.LoadMore> { response -> .map<PersonalizedResponse, PersonalizedPartialChange.LoadMore> { response ->
val data = response.toData().filter { val data = response.toData()
.filter {
!App.INSTANCE.appPreferences.blockVideo || it.get { videoInfo } == null !App.INSTANCE.appPreferences.blockVideo || it.get { videoInfo } == null
} }
.filter { it.get { ala_info } == null }
val threadPersonalizedData = response.data_?.thread_personalized ?: emptyList() val threadPersonalizedData = response.data_?.thread_personalized ?: emptyList()
PersonalizedPartialChange.LoadMore.Success( PersonalizedPartialChange.LoadMore.Success(
currentPage = page, currentPage = page,