Commit Graph

17 Commits

Author SHA1 Message Date
Tim Peng
c3c6d6d876 Sound panel doesn't match material next design for Android S
-title layout/margin/font size adjustment
-remove panel gap on left and right sides
-apply round corner 28dp only on top two corners

Bug: 191317779
Test: make -j50 RunSettingsRoboTests
Change-Id: I8ebd9238a7e746a48ae6baa4361600b5a21446c1
2021-06-23 16:01:14 +08:00
changbetty
180970e88b [GAR] Set the correct color and style to panel UI
1. Set the correct color to panel subTitle for pass the GAR
2. Follow the UI spec to set the font style and size to the panel title

Bug: 189799700
Test: Manaul test by Accessibility Scanner
Change-Id: I7e7864f18e0e5c6edc8e5160cf984472d4aba881
2021-06-02 22:02:48 +08: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
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
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
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
9bdeef43fd Refine layout for output switcher panel
1. only make the output switcher tall enough to show 6.5 devices
2. enlarge album art to 52*52 and keep same size on group panel
3. reduce panel header top padding
4. enlarge slice first item top padding
5. update slider bar right padding
6. update panel height
7. align slice title item left with panel title icon
8. enlarge slice end item right padding

Bug: 156045699
Test: manual test
Change-Id: I51321d98ef483665689b7e258d6071df76382759
2020-06-12 15:15:00 +08:00
Tim Peng
b549c0f615 Single line for output switcher panel title
Bug: 155956511
Test: manual
Change-Id: I2c33783d55c0ab5358b7fd1f4a0f405b3e25ff2b
2020-05-08 13:49:08 +08:00
Tim Peng
205846c9a2 Refine inputRange layout in output switcher
Bug: 154181365
Test: build pass
Change-Id: Idee9042af6b19a358938752d2ee72bae07eb092a
2020-04-16 06:35:23 +00: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
lindatseng
e972b16c4b Make panel support dark mode
Slightly adjust Panel related theme/styles to support dark mode.

Screenshot:
Wifi Panel: https://screenshot.googleplex.com/5FJ1wwMjgrn.png
NFC Panel: https://screenshot.googleplex.com/AhNJhEMXCS7.png
Volume Panel: https://screenshot.googleplex.com/iyOxAz9NJPv.png
Connectivity Panel: https://screenshot.googleplex.com/pvExHZVNW7m.png

Test: Visual/Manual verification
Fixes: 130815366
Change-Id: Ic96898091c52ccebf4437d96099ad553884d1eb4
2019-04-24 21:30:40 +00:00
Matthew Fritze
b6fdd25c23 Add entry animation to Settings Panels.
Settings Panels as a dialog have a default animation for entering the
screen, but Slices complicate the animation. While the dialog enters the
screen, Slices begin to bind, thus changing the height of the dialog as
it enters, causing perceived bounce / jank in the animation.

This CL is cherry-picked/based on ag/6671083 but do the following modification:
(See the original commit message for the whole concept)

When trying to load all the Slices, there are few possible situations:
1. Slice starts loading slowly, starting at state LOADED_NONE
2. Slice is loading in progress, having state LOADED_PARTIAL
3. Slice is loaded, but there's error return from the Slice data (We don't
need to show the Slice in this case)
4. Slice is loaded, progress to state LOADED_ALL
5. Slice starts from state LOADED_NONE, but never progress to the next state
because it crashes at setting backend.

Notice that there are two cases that the state will stay at LOADED_NONE and
we can't distinguish them.

Hence, we decide to do the following:

If Slice is with error (case 3) we remove the slice from the list and mark it
loaded.

If Slice is loaded with LOADED_ALL (case 4, which is the ideal case), we mark
it as loaded.

In the other cases, we fire a handler to mark the slice loaded anyway after
250ms timeout.

