From aaea2d2266d29b3881f452899b79fb9e71525c3b Mon Sep 17 00:00:00 2001 From: Alex Johnston Date: Wed, 17 Mar 2021 15:20:57 +0000 Subject: [PATCH] SettingsLib: Disable USB debugging if USB signaling is off * When developer options is turned off and on again,'USB debugging' should not be enabled if USB data signaling is disabled. Manual testing: * Disable USB data signaling * Verify preferences are disabled * Turn developer options off and on * Verify preferences remain disabled Bug: 180711035 Test: manual testing make RunSettingsLibRoboTests -j ROBOTEST_FILTER=EnableAdbPreferenceControllerTest Change-Id: Ic667a8998de10f1cd8493806aa555e1b499b469f --- .../AbstractEnableAdbPreferenceController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java index 1474f184775dd..f62ca3294665c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java @@ -86,6 +86,15 @@ public abstract class AbstractEnableAdbPreferenceController extends } } + @Override + protected void onDeveloperOptionsSwitchEnabled() { + super.onDeveloperOptionsSwitchEnabled(); + if (isAvailable()) { + mPreference.setDisabledByAdmin( + checkIfUsbDataSignalingIsDisabled(mContext, UserHandle.myUserId())); + } + } + public void enablePreference(boolean enabled) { if (isAvailable()) { mPreference.setEnabled(enabled);