From 2fe723aead48b161cc9cd78594c6843b86c8a319 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 4 Nov 2025 14:26:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2tag=20=E5=88=9D=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visualnovel/api/service/ActorsService.kt | 9 ++-- .../entity/request/ParamActorTag.kt | 7 +++ .../visualnovel/entity/response/ActorTag.kt | 7 --- .../repository/api/ActorsRepository.kt | 5 +- .../remax/visualnovel/ui/main/MainActivity.kt | 11 ++-- .../ui/main/actor/ActorListFragment.kt | 47 +++++++++--------- .../visualnovel/ui/main/actor/ActorTagBean.kt | 7 --- .../ui/main/actor/ActorsViewModel.kt | 3 ++ .../custom/{AbsTagBean.kt => ActorTag.kt} | 5 +- .../widget/custom/TagFlowLayout2.kt | 14 +++--- .../classes/kotlin/main/Deps$ClassPath.class | Bin 1084 -> 0 bytes .../build/classes/kotlin/main/Deps.class | Bin 9618 -> 0 bytes .../main/META-INF/buildSrc.kotlin_module | Bin 24 -> 0 bytes .../build/classes/kotlin/main/Version.class | Bin 4867 -> 0 bytes .../cacheable/caches-jvm/lookups/counters.tab | 2 - .../compileKotlin/cacheable/last-build.bin | Bin 18 -> 0 bytes .../shrunk-classpath-snapshot.bin | Bin 4 -> 0 bytes VisualNovel/buildSrc/build/libs/buildSrc.jar | Bin 7770 -> 0 bytes .../buildSrc/build/tmp/jar/MANIFEST.MF | 2 - 19 files changed, 57 insertions(+), 62 deletions(-) create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ParamActorTag.kt delete mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ActorTag.kt delete mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorTagBean.kt rename VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/{AbsTagBean.kt => ActorTag.kt} (57%) delete mode 100644 VisualNovel/buildSrc/build/classes/kotlin/main/Deps$ClassPath.class delete mode 100644 VisualNovel/buildSrc/build/classes/kotlin/main/Deps.class delete mode 100644 VisualNovel/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module delete mode 100644 VisualNovel/buildSrc/build/classes/kotlin/main/Version.class delete mode 100644 VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab delete mode 100644 VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin delete mode 100644 VisualNovel/buildSrc/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin delete mode 100644 VisualNovel/buildSrc/build/libs/buildSrc.jar delete mode 100644 VisualNovel/buildSrc/build/tmp/jar/MANIFEST.MF diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ActorsService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ActorsService.kt index 32ba2c5..d558b9c 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ActorsService.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ActorsService.kt @@ -3,22 +3,21 @@ package com.remax.visualnovel.api.service import com.remax.visualnovel.BuildConfig import com.remax.visualnovel.entity.response.basenew.ResponseNew import com.remax.visualnovel.entity.request.ParamActorList +import com.remax.visualnovel.entity.request.ParamActorTag import com.remax.visualnovel.entity.response.ActorBean -import com.remax.visualnovel.entity.response.ActorTag +import com.remax.visualnovel.widget.custom.ActorTag import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.POST interface ActorsService { - @GET(BuildConfig.API_BASE + "/tag/getTags") - suspend fun requestActorTags(): ResponseNew> + @POST(BuildConfig.API_BASE + "/tag/selectByCondition") + suspend fun requestActorTags(@Body param: ParamActorTag): ResponseNew> @POST(BuildConfig.API_BASE + "/character/select/list") suspend fun requestActorList(@Body param: ParamActorList): ResponseNew> - /*@GET(BuildConfig.API_BASE + "/character/select/roleInfo/{roleId}") - suspend fun requestActorInfo(): ResponseNew*/ } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ParamActorTag.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ParamActorTag.kt new file mode 100644 index 0000000..6ba3c96 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ParamActorTag.kt @@ -0,0 +1,7 @@ +package com.remax.visualnovel.entity.request + + +data class ParamActorTag( + var name: String = "", + var limit: Int = 5 +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ActorTag.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ActorTag.kt deleted file mode 100644 index 4aad76b..0000000 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ActorTag.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.remax.visualnovel.entity.response - - -data class ActorTag( - val tagName: String, - val tagId: Long -) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ActorsRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ActorsRepository.kt index 917ca56..1f920e5 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ActorsRepository.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ActorsRepository.kt @@ -2,13 +2,14 @@ package com.remax.visualnovel.repository.api import com.remax.visualnovel.api.service.ActorsService import com.remax.visualnovel.entity.request.ParamActorList +import com.remax.visualnovel.entity.request.ParamActorTag import com.remax.visualnovel.repository.api.base.BaseRepositoryNew import javax.inject.Inject class ActorsRepository @Inject constructor(private val mActorsService: ActorsService) : BaseRepositoryNew() { - suspend fun getActorTags() = executeHttp { - mActorsService.requestActorTags() + suspend fun getActorTags(param: ParamActorTag) = executeHttp { + mActorsService.requestActorTags(param) } suspend fun getActorList(param: ParamActorList) = executeHttp { diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/MainActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/MainActivity.kt index 952305c..7973715 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/MainActivity.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/MainActivity.kt @@ -8,6 +8,7 @@ import androidx.appcompat.widget.AppCompatImageView import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter import com.alibaba.android.arouter.facade.annotation.Route +import com.gyf.immersionbar.ImmersionBar import com.remax.visualnovel.R import com.remax.visualnovel.app.base.BaseBindingActivity import com.remax.visualnovel.databinding.ActivityMainBinding @@ -30,7 +31,6 @@ import com.remax.visualnovel.ui.main.actor.ActorListFragment import com.remax.visualnovel.ui.main.book.BookListFragment import com.remax.visualnovel.ui.main.history.HistoryFragment import com.remax.visualnovel.ui.main.managa.MangaListFragment -import com.remax.visualnovel.utils.StatusBarUtil3 import dagger.hilt.android.AndroidEntryPoint @@ -42,9 +42,12 @@ class MainActivity : BaseBindingActivity() { private val mainViewModel by viewModels() override fun initView() { - /*StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) - StatusBarUtils.setTransparent(this)*/ - StatusBarUtil3.setImmersiveStatusBar(this, true) + ImmersionBar.with(this) + .transparentStatusBar() + .statusBarColor(R.color.transparent) + .statusBarDarkFont(true) + .fitsSystemWindows(true) + .init(); onBackPressedDispatcher.addCallback(this) { if (mainViewModel.canBack) { diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt index 3c25fee..c4e0b4e 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt @@ -9,19 +9,19 @@ import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.StaggeredGridLayoutManager import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.launcher.ARouter -import com.chad.library.adapter.base.loadmore.LoadMoreStatus import com.dylanc.loadingstateview.BgColorType import com.remax.visualnovel.R import com.remax.visualnovel.app.base.BaseBindingFragment import com.remax.visualnovel.app.widget.setMyEmptyView import com.remax.visualnovel.configs.NovelApplication import com.remax.visualnovel.databinding.FragmentMainActorBinding -import com.remax.visualnovel.entity.request.PageQuery import com.remax.visualnovel.entity.request.ParamActorList +import com.remax.visualnovel.entity.request.ParamActorTag import com.remax.visualnovel.entity.response.ActorBean import com.remax.visualnovel.extension.launchAndCollect2 import com.remax.visualnovel.utils.Routers import com.remax.visualnovel.utils.StatusBarUtil3 +import com.remax.visualnovel.widget.custom.ActorTag import dagger.hilt.android.AndroidEntryPoint import kotlin.getValue import kotlin.math.max @@ -35,6 +35,7 @@ class ActorListFragment : BaseBindingFragment() { private val mActorsModel by viewModels() private var mLoadedPageIndex = 0 private val mRequestParam by lazy { ParamActorList() } + private val mRequestTagsParam by lazy { ParamActorTag() } override fun onCreated(bundle: Bundle?) { @@ -46,6 +47,7 @@ class ActorListFragment : BaseBindingFragment() { } override fun lazyInit() { + getActorTags() getActorList(true, showLoading = false) } @@ -93,23 +95,18 @@ class ActorListFragment : BaseBindingFragment() { private fun initTagLayout() { with(binding) { - val tags = listOf( - ActorTagBean("1", "Youth"), - ActorTagBean("2", "Lolita"), - ActorTagBean("2", "Lolita2"), - ActorTagBean("3", "Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG"), - ActorTagBean("3", "ggggggggggg CEO ABCDEFG Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG"), - ActorTagBean("4", "Uncle"), - ActorTagBean("5", "Character Status"), - ActorTagBean("6", "Imouto"), - ActorTagBean("7", "Fanwork"), - ActorTagBean("8", "LastLine"), + /*val tags = listOf( + ActorTag(1, "Youth"), + ActorTag(2, "Lolita"), + ActorTag(3, "Lolita2"), + ActorTag(4, "Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG"), + ActorTag(5, "ggggggggggg CEO ABCDEFG Overbearing CEO ABCDEFG Overbearing CEO ABCDEFG"), ) tagFlowLayout.setTagDataList(tags) - + */ tagFlowLayout.setOnTagClickListener { tag -> - Toast.makeText(context, "Clicked: ${tag.showStr}", Toast.LENGTH_SHORT).show() + Toast.makeText(context, "Clicked: ${tag.name}", Toast.LENGTH_SHORT).show() } tagFlowLayout.setOnExpandStateChangeListener { isExpanded -> @@ -152,22 +149,24 @@ class ActorListFragment : BaseBindingFragment() { binding.refreshLayout.finishRefresh() } } - - onFailed = { errorCode, errorMsg -> - var temp = 100 - } - - onFailedWithData = { - var temp = 100 - } } } + private fun getActorTags() { + mRequestTagsParam.limit = Int.MAX_VALUE + launchAndCollect2({ + mActorsModel.getActorTags(mRequestTagsParam) + }, showLoading = false) { + onSuccess = { + val data = it ?: emptyList() + binding.tagFlowLayout.setTagDataList(data) + } + } - + } private fun createSampleData(): List { diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorTagBean.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorTagBean.kt deleted file mode 100644 index 365a1bb..0000000 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorTagBean.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.remax.visualnovel.ui.main.actor - -import com.remax.visualnovel.widget.custom.AbsTagBean - -data class ActorTagBean(val tagId: String, override val showStr: String) : AbsTagBean(showStr) { - -} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsViewModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsViewModel.kt index b9fb8fb..8ff183f 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsViewModel.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsViewModel.kt @@ -3,6 +3,7 @@ package com.remax.visualnovel.ui.main.actor import com.remax.visualnovel.app.viewmodel.base.BaseViewModel import com.remax.visualnovel.entity.request.ParamActorList +import com.remax.visualnovel.entity.request.ParamActorTag import com.remax.visualnovel.entity.response.basenew.ResponseNew import com.remax.visualnovel.entity.response.ActorBean import com.remax.visualnovel.repository.api.ActorsRepository @@ -21,4 +22,6 @@ class ActorsViewModel @Inject constructor(private val mActorsRepository: ActorsR suspend fun getActorList(param: ParamActorList) = mActorsRepository.getActorList(param) + suspend fun getActorTags(param: ParamActorTag) = mActorsRepository.getActorTags(param) + } diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/AbsTagBean.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/ActorTag.kt similarity index 57% rename from VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/AbsTagBean.kt rename to VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/ActorTag.kt index c94610b..f01e220 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/AbsTagBean.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/ActorTag.kt @@ -1,6 +1,7 @@ package com.remax.visualnovel.widget.custom -abstract class AbsTagBean( - open val showStr: String, +data class ActorTag( + val id: Int, + val name: String, var isSelected: Boolean = false ) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/TagFlowLayout2.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/TagFlowLayout2.kt index 8958f28..7d4f144 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/TagFlowLayout2.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/custom/TagFlowLayout2.kt @@ -45,12 +45,12 @@ class TagFlowLayout2 @JvmOverloads constructor( private var eachLineAvailableWidth = 0 // 数据 - private val tagItems = mutableListOf() + private val tagItems = mutableListOf() private val tagViews = mutableListOf() private lateinit var expandIcon: ImageView // 监听器 - private var onTagClickListener: ((AbsTagBean) -> Unit)? = null + private var onTagClickListener: ((ActorTag) -> Unit)? = null private var onExpandStateChangeListener: ((Boolean) -> Unit)? = null init { @@ -115,7 +115,7 @@ class TagFlowLayout2 @JvmOverloads constructor( } - fun setTagDataList(tags: List) { + fun setTagDataList(tags: List) { tagItems.clear() tagViews.forEach { removeView(it) } tagViews.clear() @@ -130,9 +130,9 @@ class TagFlowLayout2 @JvmOverloads constructor( requestLayout() } - private fun createTagView(tag: AbsTagBean): TextView { + private fun createTagView(tag: ActorTag): TextView { return TextView(context).apply { - text = tag.showStr + text = tag.name setTextColor(textColor) textSize = textSize / resources.displayMetrics.scaledDensity setPadding(10.dpToPx(), 7.dpToPx(), 10.dpToPx(), 7.dpToPx()) @@ -298,7 +298,7 @@ class TagFlowLayout2 @JvmOverloads constructor( expandIcon.setImageDrawable(indicator) } - fun setOnTagClickListener(listener: (AbsTagBean) -> Unit) { + fun setOnTagClickListener(listener: (ActorTag) -> Unit) { onTagClickListener = listener } @@ -326,7 +326,7 @@ class TagFlowLayout2 @JvmOverloads constructor( requestLayout() } - fun getSelectedTagList() : List { + fun getSelectedTagList() : List { return tagItems.filter { it.isSelected } } diff --git a/VisualNovel/buildSrc/build/classes/kotlin/main/Deps$ClassPath.class b/VisualNovel/buildSrc/build/classes/kotlin/main/Deps$ClassPath.class deleted file mode 100644 index 59caff62a74bda80cba04d8c034af81cdec28a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1084 zcmZWoOK;Oa5dLS`;={b>o0*;QpT9qT0a(O5!|)6FQBTz(q4kn5Yk4q+;=1UG zawOug{HDDweUnFqA@@|p$~!HNYb#pE=@ZXD%NEY$B7X}B_uZ!)9gkOK@Ei+-I8ff`I2g# zZ5*}OGO3C~3Yqegju$3L7)g(!t9xQe?`Ku#y?JlW!8wL=A5<#aLd#kz^jh@UD4#$V zj^!T&R1bube-v5@QxQb6I_FiqM-DD9xN9mhOHnseF~iI;oIr%3Osm#i5^<0wD%j61 zee8!>!^O-+Udg`O-CDL5cW0AK1OJh6#OWC^Fue`uTfa=1sC5H9REQS#0x(GJ(fToTm^@BU_8a;M{(c*U z?-;QVK!)Z*e;SVan5H>qN#}TgIpQ?}yhJ@*UPY#kD|KA0;~K7$h#Pg>#I02@jVat- Vg`?qW+|kHsobL;x8WS3K{{d)Z?PmZ0 diff --git a/VisualNovel/buildSrc/build/classes/kotlin/main/Deps.class b/VisualNovel/buildSrc/build/classes/kotlin/main/Deps.class deleted file mode 100644 index bf4314d452ad313ef89d05da0338418f1ff1d9d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9618 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 BY6JiP diff --git a/VisualNovel/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module b/VisualNovel/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module deleted file mode 100644 index 3aa63618ce3a770e72020d4f312e3de7744d8bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 YcmZQzU|?ooU|&wvOWjwTc^TV;WK@D`_lmyxJ9e zc4Zq1HHC&=pin3j3N5r0TJDrm0xcI4-tkrV4m|v4rMT0X=fN+uJOAIAGv}O{otek~ z{_p#LC!#63X;Igr2-yw%F0w4@yXG{UVbAfa!;h4%iE`9MZ5DN&aeX(s-=el-#}|94 zgF4gHPF)tYN6Ri-)Lm@(xX&W{Oxa7U)0C1Xc42mYVQO}IrkA!+x*Otli;fh7usVEA zM5WMieI9mvKZu+NQSk6=5Y5J(2UqEGP^-J1n6Io@WEI*F@ezx*IrX~dmJ{nj#iCus z4`ZH>Lf5aN>t1xtgrerGWg0HWj^_sr;n{Q>lBu~qJW6ka2t9Jbs)$;`kVQR>W;v#V zijX!a$}MTusR@fZa+z!h&{N&$LW(mPSuir~2Fgb?$YTxQIs zyU-;P96c1HoUM`}pwUcjB$K!4m_>t*UkL-ZvT)04s@a}dixS_t%!p0*ShP>Eo8fvW zm;;0%!yCzr$^bIR4V985bees~GdY`b2%(HJN3!sd=d2_0R)C{6jUwtLPpp-KwZv1B z=qZS0_r{JXIdRP@zh$xN}KMjArTl3r!XfB(X$c$nd zKZ`uWwbleD0m6q(Whsj&43^vo84m<2%TZJxDF)RloECiKRTg#Brnz#G0Wel)K5&&1(n!y!kGqgF2&81 zvvU37b$iXJy5)jjkzb&Uq05nrKN%QnToz^(-b!J^kyV7xOb%{854XJP*2N{^$HiN# zPSy;C{~|V)b90O6COw?CX#?MWU4%84<;H|5%qNTKD{$xqQRK>HK90qL!LFlP!r}D` zUeH?RSpPOXi&^u+!Igkq< zqr7d=&SG;<8oneVM}9^4G*h*P+{tYDL)b~No2J%W*~;RrlC#=ZH#ZKXQ~jxQs&8{6 zowDW2c07CWwDHW?|GJ*)-`vQjveu+^|G6$Zb@PqRR9|XtdtcjND%<|(&Fc$NNpEgI z>M*5FQ|dA$+myOZDQ!wUrqpXn+e~S@DeW+&K1e%1n&U3hYPTuvF{Qnxbek#dGo^l0 z8Zf0nQ`&Dz2TbXpDIGGU+fC^XQ#x!)cbd`>QyMa*yG-eBQ#uMso1tT-)p1igVM_Oy z(!Hj1(v&i$G;B&)Q_7iA-jqg6Y1EX)OljPdPC?S@b=tI=Fr`Ve<9(*p8B;o|NjKl_ zd_ZnLc}s3eebb)9eA$VXx9$UWDR#Zee24?Fzaju=gbPW=lydrj_H~x z__+1C*ny`$yjWu2pOzON$Bz~rFUIEFF7J3an2NZ%&BpTdTxjmvyNW^C@fICiAmF1V z_7>#HkOUwvdg=Kf#zA}m_fs6wt#KEPQ7MNTZ#%ZyNg9wBV5Is!TAeawJO^ke?ZW#9 zcu&!8wD-_nyfxeVG~0f~b^x}6N_#)r2bA_fv=1r1?$CT4R@f1Z4JqtyjU83kagCi& z*u5G%sjy*;@&MNEyjXkI^y`EDFo7VcBSD4;! z=Krt@3j3Jmv!JktHC9xZUe8MkdqnGZSz&V;n^)K;G`6U)M>TduVOKTwn8H4zvBwqW zXso2LipGS(^!%0-wygDY6}F-=Phq~s0)>4}W1+$#jl~Mn*I+|oYg)f`g?&L|Pbln5 z8hcVth`H1>?bp3~U#3j2n}UQpP#H1?vxzN4|16!txhy{xbwXzUe* z{YYc4Don50YYO{`*6($N{ZwObD(vSPdrM)z_y|j3-^agJa2os-r@=6uI2ozq#0|3F zNsfoV;a6gLUdn&p^fnEs8^;Q+_tdl1c^_QKzn%{$b>#;2zDql#3!*mq2Y%%#^k7A=&G5vwwy-E)nEX=h?K!Zg9O$aJ1*i0K)o%S_`;XPG>v zfN7rT3ezQ)L%hXwm}!dXX{MN|$kfkNU<#RDWxBxhJk#S$OH5BOy~gwclVB<_y~*?n a(-TaCOh=hqrUOiem}Zz>VtSA1PyYkB@8Ey{ diff --git a/VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab b/VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab deleted file mode 100644 index 166c057..0000000 --- a/VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab +++ /dev/null @@ -1,2 +0,0 @@ -1 -0 \ No newline at end of file diff --git a/VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin b/VisualNovel/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin deleted file mode 100644 index a7607b8af1f2b3685812f6508458ffdd17734198..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18 YcmZ4UmVvdLhk=1{7K7X>VFn-o04?zYm;e9( diff --git a/VisualNovel/buildSrc/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin b/VisualNovel/buildSrc/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin deleted file mode 100644 index 593f4708db84ac8fd0f5cc47c634f38c013fe9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZQzU|;|M00aO5 diff --git a/VisualNovel/buildSrc/build/libs/buildSrc.jar b/VisualNovel/buildSrc/build/libs/buildSrc.jar deleted file mode 100644 index 2a1d04d55a09b0d6eb48142677bb9f4cb35bbf62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7770 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 diff --git a/VisualNovel/buildSrc/build/tmp/jar/MANIFEST.MF b/VisualNovel/buildSrc/build/tmp/jar/MANIFEST.MF deleted file mode 100644 index 59499bc..0000000 --- a/VisualNovel/buildSrc/build/tmp/jar/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 -