Loading src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java +7 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ public class UsbDetailsFunctionsController extends UsbDetailsController public void onRadioButtonClicked(RadioButtonPreference preference) { final long function = UsbBackend.usbFunctionsFromString(preference.getKey()); final long previousFunction = mUsbBackend.getCurrentFunctions(); if (function != previousFunction && !Utils.isMonkeyRunning()) { if (function != previousFunction && !Utils.isMonkeyRunning() && !shouldIgnoreClickEvent(function, previousFunction)) { mPreviousFunction = previousFunction; //Update the UI in advance to make it looks smooth Loading @@ -138,6 +139,11 @@ public class UsbDetailsFunctionsController extends UsbDetailsController } } private boolean shouldIgnoreClickEvent(long function, long previousFunction) { return previousFunction == UsbManager.FUNCTION_ACCESSORY && function == UsbManager.FUNCTION_MTP; } @Override public boolean isAvailable() { return !Utils.isMonkeyRunning(); Loading tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,18 @@ public class UsbDetailsFunctionsControllerTest { UsbManager.FUNCTION_MTP); } @Test public void onRadioButtonClicked_functionMtp_inAccessoryMode_doNothing() { mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MTP)); doReturn(UsbManager.FUNCTION_ACCESSORY).when(mUsbBackend).getCurrentFunctions(); mDetailsFunctionsController.mPreviousFunction = UsbManager.FUNCTION_ACCESSORY; mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference); assertThat(mDetailsFunctionsController.mPreviousFunction).isEqualTo( UsbManager.FUNCTION_ACCESSORY); } @Test public void onRadioButtonClicked_clickSameButton_doNothing() { mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_PTP)); Loading Loading
src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java +7 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ public class UsbDetailsFunctionsController extends UsbDetailsController public void onRadioButtonClicked(RadioButtonPreference preference) { final long function = UsbBackend.usbFunctionsFromString(preference.getKey()); final long previousFunction = mUsbBackend.getCurrentFunctions(); if (function != previousFunction && !Utils.isMonkeyRunning()) { if (function != previousFunction && !Utils.isMonkeyRunning() && !shouldIgnoreClickEvent(function, previousFunction)) { mPreviousFunction = previousFunction; //Update the UI in advance to make it looks smooth Loading @@ -138,6 +139,11 @@ public class UsbDetailsFunctionsController extends UsbDetailsController } } private boolean shouldIgnoreClickEvent(long function, long previousFunction) { return previousFunction == UsbManager.FUNCTION_ACCESSORY && function == UsbManager.FUNCTION_MTP; } @Override public boolean isAvailable() { return !Utils.isMonkeyRunning(); Loading
tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,18 @@ public class UsbDetailsFunctionsControllerTest { UsbManager.FUNCTION_MTP); } @Test public void onRadioButtonClicked_functionMtp_inAccessoryMode_doNothing() { mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MTP)); doReturn(UsbManager.FUNCTION_ACCESSORY).when(mUsbBackend).getCurrentFunctions(); mDetailsFunctionsController.mPreviousFunction = UsbManager.FUNCTION_ACCESSORY; mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference); assertThat(mDetailsFunctionsController.mPreviousFunction).isEqualTo( UsbManager.FUNCTION_ACCESSORY); } @Test public void onRadioButtonClicked_clickSameButton_doNothing() { mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_PTP)); Loading