Don't fail silently if can't install update

This commit is contained in:
FooIbar committed 2024-04-28 14:37:31 +08:00
1 parent ca023f73f4
commit 009c49cd89
1 file changed
+8 -10
@@ -21,6 +21,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
import arrow.atomic.AtomicInt
import com.hippo.ehviewer.R
import eu.kanade.tachiyomi.util.lang.withUIContext
import java.io.File
import kotlin.coroutines.resume
@@ -93,15 +94,12 @@ suspend fun Context.requestInstallPermission(): Boolean {
suspend fun Context.installPackage(file: File) {
val canInstall = !isAtLeastO || requestInstallPermission()
if (canInstall) {
val contentUri = FileProvider.getUriForFile(this, "$packageName.fileprovider", file)
val intent = Intent(Intent.ACTION_VIEW).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
setDataAndType(contentUri, "application/vnd.android.package-archive")
}
if (packageManager.queryIntentActivities(intent, 0).size > 0) {
startActivity(intent)
}
check(canInstall) { getString(R.string.permission_denied) }
val contentUri = FileProvider.getUriForFile(this, "$packageName.fileprovider", file)
val intent = Intent(Intent.ACTION_VIEW).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
setDataAndType(contentUri, "application/vnd.android.package-archive")
}
startActivity(intent)
}