Merge "Fix it will auto switch back to "No data transfer" after selecting "USB Tethering"" into sc-dev am: b4dccf9b8e
am: d6dbc7a944
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15221930 Change-Id: Ie4d9b008ac21e51d99f4f5baf8c1f1bae565e09a
This commit is contained in:
@@ -98,6 +98,20 @@ public class UsbConnectionBroadcastReceiverTest {
|
||||
POWER_ROLE_NONE, DATA_ROLE_NONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onReceive_usbConnectedNcmEnabled_invokesCallback() {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(UsbManager.ACTION_USB_STATE);
|
||||
intent.putExtra(UsbManager.USB_CONNECTED, true);
|
||||
intent.putExtra(UsbManager.USB_FUNCTION_NCM, true);
|
||||
intent.putExtra(UsbManager.USB_DATA_UNLOCKED, true);
|
||||
|
||||
mReceiver.onReceive(mContext, intent);
|
||||
|
||||
verify(mListener).onUsbConnectionChanged(/* connected */ true, UsbManager.FUNCTION_NCM,
|
||||
POWER_ROLE_NONE, DATA_ROLE_NONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onReceive_usbPortStatus_invokeCallback() {
|
||||
final Intent intent = new Intent();
|
||||
|
@@ -103,6 +103,14 @@ public class UsbDefaultFragmentTest {
|
||||
.isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MIDI));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDefaultKey_isNcm_returnsRndis() {
|
||||
when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_NCM);
|
||||
|
||||
assertThat(mFragment.getDefaultKey())
|
||||
.isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_RNDIS));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setDefaultKey_isNone_shouldSetNone() {
|
||||
mFragment.setDefaultKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NONE));
|
||||
@@ -149,6 +157,19 @@ public class UsbDefaultFragmentTest {
|
||||
UsbManager.FUNCTION_MTP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setDefaultKey_functionNcm_invokesStartTethering() {
|
||||
doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
|
||||
|
||||
mFragment.setDefaultKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NCM));
|
||||
|
||||
verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB),
|
||||
any(),
|
||||
eq(mFragment.mOnStartTetheringCallback));
|
||||
assertThat(mFragment.mPreviousFunctions).isEqualTo(
|
||||
UsbManager.FUNCTION_MTP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setDefaultKey_functionOther_setCurrentFunctionInvoked() {
|
||||
doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
|
||||
@@ -161,14 +182,24 @@ public class UsbDefaultFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onTetheringStarted_setDefaultUsbFunctions() {
|
||||
mFragment.mPreviousFunctions = UsbManager.FUNCTION_PTP;
|
||||
public void onTetheringStarted_currentFunctionsIsRndis_setsRndisAsDefaultUsbFunctions() {
|
||||
mFragment.mCurrentFunctions = UsbManager.FUNCTION_RNDIS;
|
||||
|
||||
mFragment.mOnStartTetheringCallback.onTetheringStarted();
|
||||
|
||||
verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onTetheringStarted_currentFunctionsIsNcm_setsNcmAsDefaultUsbFunctions() {
|
||||
mFragment.mCurrentFunctions = UsbManager.FUNCTION_NCM;
|
||||
|
||||
mFragment.mOnStartTetheringCallback.onTetheringStarted();
|
||||
|
||||
verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_NCM);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void onPause_receivedRndis_shouldSetRndis() {
|
||||
mFragment.mIsStartTethering = true;
|
||||
@@ -229,6 +260,18 @@ public class UsbDefaultFragmentTest {
|
||||
assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_MIDI);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPause_receivedNcm_setsNcm() {
|
||||
mFragment.mIsStartTethering = true;
|
||||
mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ true,
|
||||
UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
|
||||
|
||||
mFragment.onPause();
|
||||
|
||||
verify(mUsbBackend, times(2)).setDefaultUsbFunctions(UsbManager.FUNCTION_NCM);
|
||||
assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_NCM);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void usbIsPluginAndUsbTetheringIsOn_startTetheringIsInvoked() {
|
||||
when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_RNDIS);
|
||||
@@ -243,6 +286,20 @@ public class UsbDefaultFragmentTest {
|
||||
eq(mFragment.mOnStartTetheringCallback));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void usbIsPluginAndUsbTetheringIsOn_receivedNcm_startsTethering() {
|
||||
when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_NCM);
|
||||
|
||||
mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ false,
|
||||
UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
|
||||
mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ true,
|
||||
UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
|
||||
|
||||
verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB),
|
||||
any(),
|
||||
eq(mFragment.mOnStartTetheringCallback));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void usbIsNotPluginAndUsbTetheringIsOn_startTetheringIsNotInvoked() {
|
||||
when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_RNDIS);
|
||||
|
@@ -167,6 +167,19 @@ public class UsbDetailsFunctionsControllerTest {
|
||||
assertThat(prefs.get(0).isChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayRefresh_ncmEnabled_checksSwitches() {
|
||||
when(mUsbBackend.areFunctionsSupported(anyLong())).thenReturn(true);
|
||||
|
||||
mDetailsFunctionsController.refresh(true, UsbManager.FUNCTION_NCM, POWER_ROLE_SINK,
|
||||
DATA_ROLE_DEVICE);
|
||||
List<RadioButtonPreference> prefs = getRadioPreferences();
|
||||
|
||||
assertThat(prefs.get(1).getKey())
|
||||
.isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_RNDIS));
|
||||
assertThat(prefs.get(1).isChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onClickMtp_noneEnabled_shouldEnableMtp() {
|
||||
when(mUsbBackend.areFunctionsSupported(anyLong())).thenReturn(true);
|
||||
@@ -253,6 +266,20 @@ public class UsbDetailsFunctionsControllerTest {
|
||||
UsbManager.FUNCTION_MTP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRadioButtonClicked_functionNcm_startsTethering() {
|
||||
mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NCM));
|
||||
doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
|
||||
|
||||
mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
|
||||
|
||||
verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB),
|
||||
any(),
|
||||
eq(mDetailsFunctionsController.mOnStartTetheringCallback));
|
||||
assertThat(mDetailsFunctionsController.mPreviousFunction).isEqualTo(
|
||||
UsbManager.FUNCTION_MTP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRadioButtonClicked_functionOther_setCurrentFunctionInvoked() {
|
||||
mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_PTP));
|
||||
|
Reference in New Issue
Block a user