diff --git a/app/src/main/java/org/koreader/launcher/ApkUpdater.kt b/app/src/main/java/org/koreader/launcher/ApkUpdater.kt index b91280d88..c7bbfeefd 100644 --- a/app/src/main/java/org/koreader/launcher/ApkUpdater.kt +++ b/app/src/main/java/org/koreader/launcher/ApkUpdater.kt @@ -23,9 +23,7 @@ class ApkUpdater { fun download(context: Context, url: String, name: String): Int { return if (MainApp.has_ota_updates) { - @Suppress("DEPRECATION") val file = File( - Environment.getExternalStoragePublicDirectory( - Environment.DIRECTORY_DOWNLOADS).toString() + File.separator + name) + val file = File(context.getExternalFilesDir(null), name) val result = try { if (file.exists()) { DOWNLOAD_EXISTS @@ -33,7 +31,7 @@ class ApkUpdater { val request = DownloadManager.Request(Uri.parse(url)) request.setMimeType("application/vnd.android.package-archive") request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN) - request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, name) + request.setDestinationInExternalFilesDir(context, null, name) val manager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager manager.enqueue(request) diff --git a/app/src/main/java/org/koreader/launcher/Assets.kt b/app/src/main/java/org/koreader/launcher/Assets.kt index 8b515103e..0f14ab7fa 100644 --- a/app/src/main/java/org/koreader/launcher/Assets.kt +++ b/app/src/main/java/org/koreader/launcher/Assets.kt @@ -9,6 +9,7 @@ import android.view.Gravity import android.view.ViewGroup import android.widget.ProgressBar import androidx.core.content.ContextCompat +import org.koreader.launcher.extensions.pruneCacheDir import org.koreader.launcher.extensions.symlink import java.io.* @@ -26,6 +27,7 @@ class Assets { val result = bootstrap(activity) val elapsedTime = System.nanoTime() - startTime Log.i(tag, "update installed in ${elapsedTime / 1000000} milliseconds") + activity.pruneCacheDir() result } else { true diff --git a/app/src/main/java/org/koreader/launcher/extensions/ActivityExtensions.kt b/app/src/main/java/org/koreader/launcher/extensions/ActivityExtensions.kt index 5ad29a1f2..f50fd98f8 100644 --- a/app/src/main/java/org/koreader/launcher/extensions/ActivityExtensions.kt +++ b/app/src/main/java/org/koreader/launcher/extensions/ActivityExtensions.kt @@ -215,6 +215,18 @@ fun Activity.openWifi() { startActivityCompat(this, openWifiIntent) } +fun Activity.pruneCacheDir() { + try { + getExternalFilesDir(null)?.let { + it.listFiles()?.forEach { file -> + file.delete() + } + } + } catch (e: Exception) { + e.printStackTrace() + } +} + fun Activity.requestSpecialPermission(intent: Intent, rationale: String, okButton: String?, cancelButton: String?) { runOnUiThread {