From 720aace363c812995803c79ec27012dca73f9b75 Mon Sep 17 00:00:00 2001 From: Winson Date: Thu, 16 Jan 2020 13:08:50 -0800 Subject: [PATCH] Catch Security and IllegalStateExceptions when enabling overlays As part of changes in R, it is now possible for OverlayManager to throw SecurityExceptions for failure cases besides the change overlays permission. This can include actor enforcement, or app visibility, or something like a package not being installed for a user. Previously, these checks were not done and the OM would continue silently as normal. Now it will fail. This behavior has been gated on targetSdk R, but requires changes for existing code in the tree, as they target the platform development version. This treats them as general failures. Bug: 147340954 Change-Id: If921e4ddf855e9162efb46abb4557b6c98c1e6b9 --- .../development/OverlayCategoryPreferenceController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/development/OverlayCategoryPreferenceController.java b/src/com/android/settings/development/OverlayCategoryPreferenceController.java index 6e0b2d00f6b..ce51b54cf8c 100644 --- a/src/com/android/settings/development/OverlayCategoryPreferenceController.java +++ b/src/com/android/settings/development/OverlayCategoryPreferenceController.java @@ -126,8 +126,8 @@ public class OverlayCategoryPreferenceController extends DeveloperOptionsPrefere return mOverlayManager.setEnabledExclusiveInCategory(packageName, USER_SYSTEM); } - } catch (RemoteException re) { - Log.w(TAG, "Error enabling overlay.", re); + } catch (SecurityException | IllegalStateException | RemoteException e) { + Log.w(TAG, "Error enabling overlay.", e); return false; } }