From 44a0e1c47868dd629cc539ac6c9caac7be2cf814 Mon Sep 17 00:00:00 2001 From: Amin Shaikh Date: Mon, 24 Jun 2019 13:36:45 -0400 Subject: [PATCH] Catch ISE in ThemeOverlayManager. Do not crash systemui if an OverlayManager call fails. Fixes: 135925242 Test: make Change-Id: Ib03ac4a08ce4f779149053718ad0d3576a807490 --- .../android/systemui/theme/ThemeOverlayManager.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java index 930016be2d224..41e026af7c728 100644 --- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java +++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java @@ -172,10 +172,15 @@ class ThemeOverlayManager { private void setEnabledAsync(String pkg, UserHandle userHandle, boolean enabled) { mExecutor.execute(() -> { if (DEBUG) Log.d(TAG, String.format("setEnabled: %s %s %b", pkg, userHandle, enabled)); - if (enabled) { - mOverlayManager.setEnabledExclusiveInCategory(pkg, userHandle); - } else { - mOverlayManager.setEnabled(pkg, false, userHandle); + try { + if (enabled) { + mOverlayManager.setEnabledExclusiveInCategory(pkg, userHandle); + } else { + mOverlayManager.setEnabled(pkg, false, userHandle); + } + } catch (IllegalStateException e) { + Log.e(TAG, + String.format("setEnabled failed: %s %s %b", pkg, userHandle, enabled), e); } }); }