From 8b2515ef335df6fc0bdafbfe7671ee3fb543ec37 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Thu, 24 Aug 2023 20:14:22 +0530 Subject: [PATCH] fix: do not try to abandon un-owned package installer session (closes #1223) --- .../utils/ApkInstallationSessionCallback.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/itsaky/androidide/utils/ApkInstallationSessionCallback.kt b/app/src/main/java/com/itsaky/androidide/utils/ApkInstallationSessionCallback.kt index cc95c557d..d933113c0 100644 --- a/app/src/main/java/com/itsaky/androidide/utils/ApkInstallationSessionCallback.kt +++ b/app/src/main/java/com/itsaky/androidide/utils/ApkInstallationSessionCallback.kt @@ -49,7 +49,7 @@ class ApkInstallationSessionCallback(private var activity: BaseEditorActivity?) if (!success) { activity?.flashError(string.title_installation_failed) } - + activity?.let { it.installationCallback?.destroy() it.installationCallback = null @@ -58,9 +58,12 @@ class ApkInstallationSessionCallback(private var activity: BaseEditorActivity?) } fun destroy() { - this.activity?.let { - if (this.sessionId != -1) { - it.packageManager?.packageInstaller?.abandonSession(this.sessionId) + if (this.sessionId != -1) { + this.activity?.packageManager?.packageInstaller?.let { packageInstaller -> + packageInstaller.mySessions.find { session -> session.sessionId == this.sessionId } + ?.also { info -> + packageInstaller.abandonSession(info.sessionId) + } } } this.activity = null