diff --git a/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt b/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt index 717533fb8..d5e771721 100644 --- a/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt +++ b/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt @@ -89,7 +89,7 @@ abstract class InstallerBase(protected var context: Context) : IInstaller { return downloadDir.listFiles()!!.filter { it.path.endsWith(".apk") } } - open fun getUri(file: File): Uri { + fun getUri(file: File): Uri { return FileProvider.getUriForFile( context, "${BuildConfig.APPLICATION_ID}.fileProvider", diff --git a/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt b/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt index 3c3d575b9..3ab9f9bcc 100644 --- a/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt +++ b/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt @@ -88,7 +88,15 @@ class ServiceInstaller @Inject constructor( val fileList = getFiles(download.packageName, download.versionCode) xInstall( download.packageName, - fileList.map { getUri(it) }, + fileList.map { file -> + getUri(file).also { uri -> + context.grantUriPermission( + PRIVILEGED_EXTENSION_PACKAGE_NAME, + uri, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) + } + }, fileList.map { it.absolutePath } ) } @@ -286,20 +294,4 @@ class ServiceInstaller @Inject constructor( th.printStackTrace() } } - - override fun getUri(file: File): Uri { - val uri = FileProvider.getUriForFile( - context, - "${BuildConfig.APPLICATION_ID}.fileProvider", - file - ) - - context.grantUriPermission( - PRIVILEGED_EXTENSION_PACKAGE_NAME, - uri, - Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION - ) - - return uri - } }