crash fixes

This commit is contained in:
X1nto 2021-01-17 17:15:57 +04:00
parent 835ede4de6
commit 66f2d70de5
4 changed files with 30 additions and 20 deletions

View File

@ -23,7 +23,7 @@ open class ProgressModel {
} }
init { init {
installing.value = false installing.postValue(false)
reset() reset()
} }

View File

@ -117,7 +117,7 @@ object DownloadHelper : CoroutineScope by CoroutineScope(Dispatchers.IO) {
fun downloadManager(context: Context) { fun downloadManager(context: Context) {
val url = "https://github.com/YTVanced/VancedManager/releases/latest/download/manager.apk" val url = "https://github.com/YTVanced/VancedManager/releases/latest/download/manager.apk"
download(url,"https://github.com/YTVanced/VancedManager", "manager", "manager.apk", context, onDownloadComplete = { download(url,"https://github.com/YTVanced/VancedManager/", "manager", "manager.apk", context, onDownloadComplete = {
val apk = File("${context.getExternalFilesDir("manager")?.path}/manager.apk") val apk = File("${context.getExternalFilesDir("manager")?.path}/manager.apk")
val uri = val uri =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)

View File

@ -161,6 +161,7 @@ object PackageHelper {
} }
fun install(path: String, context: Context) { fun install(path: String, context: Context) {
try {
val callbackIntent = Intent(context, AppInstallerService::class.java) val callbackIntent = Intent(context, AppInstallerService::class.java)
val pendingIntent = PendingIntent.getService(context, 0, callbackIntent, 0) val pendingIntent = PendingIntent.getService(context, 0, callbackIntent, 0)
val packageInstaller = context.packageManager.packageInstaller val packageInstaller = context.packageManager.packageInstaller
@ -178,6 +179,10 @@ object PackageHelper {
inputStream.close() inputStream.close()
outputStream.close() outputStream.close()
session.commit(pendingIntent.intentSender) session.commit(pendingIntent.intentSender)
} catch (e: IOException) {
Log.d(INSTALLER_TAG, e.stackTraceToString())
}
} }
private fun installRootMusic(files: ArrayList<FileInfo>, context: Context): Boolean { private fun installRootMusic(files: ArrayList<FileInfo>, context: Context): Boolean {
@ -338,7 +343,6 @@ object PackageHelper {
} catch (e: IOException) { } catch (e: IOException) {
e.printStackTrace() e.printStackTrace()
} }
} finally { } finally {
session?.close() session?.close()
} }

View File

@ -1,10 +1,16 @@
package com.vanced.manager.core.ui.ext package com.vanced.manager.core.ui.ext
import android.util.Log
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
fun Fragment.requireSupportFM() = requireActivity().supportFragmentManager fun Fragment.requireSupportFM() = requireActivity().supportFragmentManager
fun <D : DialogFragment> Fragment.showDialog(dialog: D) { fun <D : DialogFragment> Fragment.showDialog(dialog: D) {
try {
dialog.show(requireSupportFM(), dialog::class.simpleName) dialog.show(requireSupportFM(), dialog::class.simpleName)
} catch (e: IllegalStateException) {
Log.d("VMUI", "Can not perform this action after onSaveInstanceState")
}
} }