From f4148eafe546af1bc03aa67c9e696beefa0790ab Mon Sep 17 00:00:00 2001 From: Erik Wolsheimer Date: Thu, 15 Jul 2021 21:00:43 -0700 Subject: [PATCH] Prevent fatal exception at AppOpsService$InProgressStartOpEvent#finish Bug: 193757138 Test: Manual Change-Id: I6187e6c1e12fbda0d646a288a7e7fad20832a568 --- .../core/java/com/android/server/appop/AppOpsService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 33bc212fb9c04..75dbdaba9df27 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -202,6 +202,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; import java.util.Objects; import java.util.Scanner; import java.util.Set; @@ -775,7 +776,11 @@ public class AppOpsService extends IAppOpsService.Stub { /** Clean up event */ public void finish() { - mClientId.unlinkToDeath(this, 0); + try { + mClientId.unlinkToDeath(this, 0); + } catch (NoSuchElementException e) { + // Either not linked, or already unlinked. Either way, nothing to do. + } } @Override