diff --git a/services/core/java/com/android/server/slice/SliceManagerService.java b/services/core/java/com/android/server/slice/SliceManagerService.java index 5fd2ab87f410f..3b2f32479ed2b 100644 --- a/services/core/java/com/android/server/slice/SliceManagerService.java +++ b/services/core/java/com/android/server/slice/SliceManagerService.java @@ -180,8 +180,13 @@ public class SliceManagerService extends ISliceManager.Stub { verifyCaller(pkg); enforceAccess(pkg, uri); uri = maybeAddUserId(uri, Binder.getCallingUserHandle().getIdentifier()); - if (getPinnedSlice(uri).unpin(pkg, token)) { - removePinnedSlice(uri); + try { + PinnedSliceState slice = getPinnedSlice(uri); + if (slice != null && slice.unpin(pkg, token)) { + removePinnedSlice(uri); + } + } catch (IllegalStateException exception) { + Slog.w(TAG, exception.getMessage()); } }