This commit is contained in:
kunfei
2023-01-26 12:26:40 +08:00
parent bb09e180e8
commit 05738459ae
5 changed files with 31 additions and 33 deletions
@@ -13,7 +13,7 @@ import io.legado.app.base.BaseService
import io.legado.app.constant.AppConst
import io.legado.app.constant.AppLog
import io.legado.app.constant.IntentAction
import io.legado.app.help.IntentType
import io.legado.app.utils.IntentType
import io.legado.app.utils.openFileUri
import io.legado.app.utils.servicePendingIntent
import io.legado.app.utils.toastOnUi
@@ -29,7 +29,6 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
import io.legado.app.R
import io.legado.app.constant.AppConst
import io.legado.app.help.IntentHelp
import io.legado.app.help.IntentType
import splitties.systemservices.clipboardManager
import splitties.systemservices.connectivityManager
import java.io.File
@@ -0,0 +1,39 @@
package io.legado.app.utils
import android.net.Uri
import androidx.annotation.Keep
import java.io.File
@Keep
object IntentType {
fun from(uri: Uri): String? {
return from(uri.toString())
}
fun from(file: File): String? {
return from(file.absolutePath)
}
fun from(path: String?): String? {
return when (path?.substringAfterLast(".")?.lowercase()) {
"m4a", "mp3", "mid", "xmf", "ogg", "wav" -> "video/*"
"3gp", "mp4" -> "audio/*"
"jpg", "gif", "png", "jpeg", "bmp" -> "image/*"
"txt", "json" -> "text/plain"
else -> appIntentType?.from(path)
}
}
private val appIntentType: TypeInterface? by lazy {
Class.forName("io.legado.app.help.AppIntentType")
.kotlin.objectInstance as? TypeInterface
}
interface TypeInterface {
fun from(path: String?): String?
}
}