Commit Graph

70 Commits

Author SHA1 Message Date
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Behnam Heydarshahi
806297f85c Extend settings panel under navigation bar
The panel used to sit above the navigation bar. Now it extends down all
the way to the edge of the screen.

Bug: b/250484565
Test: make ROBOTEST_FILTER=SettingsPanelActivityTest RunSettingsRoboTests -j40
Test: Manual. When volume panel is opened, verify that it extends all
the way to the bottom of the window, instead of sitting on navigation
bar. Panel can be opened with:
adb shell am start -a android.settings.panel.action.VOLUME
Substitute VOLUME with NFC and WIFI for the other settings panels.

Change-Id: Ibae5d3602231e2309b5ff847c630a1f8c82ea355
2023-03-10 18:30:08 +00:00
Behnam Heydarshahi
4f87dd4b56 Implement a separate controller for ring volume
When ring volume is separated from notification, a new xml preferece and
controller is needed for it, so that the settings search can show/hide
the slice correctly.

1. Use a separate preference and controller for ring volume (vs ring &
notification combined)
2. Notification slice in settings no longer grays out when ringer mode
is set to mute or vibrate.
3. Introduce an abstract RingerModeAffected preference controller class
to factor out duplicate code among ring, notification, and separate-ring
controller classes.

Bug: b/259084354

Test:   make ROBOTEST_FILTER=RingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=SeparateRingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=VolumePanelTest RunSettingsRoboTests -j40
	make
ROBOTEST_FILTER=RingerModeAffectedVolumePreferenceControllerTest -j40

Known Issue:
1. When streams are separate and ring volume set to mute/vibrate,
notification is set to zero, but not disabled. So it can be turned on
by user (and in settings the icon will stay mute/vibrate instead of
changing to the normal notification icon).

2. In the above scenario after notification is unmuted in settings,
the notification icon continues to stay vibrate/mute -- should change
to the normal notification icon.

Note: This feature is controlled using a boolean DeviceConfig flag:
systemui/"volume_separate_ring". The default value is 'false', which is
meant to keep the experience the same as before. It will be set to
'true' for teamfood and dogfood. Eventually the flag will be removed and
the code in the 'true' branch will prevail.


Change-Id: Ibec871eafeef4081e96c5e0dd04535565d50a077
2022-12-28 22:33:50 +00:00
shaoweishen
fb164fe128 [Sound panel] Update Ui layout to match with mertial next
please check bug for before/after screenshot.

Bug: 191317779
Test: verified on device
Change-Id: Ia570dde71ce9f18376eaba48102cecde6adb85bb
2021-10-12 14:24:09 +00:00
Weng Su
72c3debb0b Merge "[Provider Model] Add progress bar to internet panel" into sc-dev 2021-05-10 05:28:15 +00:00
Weng Su
c407a2d9f8 [Provider Model] Add progress bar to internet panel
- Show progress bar when Wi-Fi scanning

- Show "Searching for networks..." sub-title when Wi-Fi scanning

- Remove "Wi-Fi" from searching networks string

Bug: 178774497
Test: manual test
atest -c InternetConnectivityPanelTest
make RunSettingsRoboTests ROBOTEST_FILTER=PanelFragmentTest

Change-Id: Ic05b939bef3b106845fe90db41eb09f0e15756f4
2021-05-10 05:27:59 +00:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.

Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
2021-05-06 08:28:19 -07:00
Weng Su
7a62ab1fff [Provider Model] Internet Panel - Airplane mode is on
- Add "Airplane mode is on" to sub-title
  - Set the header layout to CENTER_HORIZONTAL if it's no icon

- Hide "Settings" button

- Screenshot
  https://screenshot.googleplex.com/6m5dFVZu7ar4nKW

Bug: 178717651
Test: manual test
atest InternetConnectivityPanelTest \
      PanelFragmentTest \
      ProviderModelSliceTest

Change-Id: I899a817fd99415e9cad608aa4deac1e45365696a
2021-02-04 18:48:34 +08:00
SongFerngWang
19cd9506c7 Rephrase the see more button of Internet panel when ProviderModel is enabled
Bug: 176871139
Test: build Test and manaual test(check the UI)
make RunSettingsRoboTests -j ROBOTEST_FILTER=InternetConnectivityPanel
(PASS)

Change-Id: I5e601c6639d979ca776f4bdf7f5e870a0513c7f5
2021-01-12 16:31:41 +08:00
timhypeng
d41cb031c9 Remove intent filter of Output panel
-remove com.android.settings.panel.action.MEDIA_OUTPUT
-remove com.android.settings.panel.action.MEDIA_OUTPUT_GROUP

