更新界面

This commit is contained in:
HapeLee committed 2025-07-10 04:25:54 +08:00
1 parent 3516af6a9f
commit 3c494cfc9a
24 files changed
+666 -302

No files matched your search

@@ -1,15 +1,13 @@
package io.legato.kazusa.ui.about
import android.os.Build
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import io.legato.kazusa.R
import io.legato.kazusa.base.BaseDialogFragment
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
import io.legato.kazusa.databinding.DialogUpdateBinding
import io.legato.kazusa.help.update.AppUpdate
//import io.legado.app.lib.theme.primaryColor
import io.legato.kazusa.model.Download
import io.legato.kazusa.utils.setLayout
import io.legato.kazusa.utils.toastOnUi
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
import io.noties.markwon.Markwon
@@ -17,7 +15,7 @@ import io.noties.markwon.ext.tables.TablePlugin
import io.noties.markwon.html.HtmlPlugin
import io.noties.markwon.image.glide.GlideImagesPlugin
class UpdateDialog() : BaseDialogFragment(R.layout.dialog_update) {
class UpdateDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_update) {
constructor(updateInfo: AppUpdate.UpdateInfo) : this() {
arguments = Bundle().apply {
@@ -32,7 +30,6 @@ class UpdateDialog() : BaseDialogFragment(R.layout.dialog_update) {
override fun onStart() {
super.onStart()
setLayout(0.9f, ViewGroup.LayoutParams.WRAP_CONTENT)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
@@ -57,8 +54,19 @@ class UpdateDialog() : BaseDialogFragment(R.layout.dialog_update) {
when (it.itemId) {
R.id.menu_download -> {
val url = arguments?.getString("url")
val name = arguments?.getString("name")
if (url != null && name != null) {
val baseName = arguments?.getString("name")
?.removeSuffix(".apk")
val abi = Build.SUPPORTED_ABIS.firstOrNull() ?: "universal"
val abiSuffix = when {
abi.contains("arm64") -> "arm64-v8a"
abi.contains("armeabi") -> "armeabi-v7a"
else -> "universal"
}
val name = "${baseName}_$abiSuffix.apk"
if (url != null && baseName != null) {
Download.start(requireContext(), url, name)
toastOnUi(R.string.download_start)
}