From b66252fb4288ae7e3fa6f1214455e46b9a2e56b2 Mon Sep 17 00:00:00 2001 From: Geoffrey Borggaard Date: Wed, 19 Nov 2014 14:22:56 -0500 Subject: [PATCH] Setting ADB_ENABLED may result in a SecurityException. If the restriction UserManager.DISALLOW_DEBUGGING_FEATURES is enforced, then any attempt to set ADB_ENABLED will result in a SecurityException. This can result in the device not being able to boot. Bug: 18433477 Change-Id: I21e4b406ad0fa89b7d4b678eac1baf212a3c7acd (cherry picked from commit ba45b96a378623e3392da65e81e67dabdf4f0678) --- .../java/com/android/server/usb/UsbDeviceManager.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index c63eb1864b6cf..23ba3b6de3e0c 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -209,8 +209,13 @@ public class UsbDeviceManager { mUseUsbNotification = !massStorageSupported; // make sure the ADB_ENABLED setting value matches the current state - Settings.Global.putInt(mContentResolver, Settings.Global.ADB_ENABLED, mAdbEnabled ? 1 : 0); - + try { + Settings.Global.putInt(mContentResolver, + Settings.Global.ADB_ENABLED, mAdbEnabled ? 1 : 0); + } catch (SecurityException e) { + // If UserManager.DISALLOW_DEBUGGING_FEATURES is on, that this setting can't be changed. + Slog.d(TAG, "ADB_ENABLED is restricted."); + } mHandler.sendEmptyMessage(MSG_SYSTEM_READY); }