Bug: 170558292
Test: build pass
Change-Id: Ifb4f0a492e9ed7a5848035577cbc044d010bf5dc
2020-12-23 02:24:41 +00:00
timhypeng
7c86980bf3 Remove unused variable
-remove VIEW_TYPE_SLIDER_LARGE_ICON
-remove MEDIA_OUTPUT_GROUP_SLICE_URI
-remove MEDIA_OUTPUT_SLICE_URI

Bug: 175850711
Test: build pass
Change-Id: Iecf987cc91934a7598762523814f5f575302dde2
2020-12-21 03:23:32 +00:00
tim peng
ff8ce9d88a Merge "Remove MediaOutputGroupPanel" 2020-12-17 03:18:31 +00:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
This change do the 2 things:

1. Add new junit tests files which replace robolectric
   RobolectricTestRunner & RuntimeEnvironment with
   AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.

This change migrate 103 files, there are still 1209
files to go.

Bug: 174728471
Test: atest
      make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
2020-12-16 11:17:57 +08:00
timhypeng
c5a28d3ec0 Remove MediaOutputGroupPanel
Bug: 174192979
Test: build pass
Change-Id: I8023b66f24825bbe019c5d8369bb4813f5ba95f1
2020-12-15 12:25:04 +08:00
timhypeng
82d45fa032 Redirect to output switcher panel to the new dialog
-Redirect for Cast button
-Send intent when call MediaOutputPanel::create()
-Return null to finish the activity

Bug: 172178632
Test: make -j50 RunSettingsRoboTests
Change-Id: I1038e237113f433c847aff98a45b1dd6089d80a8
2020-11-23 03:32:30 +00:00
TreeHugger Robot
34937eb21e Merge "Hide the icon if didn't have media session or album art" 2020-09-15 02:32:08 +00:00
Hugh Chen
30805af9de Hide the icon if didn't have media session or album art
- This CL before, output switcher panel will show default
  icon if there are no media session or album art.

  This CL will hide the icon if there are no media session
  or album art.
- Add test case

Bug: 161495909
Test: make -j42 RunSettingsRoboTests
Change-Id: I5f80158b12f89c8499fb97d0b203ebeffefbc18b
2020-09-14 17:17:04 +08:00
Jason Chiu
6a8d2c5e55 Fix the endless panel loading
Re-launching volume panel continuously will trigger an endless panel
loading, show a transparent unfinished UI, and then block the user's
screen.

Root cause:
When the activity receives a new intent from user's clicking, it will
call PanelFragment#createPanelContent to update the current fragment.
The method triggers an animation and then loads the panel content. If
multiple invocations run concurrently before the animation or the
loading finish, the loader's countdown latch will be increased
abnormally and lead to the endless loading.

Solution:
1. Since the invocations are in UI thread, simply add a flag to avoid
reentrance when the panel is animating or loading.
2. Filter out the same panel's creation request when the panel is still
visible.
3. Do not force a panel's recreation when it's under construction.

Bug: 143889510
Bug: 160491854
Test: robotest, manual
Change-Id: I821faedeb62354929f3af9804cbbe44ee5bb8a53
2020-09-03 07:10:21 +00:00
timhypeng
b5527e329b Fix test case fail
Bug: 160956047
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib975e906aefc44c59a8465a586832d92664f5147
2020-07-13 10:29:11 +08:00
Tim Peng
aeabfc3050 Add a separate line at the bottom of list area in output switcher
-Bottom divider is not showed when there are more than 7 devices exist in output switcher
-Check panel type in isDividerAllowedBelow()
-Hide the Slice bottom divider of Output switcher panel
-Show divider in panel layout only for output switcher panel

Bug: 159177275
Test: make -j42 RunSettingsRoboTests

Change-Id: I49396a0ee0543b494a2b3d714ec248ebab08e7ba
2020-06-20 03:44:43 +00:00
Tim Peng
27b0ef6eb3 Output switcher panel requires large title icon for Slice slider style
-Add "VIEW_TYPE_SLIDER_LARGE_ICON" to be a new panel type which would enlarge its title icon
-Set "VIEW_TYPE_SLIDER_LARGE_ICON" to MediaOutputPanel and MediaOutputGroupPanel
-Extend slider style and add customized icon size
-Add test cases

Bug: 157208551
Test: make -j42 RunSettingsRoboTests
Change-Id: I9b4de4aa552e8b26e766411f7eff93ea1a2d1910
2020-06-12 11:22:17 +08:00
Tim Peng
901e1503f5 PanelSlicesAdapterTest failure
-Update test cases

