diff --git a/manager/app/src/main/AndroidManifest.xml b/manager/app/src/main/AndroidManifest.xml index f084e49f..e5903da2 100644 --- a/manager/app/src/main/AndroidManifest.xml +++ b/manager/app/src/main/AndroidManifest.xml @@ -37,6 +37,16 @@ + + + + + + + + + + ? = if (intent.data != null) { - arrayListOf(intent.data!!) - } else { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - intent.getParcelableArrayListExtra("uris", Uri::class.java) - } else { - @Suppress("DEPRECATION") - intent.getParcelableArrayListExtra("uris") + val zipUri: ArrayList? = when (intent?.action) { + Intent.ACTION_SEND -> { + val uri = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java) + } else { + @Suppress("DEPRECATION") + intent.getParcelableExtra(Intent.EXTRA_STREAM) + } + uri?.let { arrayListOf(it) } + } + + Intent.ACTION_SEND_MULTIPLE -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, Uri::class.java) + } else { + @Suppress("DEPRECATION") + intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM) + } + } + + else -> when { + intent?.data != null -> arrayListOf(intent.data!!) + Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> { + intent.getParcelableArrayListExtra("uris", Uri::class.java) + } + else -> { + @Suppress("DEPRECATION") + intent.getParcelableArrayListExtra("uris") + } } } diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Flash.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Flash.kt index 62060d25..e4808f34 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Flash.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Flash.kt @@ -241,7 +241,7 @@ fun FlashScreen(navigator: DestinationsNavigator, flashIt: FlashIt) { // 如果是外部安装或需要自动退出的模块更新且不需要重启,延迟后自动返回 if (isExternalInstall || shouldAutoExit) { scope.launch { - kotlinx.coroutines.delay(2000) + kotlinx.coroutines.delay(1000) if (shouldAutoExit) { val sharedPref = context.getSharedPreferences("kernel_flash_prefs", Context.MODE_PRIVATE) sharedPref.edit { remove("auto_exit_after_flash") } @@ -344,7 +344,7 @@ fun FlashScreen(navigator: DestinationsNavigator, flashIt: FlashIt) { } else if ((isExternalInstall || shouldAutoExit) && flashIt is FlashIt.FlashModules && flashIt.currentIndex >= flashIt.uris.size - 1) { // 如果是外部安装或需要自动退出且是最后一个模块,安装完成后自动返回 scope.launch { - kotlinx.coroutines.delay(2000) + kotlinx.coroutines.delay(1000) if (shouldAutoExit) { val sharedPref = context.getSharedPreferences("kernel_flash_prefs", Context.MODE_PRIVATE) sharedPref.edit { remove("auto_exit_after_flash") } @@ -354,7 +354,7 @@ fun FlashScreen(navigator: DestinationsNavigator, flashIt: FlashIt) { } else if ((isExternalInstall || shouldAutoExit) && flashIt is FlashIt.FlashModule) { // 如果是外部安装或需要自动退出的单个模块,安装完成后自动返回 scope.launch { - kotlinx.coroutines.delay(2000) + kotlinx.coroutines.delay(1000) if (shouldAutoExit) { val sharedPref = context.getSharedPreferences("kernel_flash_prefs", Context.MODE_PRIVATE) sharedPref.edit { remove("auto_exit_after_flash") } diff --git a/manager/app/src/main/java/zako/zako/zako/zakoui/screen/KernelFlash.kt b/manager/app/src/main/java/zako/zako/zako/zakoui/screen/KernelFlash.kt index 2bf28fe9..fb7b63a9 100644 --- a/manager/app/src/main/java/zako/zako/zako/zakoui/screen/KernelFlash.kt +++ b/manager/app/src/main/java/zako/zako/zako/zakoui/screen/KernelFlash.kt @@ -115,10 +115,10 @@ fun KernelFlashScreen( showFloatAction = true KernelFlashStateHolder.isFlashing = false - // 如果需要自动退出,延迟3秒后退出 + // 如果需要自动退出,延迟1.5秒后退出 if (shouldAutoExit) { scope.launch { - delay(3000) + delay(1500) val sharedPref = context.getSharedPreferences("kernel_flash_prefs", Context.MODE_PRIVATE) sharedPref.edit { remove("auto_exit_after_flash") } (context as? ComponentActivity)?.finish()