From 55d10dff53a5cce07510fca18431b89080a1521a Mon Sep 17 00:00:00 2001 From: Jerry Zhang Date: Thu, 22 Feb 2018 18:13:06 -0800 Subject: [PATCH] Update USB settings screen Screen now handles data role and power role switching as separate categories. Change the UsbBackend api to use predefined constants. Split out data and power direction changes into separate functions. Add tests for new controllers and new backend functionality. Bug: 72829348 Test: passes Change-Id: I28b96cf49463fa4f3a4b6be41c57d5841731fbd6 --- res/values/strings.xml | 32 ++- res/xml/usb_details_fragment.xml | 14 +- .../usb/ConnectedUsbDeviceUpdater.java | 55 ++-- .../connecteddevice/usb/UsbBackend.java | 265 +++++++++--------- .../usb/UsbConnectionBroadcastReceiver.java | 40 +-- .../usb/UsbDefaultFragment.java | 69 +---- .../usb/UsbDetailsController.java | 21 +- .../usb/UsbDetailsDataRoleController.java | 128 +++++++++ .../usb/UsbDetailsFragment.java | 40 ++- .../usb/UsbDetailsFunctionsController.java | 114 ++++++++ .../usb/UsbDetailsHeaderController.java | 10 +- .../usb/UsbDetailsPowerRoleController.java | 128 +++++++++ .../usb/UsbDetailsProfilesController.java | 156 ----------- .../settings/wrapper/UsbManagerWrapper.java | 4 - .../usb/ConnectedUsbDeviceUpdaterTest.java | 19 +- .../connecteddevice/usb/UsbBackendTest.java | 128 ++++++++- .../UsbConnectionBroadcastReceiverTest.java | 38 ++- .../usb/UsbDefaultFragmentTest.java | 76 +++-- .../usb/UsbDetailsDataRoleControllerTest.java | 215 ++++++++++++++ .../UsbDetailsFunctionsControllerTest.java | 218 ++++++++++++++ .../usb/UsbDetailsHeaderControllerTest.java | 20 +- .../UsbDetailsPowerRoleControllerTest.java | 229 +++++++++++++++ .../usb/UsbDetailsProfilesControllerTest.java | 238 ---------------- 23 files changed, 1510 insertions(+), 747 deletions(-) create mode 100644 src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java create mode 100644 src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java create mode 100644 src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleController.java delete mode 100644 src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesController.java create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java delete mode 100644 tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsProfilesControllerTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index a3e409252f6..3f9e61a61cf 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8130,7 +8130,7 @@ - Charge this device + No data transfer @@ -8138,11 +8138,7 @@ - Charging connected device - - Other settings unavailable when turned on + Charge connected device @@ -8175,17 +8171,31 @@ for this device should be used for. These options are more commonly used. Choices are usb_use_file_transfer.--> Use USB for - - Also use USB for - Default USB Configuration + Default USB configuration When another device is connected and your phone is unlocked, these settings will be applied. Only connect to trusted devices. USB + + USB Preferences + + + USB controlled by + + Connected device + + This device + + Switching... + + Couldn\'t switch Charging this device diff --git a/res/xml/usb_details_fragment.xml b/res/xml/usb_details_fragment.xml index 30ca9932531..5c1efcf19b5 100644 --- a/res/xml/usb_details_fragment.xml +++ b/res/xml/usb_details_fragment.xml @@ -1,6 +1,6 @@