Bug: 11390111
Test: make -j50 RunSettingsRoboTests
Change-Id: I6efd6b619eb5bc20b654a73bf1963ea9f446516d
2020-05-06 11:32:57 +00:00
Tim Peng
2f47d771fb Add 12dp padding above the first slice item
-Add an extra padding in adapter for dedicated panels
-Add test cases

Bug: 154181365
Test: manual test
make -j50 RunSettingsRoboTests
"adb shell am start -a android.settings.panel.action.INTERNET_CONNECTIVITY"

Change-Id: I65bc26c23ca5a7f1b433c36ac7ddf1a658793719
2020-05-06 09:04:25 +08:00
Tim Peng
e54e0296ca Incorrect panel layout after rotation
-Handle onConfigurationChanged and force to update layout
-Add test case

Bug: 144751509
Test: make -j42 RunSettingsRoboTests
Change-Id: Ic170d4f6f045299c0520e899e06b5b4e9f009643
2020-04-15 03:16:30 +00:00
Tim Peng
eb0531f0df Output switcher subtitle modification
-Change from null to "Switch output"
-Update test case

Bug: 153834179
Test: make -j42 RunSettingsRoboTests
Change-Id: I184e78292e982f8a93b74612331a1d2cab28d07a
2020-04-13 11:49:18 +00:00
Tim Peng
6fb4059944 Transferring to a cast device should not close the output switcher
-Close panel only when on pause and stop
-Transfer device would set the play state to "STATE_NONE"
-Add test case

Bug: 152632226
Test: make -j42 RunSettingsRoboTests
Change-Id: Ibf6ce1454b1d5bf3facc07abec15b8735029f2cf
2020-04-07 08:02:30 +00:00
tim peng
5b0913c2b6 Merge "No media status is visible in Output Switcher" into rvc-dev 2020-03-31 02:04:48 +00:00
Tim Peng
3ac144163e No media status is visible in Output Switcher
-Reflash header when get latest media controller

Bug: 152606491
Test: make -j42 RunSettingsRoboTests
Change-Id: I14542a7f8ba921c9d1dbaacf7e01c3ee673527b2
2020-03-30 16:20:14 +08:00
hughchen
bc5f2fad33 Update customize button title when state changed
- This CL update customize button title when
  onCustomizedButtonStateChanged() is called.
- Add test case

Bug: 152002708
Test: make -j42 RunSettingsRoboTests
Change-Id: I85c9cf90305757e279c058db2875e303b4add437
2020-03-26 10:40:16 +08:00
tim peng
f8f1b271b1 Merge "Update header information in output switcher" into rvc-dev 2020-03-23 01:47:25 +00:00
Tim Peng
93123a5c63 Update header information in output switcher
-Apply Metadata Description rule for title and subtitle
-Add test cases

Bug: 151889011
Test: make -j50 RunSettingsRoboTests
Change-Id: I46b79a8a64daf99b248742b96fb144cf77e685b4
2020-03-19 16:48:16 +08:00
Tim Peng
650eda307b Close panel when media stop
-Add forceClose callback to finish panel
-Add test cases

Bug: 151396986
Test: make -j50 RunSettingsRoboTests
Change-Id: Ic0ac2880a4ff412382816ccb41b4fbb60dbdf519
2020-03-19 10:02:35 +08:00
Tim Peng
36c4949414 Output switcher header is not updated with the latest media content
-Register media controller callback
-Update panel header when medadata changes
-Add test cases

Bug: 151396986
Test: make -j50 RunSettingsRoboTests
Change-Id: Id0b8f997899a96c0c94ca6bf099e624a9e87795b
2020-03-17 09:02:34 +08:00
Tim Peng
db7d61d0a2 Adjust layout for Slice InputRange
-Make title to slider aligned
-Add test cases

Bug: 147462114
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib1d076f77eae75e4f861a80873117b6254729fe5
2020-03-09 21:50:58 +08:00
tim peng
9a1701b42f Merge "Add dynamic group panel" into rvc-dev 2020-03-04 02:35:35 +00:00
Tim Peng
a87985c4ae Add dynamic group panel
-Rename PanelCustomizedButtonCallback to PanelContentCallback
-Add onGroupChanged in PanelContentCallback
-Add test cases

Bug: 146813761
Test: make -j42 RunSettingsRoboTests
Change-Id: I60888efbbd0fc2878467418e55c70887a9d3f405
2020-02-27 06:29:01 +00:00
hughchen
63490a57cd Call releaseSession() when "stop casting" button click
Bug: 147856563
Test: make -j42 RunSettingsRoboTests
Change-Id: Id096b84af4d0c98cf6a24a17e7bd5723d1670c24
2020-02-24 05:45:49 +00:00
hughchen
201b48b885 Add stop casting button for output switch
This CL add a customize button to stop casting when media
is transferred to info device.

