Commit Graph

25 Commits

Author SHA1 Message Date
Jayant Chowdhary
cf9eee0bb5 Exclude webcam and MIDI USB preferences from requiring auth challenge
Webcam / MIDI don't transfer any persistent data to the host device,
so it is okay to not guard it by an auth challenge. Auth challenge for
webcam use increases friction and reduces usability.

Bug: 349370229

Flag: com.android.settings.flags.exclude_webcam_auth_challenge

Test: Check when the flag is enabled, webcam / MIDI doesn't require auth
Test: Settings robolectric tests

Change-Id: Id4c97a635a4c0a9ed14f88fbdda2743e2371dd10
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2024-07-02 18:36:51 +00:00
Jan Tomljanovic
db40deb26f Require authentication for changing USB preferences.
Test: atest SettingsRoboTests
Test: also tested manually
Bug: 317367746
Change-Id: I17daaad7c7772664cae6d12cf2322991827f33bb
2023-12-22 15:18:05 +00:00
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
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
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
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
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
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
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
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
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
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
hughchen
b717295914 Fix talkback will not speak correct status
Update the UI in advance when user select any option. In this
CL before, the UI update in advance only when user select "USB tethering".

Bug: 141161849
Test: make -j42 RunSettingsRoboTests
Change-Id: I1fa4b20408a00b06d7c8fac6136c63df7406154d
2019-10-09 16:17:26 +08:00
Raff Tsai
71a37d138b Import RadioButtonPreference from SettingsLib
Bug: 138620011
Test: manual, robolectric
Change-Id: I3b8a2be021a1b4a07aae61483f2329b7a5bd4655
2019-08-01 07:16:55 +00:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Philip P. Moltmann
41061cb63e Use new UsbManager#getPorts API
Test: - Looked as USB state in Settings
      - RunSettingsRoboTests
Bug: 115301401
Change-Id: I07ac20ac6a3f33d99e9edb6718318ede22681be1
2018-12-13 15:27:25 -08:00
jackqdyulei
184b3a4c68 Add entitlement check for usb tethering
Before this CL, usb tethering in detail page doesn't have entitlement
check. This CL fix it by using the correct API

Also polish it by updating the UI before entitlement check to align
hotspot page. So in UI it will first check "usb tethering". If
entitlement check fail, it will revoke and go back to previous selection.

Bug: 115707279
Test: RunSettingsRoboTests
Change-Id: I3d2ebad2879479a870bcdfe596bb88b83c424389
2018-10-02 15:41:46 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Jerry Zhang
55d10dff53 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
2018-03-15 17:18:41 -07:00