This CL adds support for UVC GadgetFunction. UVC can be enabled/disabled
by setting the `ro.usb.uvc.enabled` property, and this CL makes sure
that the Settings app honors the property when showing USB functions to
the user.
Bug: 242344221
Test: Manually tested that the 'USB Webcam' option is present when the
property is set, and removed when property is unset.
Change-Id: I5d1ff0a43d3c0c722bc9e03132a581da5c61bd76
- This CL is using 'USB_CONFIGURED' to check whether the USB enumeration
is completed from the intent. If 'USB_CONFIGURED' is true then update
the UI.
Bug: 229200265
Test: make -j65 RunSettingsRoboTests
Change-Id: Icab05e37ae3fcc9f1bf404a610fc97c368c453f5
Switching USB data role from device to host, it takes more than 3s in some devices, so 3s timeout is not enough.
Extend 3s timeout to 4s to be compatible with some devices with slow swap.
Bug: 209541948
Change-Id: I172498d66c5b12166162f2c55d94f0d441c7459c
To workaround some issues with transcoded file sizes transferred
via MTP on Windows machines, we restart the MTP connection after
changing the transcode flag.
Test: Manual
Bug: 184117074
Bug: 190422448
Change-Id: I8d151117e1f5d23c3ec20e8c7a4b4546c96f2c84
Before this CL, the USB default settings will set default usb functions
to RNDIS when tethering is started. Because in some devices, the NCM
is used instead of RNDIS to start tethering. If RNDIS is set in the
device that uses NCM to start tethering, it will cause start
tethering failed.
This CL will use the current functions to set default usb functions
to fix this issue.
Bug: 195068679
Bug: 197026638
Test: make -j42 RunSettingsRoboTests
Change-Id: Ic9353c5ac76c0cd517318a4304fa214d6b2201d2
(cherry picked from commit ba30b04cc3)
Before this CL, the USB default settings will set default usb functions
to RNDIS when tethering is started. Because in some devices, the NCM
is used instead of RNDIS to start tethering. If RNDIS is set in the
device that uses NCM to start tethering, it will cause start
tethering failed.
This CL will use the current functions to set default usb functions
to fix this issue.
Bug: 195068679
Test: make -j42 RunSettingsRoboTests
Change-Id: Ic9353c5ac76c0cd517318a4304fa214d6b2201d2
This change is to reduce ambiguity as we're adding the option to style the preference like a checkbox as well.
Bug: 190180868
Test: SelectorWithWidgetPreferenceTest, RunSettingsLibRoboTests
Change-Id: Ie414347bf67ed394ef495604890c5851fc42dbc7
Before this CL, the USB option didn't handle whether FUNCTION_NCM
existed in the intent extra when tethering was started which resulted
in some devices that enable NCM will have incorrect UI.
This CL added a condition to check whether FUNCTION_NCM existed in the
intent extra or not to fix this UI issue.
Bug: 192046902
Test: make -j42 RunSettingsRoboTests
Change-Id: Icb8548409930d59dc3a08c25e418c9a1ddb9f33c
This CL adds conditions to check whether usb is connected or not.
If usb is not connected or tethering is not started don't update the
state.
Bug: 157709648
Test: make RunSettingsRoboTests -j56
Change-Id: Ifbf5900923419d6abf35834b196aab12601076e4
Before this CL, if users selects usb tethering option and
reconnects usb it would not start entitlement check.
Because we only start entitlement checks when users select it.
This CL will start entitlement checks when usb tethering option
is selected and reconnects usb.
Bug: 176037347
Test: make -j42 RunSettingsRoboTests
Change-Id: I3a2ad392a1cae9cf97355ef3cd4fb8c23de18673
1. Rename ShouldIgnoreClickEvent() to isClickEventIgnored().
2. Use TetheringManager instead of ConnectivityManager.
Bug: 175651578
Test: make -j42 RunSettingsRoboTests
Change-Id: I37c49694257b7575550b5a905e293b5d056ba1bf
Background
* The admin can disable signaling over USB
on corporate owned device.
Changes
* If the admin has disabled signaling over
USB, disable preferences in Settings to
modify USB.
* Show policy transparency dialogs.
Manual Testing:
* Install TestDPC
* Set up as Device Owner
* Disable USB data signaling
* Verify Settings > Connected Devices
> USB is disabled
* Verify Settings > Network & Internet
> Hotspot & tethering > USB tethering
is disabled
* Verify Developer options >
USB debugging, default USB configurations
and USB audio routing are disabled
Bug: 168301639
Test: Manual Testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests -j
ROBOTEST_FILTER=UsbAudioRoutingPreferenceControllerTest
make RunSettingsRoboTests -j
ROBOTEST_FILTER=UsbDefaultFragmentTest
make RunSettingsRoboTests -j
ROBOTEST_FILTER=DevelopmentSettingsDashboardFragmentTest
make RunSettingsRoboTests -j
ROBOTEST_FILTER=DefaultUsbConfigurationPreferenceControllerTest
make RunSettingsLibRoboTests -j
ROBOTEST_FILTER=EnableAdbPreferenceControllerTest
Change-Id: I3e8461ac37f406a407c874598335cde28fb89b2d
Merged-In: I3e8461ac37f406a407c874598335cde28fb89b2d
Enabling "Transcode exported media" means that the media transferred
from the device via MTP over USB would be transcoded, if necessary. This
switch also sets / unsets the sys.fuse.transcode_mtp system property.
"Transcode exported media" category would be accessible only when the
"File transfer / Audio Auto" or "PTP" radio button has been selected. We
are including PTP also since PTP supports transfer of videos.
Adding UsbDetailsTranscodeMtpController in a separate preference
category than "Charge connected device" primarily because they seemed to
be different in their own rights.
Here are a few screenshots:
https://screenshot.googleplex.com/8jeMstnSFsTtVCS.pnghttps://screenshot.googleplex.com/76hNz4iXp5dcX4M.pnghttps://screenshot.googleplex.com/AkTngE5hDDJCovv.pnghttps://screenshot.googleplex.com/4uQYGXuuSQLoz3w.png
BUG: 158466651
Test: manual testing. Also added unit test.
Change-Id: I2603a9bffed3320c193cc08f867bd67d9848da18
(cherry picked from commit 974662936e)
Before this CL, we only compare whether the value of function is
equal to accessory to ensure usb is in accessory mode. But in some
cases there are different accessory combinations, like
"accessory,audio source". It will make the condition return false
when encountering accessory combinations.
This CL will check whether the function will include accessory mode
to fix this issue.
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I7c80f02de5340799e292949608e19b86b187b982
Merged-In: I7c80f02de5340799e292949608e19b86b187b982
(cherry picked from commit 7d71081d45)
- Before this CL, the device will be disconnected and reconnected
to accessory mode when choosing "File transfer/Android Auto" in
accessory mode. Because the USB menu didn't check state of
function, it should do nothing when choosing
"File transfer/Android Auto" in accessory mode.
This CL add condition to check state of function, it will do
nothing when choosing "File transfer/Android Auto" in
accessory mode.
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
Merged-In: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
(cherry picked from commit 3251a04ba3)
- Before this CL, the usb receivers didn't check the extra information
of the accessory. It causes the usb menu not to be aware that the
usb port is switched to accessory mode.
In this CL, the receivers will check whether the intent has an
accessory extra. If the usb port is switched to accessory mode
the usb menu will switch to "File Transfer/Android Auto".
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I0eca89a23670c674b74753fc526256cc1d52e759
Merged-In: I0eca89a23670c674b74753fc526256cc1d52e759
(cherry picked from commit af0a45bb7a)
Before this CL, we only compare whether the value of function is
equal to accessory to ensure usb is in accessory mode. But in some
cases there are different accessory combinations, like
"accessory,audio source". It will make the condition return false
when encountering accessory combinations.
This CL will check whether the function will include accessory mode
to fix this issue.
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I7c80f02de5340799e292949608e19b86b187b982
- Before this CL, the device will be disconnected and reconnected
to accessory mode when choosing "File transfer/Android Auto" in
accessory mode. Because the USB menu didn't check state of
function, it should do nothing when choosing
"File transfer/Android Auto" in accessory mode.
This CL add condition to check state of function, it will do
nothing when choosing "File transfer/Android Auto" in
accessory mode.
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
- Before this CL, users can share their mobile data through enabling
tethering in the USB menu when in a guest account.
It will cause main users to spend their money unexpectedly.
This CL will hide the tethering option on the USB menu when in the
guest account.
- Add test cases.
Bug: 166125765
Test: 1. make -j42 RunSettingsRoboTests. 2. Switch to a guest account
to verify whether the tethering option is hiding.
Change-Id: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
Merged-In: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
(cherry picked from commit bde627b263)
- Before this CL, users can share their mobile data through enabling
tethering in the USB menu when in a guest account.
It will cause main users to spend their money unexpectedly.
This CL will hide the tethering option on the USB menu when in the
guest account.
- Add test cases.
Bug: 166125765
Test: 1. make -j42 RunSettingsRoboTests. 2. Switch to a guest account
to verify whether the tethering option is hiding.
Change-Id: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
- This CL before usb receiver didn't check the extra
information of the accessory. It will cause the usb
menu not to be aware that the usb port is switched
to accessory mode.
This CL usb receiver will check intent whether to have
accessory extra. If the usb port is switched to accessory
mode the usb menu will switch to "File Transfer/Android Auto".
- Update test case
Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I0eca89a23670c674b74753fc526256cc1d52e759
This reverts commit 9546b7fdcb.
Reason for revert: This CL will have side effort, when switch from "USB tethering" to "MTP/PTP/Midi" mode, DUT will jump to "No data transfer".
Revert this CL and have good solution to address b/154933817
Bug: 156318036
Test: build pass
Change-Id: Ia79b7a9f5d71c15244b147f5ef26af47c1c1fc7c
- Call stop tethering to clear entitlement result when user do not want
using USB tethering on USB menu.
- Add test case
Bug: 154933817
Test: make -j42 RunSettingsRoboTests
Change-Id: Idaaba8df2052f45e710c7959251817e8947a544f