This CL include following change:
- Add new methods to PanelContent.java. Let panels to
  customize "see more button".
- MediaOutputPanel will check which device is used to
  transfer media currently. The customize button will
  shown on when transfer device is info device.
  Then user can use this button to stop casting.
- Add test case.

Bug: 147856563
Test: make -j42 RunSettingsRoboTests
Change-Id: I8b201a10339f39f1d938d99b5659a82014e5bb89
2020-02-19 10:05:44 +08:00
TreeHugger Robot
ff6e341509 Merge "Add remote media slice in volume panel" 2020-02-12 01:34:15 +00:00
timhypeng
b266fa6029 Add remote media slice in volume panel
-Add test cases

Bug: 142772656
Test: make -j42 RunSettingsRoboTests
Change-Id: I62d3054a4343ed2c7fbb0b4d7aeb5a48da194b02
2020-02-06 14:38:13 +08:00
timhypeng
0c4db3170d Add title and icon in output switcher panel header
-title shows artist
-subtitle shows album
-add test cases

Bug: 147776885
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib33e5550e668d8cc5d70051ea2e7dd74d61c767a
2020-02-05 21:52:03 +08:00
timhypeng
adae7475b0 Add title and icon in panel header
- Add getIcon() and getSubTitle() in PanelContent
- Check icon avalibility to decide header layout
- Add test cases

Bug: 147776885
Test: make -j42 RunSettingsRoboTests
Change-Id: Idb51e81359b6037ca9b90965dd9b370fc5e22c84
2020-01-20 13:43:19 +08:00
Stanley Wang
5ce5349167 Remove the unused slices.
Remove the DataUsageSlice, DeviceInfoSlice and EmergencyInfoSlice.

Fixes: 146994847
Test: robotest
Change-Id: Ic840e9cc93e99b3c0a34eb6536401db34c98eca8
2019-12-30 19:04:49 +08:00
Raff Tsai
dfba9a0f6d Change Panels creation interface to take a bundle
Fixes: 124399577
Test: robolectric
adb shell am start -a android.settings.panel.action.WIFI
adb shell am start -a android.settings.panel.action.VOLUME

Change-Id: I9e13357444e4ebeee50fb8cc68fbc974ce5fffb6
2019-10-18 13:21:18 +08:00
Raff Tsai
d9cfbaf3b5 Fix volume panel hang
SliceLiveData changed its behavior, if slice is null, it will not
notify LiveData observer but callback to onErrorListener. We only
reduce PanelSlicesLoaderCountdownLatch in LiveData observer.
Therefore the error slice caused PanelSlicesLoaderCountdownLatch
never count to 0, the UI was not displayed. It is solved by reducing
PanelSlicesLoaderCountdownLatch in onErrorListener and also not return
null in MediaOutputIndicatorSlice.

Test: manual
Fixes: 141084035
Change-Id: Iddb2dbdc0e0d2ac3e26071960bb667937f181121
2019-09-18 11:40:46 +08:00
Sunny Shao
647e49e7cf Add Tapjacking Protection for SettingsHomepageActivity
Add/remove the SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS flag into/from
SettingsHomepageActivity and SettingsPanelActivity with lifecycle.

Bug: 138442483
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.homepage
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.panel
      manual test
Change-Id: I72f9a947f57f74a8c09127d6c39173594c248ddc
2019-08-01 23:36:12 +08:00
Fan Zhang
ec81d6121e Override 2 getSliceUri() instance to return platform slice
Bug: 126222433
Test: robotest
Change-Id: I3f9c8202d9b75b24b80ebcf385abc95f8df851e2
2019-05-30 16:50:43 -07:00
lindatseng
f19f7981df Fix robotests in settings/panel
Remove @Ignore for tests in settings/panel after testing.
Also update VolumePanelTest according to the recent changes to
remote volume slice.

Test: atest PanelFragmentTest
Test: atest SettingsPanelActivityTest
Test: VolumePanelTest
Fixes: 130896218
Change-Id: Iaa99e65d959cafd382d7209664f2fdbf660c29e0
2019-04-23 15:03:34 -07:00
Fan Zhang
1830440231 Merge "Add @Ignore for all failing tests." into qt-dev 2019-04-19 20:28:47 +00:00
Fan Zhang
ef2e91913b Add @Ignore for all failing tests.
Bug: 130896210
Bug: 130896218
Bug: 130896701
Bug: 130897882
Bug: 130897305
Bug: 130897640
Bug: 130896049
Test: robo
Change-Id: I77143d504501b358c2103aa736cd2aad13ed4c5c
2019-04-19 13:23:29 -07:00