When all the slices are marked loaded (which should happen after 250ms timeout,
we will animate the panel out.  Although there might be slices which are still
partial loaded, we can still have the slice in the panel once it is ready.
The panel might bounce/jank in this case, but at least it will still showing
correctly, and should show up smoothly in most cases.

The solution to this problem is twofold:
1. Load all Slices first
2. Create a custom animation to draw the panel once the recyclerview has
been laid out.

Test: Manual/Visual inspection
Test: make -j40 RunSettingsRobotests
Bug: 123942159

Change-Id: I639a707aa4ba3f906bd6f9752c92727aaba28142
2019-04-16 16:29:04 +00:00
lindatseng
cf93c8bc92 Remove divider above device switcher in panel
Remove the divider above the media device switcher Slice per the request.

Do a little refactor in Panel View, to use DividerItemDecoration instead of adding
divider views in layout file as the recycler view items divider.

Since dividers should be shown in most cases, we are setting DividerCondition to
DIVIDER_CONDITION_BOTH and default true to allow divider.  For the slice we don't
need divider (media device switch in this case) we are setting the the target
direction of isDividerAllowed (above in this case) to false.  Since we have
DIVIDER_CONDITION_BOTH, if one of the item view set the divider not allow, the
divider won't be shown.

Test: Visual/Manual inspection
Fixes: 126205139
Change-Id: Ic857705c90819ef9375f877a44bb32987b5d4438
2019-04-05 14:15:16 -07:00
Matthew Fritze
cafeaadaa6 UX Fixes for Settings Panels
UI Fixes include:
- Fix height of bottom bar
- Fix start / end padding of See More and Done buttons
- Remove scroll shadow in recycler view
- Consolidate most layout code into a single file, only
separating the distinguished elements into the landscape file.

I cannot fix b/126731930 until a Slice bug is fixed, where the top
padding is applied to the bottom of sliceview instead.

Fixes: 126720235
Fixes: 126720220
Fixes: 126720167
Test: manual inspection & layout inspector

Change-Id: I6e3434aabe221134e7278f92bab34122719c179a
2019-02-28 16:16:10 -08:00
Matthew Fritze
735d6ef195 Move Panel to public API
Change the SettingsPanelActivity to reference the
public API.

Bug: 117804442
Test: robolectric, manual app
Change-Id: I4b128ae9d97c1000fdaa0c3fb5b94f8dc096055f
2018-12-13 13:58:07 -08:00
Matthew Fritze
c14316c4a9 Update SettingsPanel UI
UI changes include:
- RecyclerView to host slices
- Font family to headline font
- Title is now centered
- Added SeeMore & Done buttons
- Horizontal Dividers between slices
- Indented Slices
- Landscape layout is fullscreen

Change-Id: I3549c847fc88edd81f670ddfa2907dd3741441e0
Screenshot: https://screenshot.googleplex.com/RzWktzOZJkc
Test: Robolectric
Test: Manual app
Bug: 118622007
2018-11-30 13:26:50 -08:00
Matt Fritze
90899e08f0 First commit for settings panels
Establish the Activity which hosts Settings panels through the
PanelFragment. The Activity's purpose is to validate the intent
data coming in, including:
- Called with startActivityForResult (so we can log who is calling)
- Intent has the proper intent extra to link to a Panel

The fragment takes the Panelable data and builds a Settings Panel.
Each panel will have:
- Title
- List of Slices
- Link to underlying content

The Panelable interface is created to provide all of those datums, and
the new FetureProvider provides the Panelables by linking them with
keys. The keys will eventually become public APIs with CTS tests.For
now, we store them locally.

I included an exmaple panel, the InternetConnectivityPanel which
currently shows Wifi and Airplane mode.

Screenshot: https://screenshot.googleplex.com/c6sv7ZzQ5OJ
Bug: 117804089
Test: make -j40 RunSettingsRobotest
Test: Manual app
Change-Id: I1932f7179cc32088acd6413a736901ddf9651892
2018-11-26 15:26:02 -08:00