From f827755aaf9718f468f2a4315340a182805f2b82 Mon Sep 17 00:00:00 2001 From: vvb2060 Date: Wed, 5 Apr 2023 16:00:02 +0800 Subject: [PATCH] Skip getSessionInfo --- .../topjohnwu/magisk/utils/APKInstall.java | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/app/shared/src/main/java/com/topjohnwu/magisk/utils/APKInstall.java b/app/shared/src/main/java/com/topjohnwu/magisk/utils/APKInstall.java index baf63131f..47383aa05 100644 --- a/app/shared/src/main/java/com/topjohnwu/magisk/utils/APKInstall.java +++ b/app/shared/src/main/java/com/topjohnwu/magisk/utils/APKInstall.java @@ -101,30 +101,25 @@ public final class APKInstall { } else if (sessionId.equals(intent.getAction())) { int status = intent.getIntExtra(EXTRA_STATUS, STATUS_FAILURE_INVALID); switch (status) { - case STATUS_PENDING_USER_ACTION: - userAction = intent.getParcelableExtra(Intent.EXTRA_INTENT); - break; - case STATUS_SUCCESS: + case STATUS_PENDING_USER_ACTION -> + userAction = intent.getParcelableExtra(Intent.EXTRA_INTENT); + case STATUS_SUCCESS -> { if (packageName == null) { onSuccess(context); } - break; - default: + } + default -> { int id = intent.getIntExtra(EXTRA_SESSION_ID, 0); - if (id > 0) { - var installer = context.getPackageManager().getPackageInstaller(); - var info = installer.getSessionInfo(id); - if (info != null) { - try { - installer.abandonSession(info.getSessionId()); - } catch (Throwable ignored) { - } - } + var installer = context.getPackageManager().getPackageInstaller(); + try { + installer.abandonSession(id); + } catch (SecurityException ignored) { } if (onFailure != null) { onFailure.run(); } context.getApplicationContext().unregisterReceiver(this); + } } latch.countDown(); }