Commit Graph

100 Commits

Author SHA1 Message Date
Avichal Rakesh
e6731b05e1 Add UVC support
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
2023-02-03 17:38:19 -08:00
Edgar Wang
f7a6d073f0 Set key for the SwitchPreferences of Connected devices > USB
Change-Id: Ib2fce60bf6843c8db2d45ebdd6bd576657aedeb8
Test: manual
2023-01-06 11:25:20 +00:00
SongFerngWang
2d59130485 Add owner for job handover
Will CP it into AOSP later.

Bug: 244524317
Test: NA
Change-Id: I9259596811cba08a21b78eebbe2f847e1aa6818c
2022-09-01 16:09:35 +08:00
Hugh Chen
ec0c171735 Fix can't select the [USB Tethering] item in [Developer Options]
- 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
2022-05-03 08:00:58 +00:00
Hugh Chen
aadc44ae26 Fix default usb settings will set wrong function when onPause()
Bug: 229200265
Test: make -j64 RunSettingsRoboTests
Change-Id: Ibee2d39af8b341d03117d96029446ddcd45921fe
2022-04-18 12:16:57 +00:00
Treehugger Robot
c78c5e1129 Merge "Restart the MTP connection when changing transcode enabled" am: 8109ad8033 am: df16e4b74c am: f5246d8a8c
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1882150

Change-Id: I4d0f5d3bb5d11b1217de60f6b22e5544c8d00bfa
2022-02-16 13:52:02 +00:00
Treehugger Robot
8109ad8033 Merge "Restart the MTP connection when changing transcode enabled" 2022-02-16 09:58:58 +00:00
Treehugger Robot
a86e838b02 Merge "Settings: Extend the data role swap timeout value" am: bb994f627f am: df2a22f104 am: 26bf610fd9 am: 16a3f98b71
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1912875

Change-Id: Icb00bc53ba6d7fb2e3fbf85a4c7a42b1dec99880
2021-12-15 07:47:41 +00:00
Treehugger Robot
bb994f627f Merge "Settings: Extend the data role swap timeout value" 2021-12-15 06:49:44 +00:00
hoffc
d4f420350d Settings: Extend the data role swap timeout value
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
2021-12-07 17:23:41 +08:00
Zim
b735393c9e Restart the MTP connection when changing transcode enabled
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
2021-11-26 14:36:59 +00:00
TreeHugger Robot
a5cc9839c2 Merge "Fix USB tethering is not turned on with a single tap" into sc-qpr1-dev am: b370bfe77d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15724814

Change-Id: Ibb65b7999bdc331c4b15363bce71ece51a448c0e
2021-09-08 08:09:04 +00:00
Hugh Chen
ffeefd4d11 Fix USB tethering is not turned on with a single tap
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)
2021-08-31 09:03:07 +00:00
Xin Li
42be0d2f75 Merge sc-dev-plus-aosp-without-vendor@7634622
Merged-In: Id2a8c43f9bca79200f837759ce9de0a6eba2a37a
Change-Id: I90fe22409ec7832714c8530f54408db747bdf3c4
2021-08-14 06:30:57 +00:00
Treehugger Robot
c156dd95fb Merge "Add owner to the connected device folder" am: 6cbb4dfbe1 am: 004f5168d4 am: f5ddc8ffaa am: 79978071e2 am: b41e35a304
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1793371

Change-Id: Ic8f5ee6abc79ea05d1b8b822ff652c466c8a9135
2021-08-12 05:45:45 +00:00
Treehugger Robot
f5ddc8ffaa Merge "Add owner to the connected device folder" am: 6cbb4dfbe1 am: 004f5168d4
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1793371

Change-Id: Ic41c5d666d0740dc8a6f4bdbb9e644ad981adee1
2021-08-12 04:54:18 +00:00
Hugh Chen
ddf63eac87 Add owner to the connected device folder
Bug: 196287361
Test: local test
Change-Id: Ib800955f04bbd6c23b9a1700faa918f8b1126d79
2021-08-12 11:16:18 +08:00
Hugh Chen
ba30b04cc3 Fix USB tethering is not turned on with a single tap
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
2021-08-06 03:13:17 +00:00
Yuri Lin
e9f13fbd5e Rename RadioButtonPreference -> SelectorWithWidgetPreference.
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
2021-07-20 17:01:21 -04:00
Hugh Chen
112a638cba Fix it will auto switch back to "No data transfer" after selecting "USB Tethering"
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
2021-07-09 10:52:50 +08:00
Alex Johnston
0ad4783163 Fix Settings usb preference search
* Invert isPageSearchEnabled check

Bug: 192449168
Test: manual testing with TestDPC
Change-Id: I91dcf930485ad16a83cb04bf170c9608c1768ea2
2021-06-30 14:36:23 +00:00
Zim
6699b47f77 Update string to enable transcode via MTP
Also added a summary string when checked.

Test: Manual
Bug: 191985287
Change-Id: I1db9763bbf3766eecace6eca168218ab71ca6195
2021-06-24 20:13:08 +01:00
TreeHugger Robot
11fa4d3275 Merge "Fix truncated in USB preference" into sc-dev 2021-06-01 05:44:48 +00:00
Hugh Chen
dd42f65e4e Fix flickering in USB page
Init usb UI in displayPreference().

Bug: 189390680
Test: make RunSettingsRoboTests
Change-Id: I0c9c7954a49a8484b466c852c2336ead032cc2e4
2021-05-27 14:25:01 +08:00
Hugh Chen
aedba90a9e Fix truncated in USB preference
Make preference could be shown two line title.

