From ee142e2dbef2e8d05f415a36813e03fbfe1ec6e7 Mon Sep 17 00:00:00 2001 From: Xiang Wang Date: Mon, 27 Nov 2023 16:34:13 -0800 Subject: Don't throw if hint session death link doesn't exist Bug: 313458589 Test: atest HintManagerServiceTest Change-Id: I985a1869bd7575cad44a21394dc4d68d2248be6c --- .../java/com/android/server/power/hint/HintManagerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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> tokenMap = mActiveSessions.get(mUid); -- cgit v1.2.3-59-g8ed1b