summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Xiang Wang <xwxw@google.com> 2023-11-27 16:34:13 -0800
committer Xiang Wang <xwxw@google.com> 2023-11-27 16:35:28 -0800
commitee142e2dbef2e8d05f415a36813e03fbfe1ec6e7 (patch)
tree8448b0e0e08ec67bbec8dee3e8179a18c6015334
parent6b1f843d6000f45eab42fda3079731875d120d6d (diff)
Don't throw if hint session death link doesn't exist
Bug: 313458589 Test: atest HintManagerServiceTest Change-Id: I985a1869bd7575cad44a21394dc4d68d2248be6c
-rw-r--r--services/core/java/com/android/server/power/hint/HintManagerService.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/power/hint/HintManagerService.java b/services/core/java/com/android/server/power/hint/HintManagerService.java
index ee3b74653b75..ca5ecc6b865f 100644
--- a/services/core/java/com/android/server/power/hint/HintManagerService.java
+++ b/services/core/java/com/android/server/power/hint/HintManagerService.java
@@ -53,6 +53,7 @@ import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.List;
+import java.util.NoSuchElementException;
import java.util.Objects;
/** An hint service implementation that runs in System Server process. */
@@ -553,7 +554,11 @@ public final class HintManagerService extends SystemService {
if (mHalSessionPtr == 0) return;
mNativeWrapper.halCloseHintSession(mHalSessionPtr);
mHalSessionPtr = 0;
- mToken.unlinkToDeath(this, 0);
+ try {
+ mToken.unlinkToDeath(this, 0);
+ } catch (NoSuchElementException ignored) {
+ Slogf.d(TAG, "Death link does not exist for session with UID " + mUid);
+ }
}
synchronized (mLock) {
ArrayMap<IBinder, ArraySet<AppHintSession>> tokenMap = mActiveSessions.get(mUid);