Screenshot:
https://screenshot.googleplex.com/Akod4qejhzmDH8z.png

Bug: 189189209
Test: manually test
Change-Id: Id2c69ba07d81234dce0b31ffd2cc80fb0d1e6f7f
2021-05-27 10:15:10 +08:00
Hugh Chen
db53d1c6f8 Fix borken test on Bluetooth and connected package
Bug: 187239965
Test: make RunSettingsRoboTests -j56
Change-Id: Ic0d60a6cd46b1211efb2021f079c0b0a6534b383
2021-05-05 14:31:01 +08:00
Hugh Chen
ddafb202bd Fix usb tethering switch back to none after off/on the screen
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
2021-04-28 09:12:15 +00:00
Hugh Chen
50fc7d15ef Fix "USB tethering" doesn't work after reconnecting USB
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
2021-03-04 15:31:11 +08:00
TreeHugger Robot
decaeda453 Merge "Refactor Usb settings" into sc-dev 2021-03-03 12:12:24 +00:00
Hugh Chen
0091ae6142 Refactor Usb settings
1. Rename ShouldIgnoreClickEvent() to isClickEventIgnored().
2. Use TetheringManager instead of ConnectivityManager.

Bug: 175651578
Test: make -j42 RunSettingsRoboTests
Change-Id: I37c49694257b7575550b5a905e293b5d056ba1bf
2021-03-03 18:13:17 +08:00
Alex Johnston
7d4db750e6 Disallow modifying USB in Settings
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
2021-02-16 15:29:49 +00:00
Manish Singh
f8b9101314 Disable MTP transcoding by default
BUG: 178769134
Test: manual
Change-Id: Ib87d0f499bd699276326a41b37f42c7a85893afe
2021-02-04 17:41:20 +00:00
Manish Singh
29a6c26d80 Add Settings UI for MTP transcoding over USB.
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.png
https://screenshot.googleplex.com/76hNz4iXp5dcX4M.png
https://screenshot.googleplex.com/AkTngE5hDDJCovv.png
https://screenshot.googleplex.com/4uQYGXuuSQLoz3w.png

BUG: 158466651
Test: manual testing.  Also added unit test.
Change-Id: I2603a9bffed3320c193cc08f867bd67d9848da18
(cherry picked from commit 974662936e)
2021-01-29 20:22:05 +00:00
Hugh Chen
416110bac0 Add condition to check case of accessory combinations am: b767df1a08
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13218259

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4a4502e3568d0049c4fff7f730b42d1bc975cea4
2020-12-15 05:01:42 +00:00
Hugh Chen
c61ec502f5 Do nothing when choosing file transfer when in accessory mode am: e8dc7bc283
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13218257

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3bd051363458a75a0dd190f41b0cf2901e3bf680
2020-12-15 05:01:34 +00:00
Hugh Chen
2676dd763c Fix the usb menu didn't switch to "File Transfer/Android Auto" right after connecting to the car unit. am: 91ed63124c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13218253

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3ca5a04cc2e8db3b2f50d1656fa54c8e02f8e394
2020-12-15 05:01:25 +00:00
Hugh Chen
b767df1a08 Add condition to check case of accessory combinations
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)
2020-12-14 07:32:41 +00:00
Hugh Chen
e8dc7bc283 Do nothing when choosing file transfer when in accessory mode
- 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)
2020-12-14 06:59:06 +00:00
Hugh Chen
91ed63124c Fix the usb menu didn't switch to "File Transfer/Android Auto" right after connecting to the car unit.
- 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)
2020-12-14 06:58:26 +00:00
Hugh Chen
7d71081d45 Add condition to check case of accessory combinations
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
2020-11-04 17:25:29 +08:00
TreeHugger Robot
fafe12056c Merge "Hide tethering option when in a guest account" into rvc-qpr-dev am: ab41be5607
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12723406

Change-Id: I4caa8937deae9bc104c9c6c3446b7f793cac1f80
2020-10-06 02:25:09 +00:00
TreeHugger Robot
5709f7a083 Merge "Do nothing when choosing file transfer when in accessory mode" 2020-09-30 06:54:29 +00:00
Hugh Chen
3251a04ba3 Do nothing when choosing file transfer when in accessory mode
- 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
2020-09-30 11:19:31 +08:00
Hugh Chen
a50f020c85 Hide tethering option when in a guest account
- 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)
2020-09-29 01:57:37 +00:00
Hugh Chen
bde627b263 Hide tethering option when in a guest account
- 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
2020-09-28 11:20:31 +08:00
Hugh Chen
af0a45bb7a Fix usb menu not switch to "File Transfer/Android Auto" right after connected to car unit
- 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
2020-09-18 15:45:37 +08:00
TreeHugger Robot
270646dbe1 Merge "Revert "Stop usb tethering when user cancel it"" into rvc-dev am: 74755ac915 am: d3d9b3d462
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11708185

Change-Id: I7abcc9e2109bf66e00b14bd8d72457622e392643
2020-06-04 04:48:36 +00:00
Hugh Chen
737ec77c4f Revert "Stop usb tethering when user cancel it"
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
2020-06-03 03:35:48 +00:00
TreeHugger Robot
da7f016264 Merge "Stop usb tethering when user cancel it" into rvc-dev am: 53c6c9a672 am: 1659954b04
Change-Id: I05fe58a66b635287a5201d467ac39126b43208f9
2020-05-06 11:20:08 +00:00
hughchen
9546b7fdcb Stop usb tethering when user cancel it
- 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
2020-05-06 16:02:35 +08:00