From cc540903d3c5dd37903ef3b926ff5be461a8cadc Mon Sep 17 00:00:00 2001 From: acite <1498045907@qq.com> Date: Sun, 14 Sep 2025 18:26:05 +0800 Subject: [PATCH] [update] Better UI --- app/build.gradle.kts | 3 + .../com/acitelight/aether/AbyssService.kt | 3 + .../main/java/com/acitelight/aether/Global.kt | 13 ++ .../com/acitelight/aether/MainActivity.kt | 62 +++++++- .../aether/model/DownloadUiModel.kt | 25 +++ .../aether/service/AbyssTunnelProxy.kt | 2 + .../acitelight/aether/service/ApiClient.kt | 1 + .../acitelight/aether/service/FetchManager.kt | 85 ++++++++++ .../com/acitelight/aether/ui/theme/Theme.kt | 143 ++++++++++++++--- .../acitelight/aether/view/ComicGridView.kt | 18 +-- .../com/acitelight/aether/view/ComicScreen.kt | 9 +- .../com/acitelight/aether/view/HomeScreen.kt | 9 +- .../com/acitelight/aether/view/MeScreen.kt | 6 +- .../aether/view/TransmissionScreen.kt | 150 ++++++++++++++++++ .../com/acitelight/aether/view/VideoPlayer.kt | 4 +- .../com/acitelight/aether/view/VideoScreen.kt | 10 +- .../aether/viewModel/HomeScreenViewModel.kt | 31 +--- .../aether/viewModel/MeScreenViewModel.kt | 18 +++ .../viewModel/TransmissionScreenViewModel.kt | 144 +++++++++++++++++ gradle/libs.versions.toml | 20 ++- settings.gradle.kts | 3 + 21 files changed, 661 insertions(+), 98 deletions(-) create mode 100644 app/src/main/java/com/acitelight/aether/model/DownloadUiModel.kt create mode 100644 app/src/main/java/com/acitelight/aether/service/FetchManager.kt create mode 100644 app/src/main/java/com/acitelight/aether/view/TransmissionScreen.kt create mode 100644 app/src/main/java/com/acitelight/aether/viewModel/TransmissionScreenViewModel.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 86f593d..ae304e1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -46,6 +46,9 @@ android { } dependencies { + implementation(libs.fetch2) + implementation(libs.fetch2okhttp) + implementation(libs.hilt.android) implementation(libs.hilt.navigation.compose) ksp(libs.hilt.android.compiler) diff --git a/app/src/main/java/com/acitelight/aether/AbyssService.kt b/app/src/main/java/com/acitelight/aether/AbyssService.kt index 8da6788..14e710b 100644 --- a/app/src/main/java/com/acitelight/aether/AbyssService.kt +++ b/app/src/main/java/com/acitelight/aether/AbyssService.kt @@ -5,6 +5,7 @@ import android.content.Intent import android.os.Binder import android.os.IBinder import com.acitelight.aether.service.AbyssTunnelProxy +import com.acitelight.aether.service.FetchManager import com.acitelight.aether.service.SettingsDataStoreManager import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CoroutineScope @@ -21,6 +22,8 @@ import javax.inject.Inject class AbyssService: Service() { @Inject lateinit var proxy: AbyssTunnelProxy + @Inject + lateinit var downloader: FetchManager private val binder = AbyssServiceBinder() private val _isInitialized = MutableStateFlow(false) diff --git a/app/src/main/java/com/acitelight/aether/Global.kt b/app/src/main/java/com/acitelight/aether/Global.kt index cd109f4..6b63666 100644 --- a/app/src/main/java/com/acitelight/aether/Global.kt +++ b/app/src/main/java/com/acitelight/aether/Global.kt @@ -8,4 +8,17 @@ import com.acitelight.aether.model.Video object Global { var loggedIn by mutableStateOf(false) var sameClassVideos: List