Commit Graph

91 Commits

Author SHA1 Message Date
tomnatan
bf5b7b2dd3 [5/n] Letterbox Education: update the dialog layout.
In addition, remove the overlay layout and include it in the dialog
layout as the background of the top-level layout (renamed as dimmer).

Test: N/A
Bug: 207010227
Change-Id: I658e85378ec266c4260b520b5fcdddbfb66b35c6
2022-02-08 10:36:28 +00:00
tomnatan
6f31ad815b Letterbox Education: Cleanup the toast layout.
The toast is no longer needed since we decided to only show the
letterbox education once as a dialog.

Test: N/A
Bug: 207010227
Change-Id: I1dccf10d0effad111d8ee8e62a068e4dee571c20
2022-02-02 11:29:45 +00:00
Tom Natan
26b7cb8e11 Merge "[1/n] Letterbox Education: Add UI layouts" 2022-01-25 14:22:32 +00:00
tomnatan
51127d083d [1/n] Letterbox Education: Add UI layouts
Test: N/A
Bug: 207010227
Change-Id: I9806121fcd0c6b3432dd5faf98b99bf9cfb747f5
2022-01-25 09:07:03 +00:00
Ben Lin
5636d17fbe Merge "PiP: Disable enterSplit for now." into sc-v2-dev am: b80e7c46da am: 6c5c7f6fb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16458641

Change-Id: Iad546b3ae5d1e9363e99caa3661f5f7044d9d415
2022-01-20 23:36:23 +00:00
Ben Lin
eab029ce8d PiP: Disable enterSplit for now.
Bug: 206645013
Test: Enter split button no longer appears
Change-Id: I6237dd1c88f50733ab24e45806c413d5777032e9
2022-01-20 02:15:21 +00:00
Aurimas Liutikas
aec26c4f68 DO NOT MERGE Revert "[3/n] Camera Compat UI: Add a camera compat control."
Revert submission 16468379

Reason for revert: Feature development is moving to T.

Reverted Changes:
Id9b9a8930:[3/n] Camera Compat UI: Add a camera compat contro...
Id6be4a954:Enable a camera app compat control on Large screen...
I083aa6718:[2/n] Camera Compat UI: Add interfaces for client-...

Bug: 206602997

Change-Id: I318b89b87cd3b05a3f3dcd428e3d80fe81465011
2022-01-13 15:16:51 +00:00
Jacqueline Bronger
481026d372 Merge "Move PiP via DPAD to the four corners (TV)" 2022-01-13 10:11:10 +00:00
Jacqueline Bronger
f5863c14b1 Move PiP via DPAD to the four corners (TV)
Bug: 203641195
Test: manual
Change-Id: Ib2381ae6ff0b43f444af8e984a4f0e6d9786169b
2022-01-12 17:23:08 +01:00
Mariia Sandrikova
d2ccf6edac Merge "[5/n] Camera Compat UI: Unify margins logic for camera and size compat controls." into sc-v2-dev am: b6c52ec273 am: 0cb2c45802
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16527687

Change-Id: I0cf5f6fa171d2cd9f402cd1439c3418631718cc9
2022-01-07 11:23:05 +00:00
Mariia Sandrikova
d8cbcc46be [5/n] Camera Compat UI: Unify margins logic for camera and size compat controls.
Before this change, margin between a hint and a camera compat control was smaller than required 8 dp while for a size compat control it was bigger than 8dp (since ag/16420818). This change makes them consistent and also simplifies layout definition for the size compat button by declaring margings explicitly rather than including them in width and height implicitly.

Test: manual
Bug: 206602997
Change-Id: I09839e764d2c8904954a594433888bfdc21d56ba
2021-12-23 18:37:59 +00:00
Mariia Sandrikova
d77c92a3f1 Merge changes from topic "camera-compat" into sc-v2-dev am: 3486eacda3 am: 02a17e7b1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16468379

Change-Id: Ic9916a3883eef0148a86c86149aa2e883fc56d1b
2021-12-18 22:19:12 +00:00
Mariia Sandrikova
13e80fd997 [3/n] Camera Compat UI: Add a camera compat control.
Test: atest WMShellUnitTests
Bug: 206602997
Change-Id: Id9b9a89303387c4ac797fc1382967151a13d38ef
2021-12-17 00:20:19 +00:00
Mariia Sandrikova
ef1f033720 Merge "[1/n] Camera Compat UI: Refactor size compat mode UI controller." into sc-v2-dev am: aa7a8cdda5 am: 6863643cda
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16420818

Change-Id: I63c10a663aea9471594af90d1c59c57f8bef1e1c
2021-12-12 17:15:30 +00:00
Mariia Sandrikova
6dd79270b0 [1/n] Camera Compat UI: Refactor size compat mode UI controller.
First CL in the chain that will add a camera compat UI control which will be used to correct stretched issues in TextureView and SurfaceView cause by apps not handling mismatch between camera buffers and view size correctly.

This change is necessary because right now there are 2 instances of WindowlessWindowManager (SizeCompatUIWindowManager) in SizeCompatUILayout: for a hint and for a restart button. They are also positioned relatively by computing offsets in java code rather than by specifying layout with XML. This code structure will cause issues since with upcoming camera changes there will be a need to coordinate relative position of 4 UI elements (2 buttons and 2 hints).

What is changing in this CL:
- Majority of changes are simple renaming from "size compat UI" to "compat UI" since, starting from the next change, two different compat controls will be supported.
- Merging 2 instances of SizeCompatUIWindowManager into one (CompatUIWindowManager) and for that create a joint layout in compat_ui_layout.xml
- Merge SizeCompatLayout logic into CompatUIWindowManager since in absence of 2 instances of WindowlessWindowManager there is no good reason to keep them separate.
- Merging and renaming tests to follow refactoring of the implementation.

Test: atest WMShellUnitTests (the same set of tests should be sufficient since this refactoring just reorganized the structure of the implementation)
Bug: 206602997
Change-Id: I7141c69b7ba4742c5b7b2018329b91a1b37b45bc
2021-12-11 13:00:23 +00:00
Jacqueline Bronger
1eeea7c0c5 Tv pip menu design update (1)
PiP window stays where it is instead of moving to the center and
the menu buttons are shown on centered on the pip instead of below
the window.

Additionally disabled menu items are removed to avoid cluttering.

Bug: 201270615
Test: manual
Change-Id: I9af5dc04dd0999d61add88a3475c697b376034d0
2021-12-08 14:24:19 +01:00
tomnatan
d9f722d0d4 Change the restart button to use material colors
In addition, add a ripple effect to the button.

Fix: 198347324
Test: N/A
Change-Id: Ibd33f32cf4908ae9d3d02d8043e625e24123aff7
2021-11-19 16:57:49 +00:00
Ben Lin
6d6a81b5e8 PiP: Enable enter split.
Bug: 202740657
Test: Enter PIP, open another app, tap "enter split"
Change-Id: Ifd30489705c8a928aa8e219cb0d88fdd2b932c6d
2021-11-11 14:01:14 -08:00
Hongwei Wang
5b3d8a3aaf Revert^2 "PiP: support direct entering split from PiP."
a6abf3067b

Change-Id: I1deddacd0ef7ba36b55d38d14718d0be90129866
2021-11-10 21:02:08 +00:00
Hongwei Wang
a6abf3067b Revert "PiP: support direct entering split from PiP."
Revert "Update PiP signatures"

Revert submission 16190721-pip-enter-split

Reason for revert: regression b/205639175
Reverted Changes:
I62d1617c1:Update PiP signatures
I0829c910b:PiP: support direct entering split from PiP.

Change-Id: I52fe160c50747a00e1d30b072ce07e67dae9c6de
2021-11-08 18:52:00 -08:00
Winson Chung
ca5598dd10 Move dagger modules into shell library for reuse
- Certain system ui implementations which use the shell don't depend on
  SystemUI-core, which means that the dagger modules for providing the
  core Shell components need to be copied (which makes it more cumbersome
  to make changes). Instead, move these modules back into the shell lib
  for any SysUI app to reference.

Bug: 205019015
Test: make SystemUIGoogle
Test: make CarSystemUI
Test: make ArcSystemUI
Change-Id: I8dc938a7695972f9d7b3d7ea8e3ce65a7b454b13
2021-11-05 12:53:14 -07:00
Ben Lin
5574121d03 Merge "PiP: support direct entering split from PiP." into sc-v2-dev 2021-11-05 17:42:02 +00:00
Sergey Serokurov
34ba68727c Merge "In overflow view, set bubble name TextView width to a fixed value" into sc-v2-dev 2021-11-04 23:34:25 +00:00
Ben Lin
0e40a98bc3 PiP: support direct entering split from PiP.
Add a new "enter split" button that allows user to go directly into
split screen on large screen devices from PiP.

- Add button
- Calculate split-screen location based on current PiP bounds
- Merge all WCT into one after animating

Video: http://recall/-/gu5DjQFZPMFpwgaXdl4cV3/gnNkSpC72tlTGP2mrKR07R

Bug: 202740657
Test: Enter PIP, open another app, tap "enter split"

Change-Id: I0829c910b2873ed4c4b0ea4fe0ca28b7f87736d8
2021-11-04 11:45:59 -07:00
Sergey Serokurov
c996d270b4 In overflow view, set bubble name TextView width to a fixed value
Bug: 198539434
Test: Manual, verified that bubbles in the overflow view are evenly spaced
Test: screeshot before the fix: https://screenshot.googleplex.com/6RRa6qoTbFrJfCC.png
Test: screeshot after the fix: https://screenshot.googleplex.com/BmdPN6AvXedYFNE.png
Change-Id: Icba048b65591e186d579a2c56685499fea316e9f
2021-11-03 21:16:40 -07:00
Tom Natan
2d213c397a Merge "Redesign the size compat restart button according to mocks." into sc-v2-dev 2021-11-02 15:22:05 +00:00
tomnatan
825e55ed60 Redesign the size compat restart button according to mocks.
The width of the hint is constant but the height changes with respect to the number of lines the text requires (see screenshots below). The X position of the hint is set programmatically so that the point's center will be aligned with the button's center.

Still need to add UI for different states of the button (pressed, focused, etc.) and maybe also the hint (since it's clickable). Mocks for this are still TBD.

Mocks: https://www.figma.com/file/fLAVOdDkg0lnFWiltSYbGA/Multitasking?node-id=2719%3A54196

Screenshots:
[default - 2 lines]    http://screen/4EtytFiKsY3Q5NE
[LTR language]         http://screen/9BSPipZYUd7UGPV
[short text - 1 line]  http://screen/AN5bds6rh5V55Bw
[large font - 3 lines] http://screen/6utG596y52LBDjX
[long text - 4 lines]  http://screen/7mBL2fXWy43UsTq

Bug: 198347324
Test: atest WMShellUnitTests:SizeCompatRestartButtonTest
Test: atest WMShellUnitTests:SizeCompatHintPopupTest
Test: atest atest WMShellUnitTests:SizeCompatUILayoutTest
Change-Id: Ida4c4171be94b60499cfe8acb6a2278f7e10a1f3
2021-11-02 13:17:19 +00:00
Tony Huang
70b7b1e2d8 Fix divider rounded corner on specific devices
On large rounded corner devices, Rounded corners around divider
cannot display right corner path because it need more space to
draw corners and divider bounds is fixed.

Fix this by enlarging the divider window bounds. However, if we only
enlarge it, it will cause divider touch region too big to make app
hard to interactive. Therefore, migrate touch region setting logic
in legacy split to here, only set divider handle view size as touch
region.

Fix: 202808282
Test: flash on barbet and active split screen to check
Test: pass existing tests
Change-Id: If292c0d4c598d75672ec821d1fee45a8892b236f
2021-10-28 09:01:37 +08:00
Jerry Chang
8675afb2c4 Align rounded corners beside divider bar with display and task bar
Use the same way to draw rounded corners beside divider bar with
display and task bar to make sure all rounded corners share the same
style.

Bug: 196272915
Test: atest WMShellUnitTests
Test: manul check the rounded corners rendered in proper position.
Change-Id: I566ef5233dc345e0229fd9637c3b05705ba35864
2021-09-17 22:58:27 +08:00
Jerry Chang
5514e76d40 Draw rounded corners beside split divider bar
Draw rounded corners beside divider bar which inset with task bar if
the task bar is expanded.

Bug: 196272915
Bug: 182511830
Test: atest WMShellUnitTests
Test: manul check the rounded corners rendered in proper position.
Change-Id: I14c5a9416d52bf06b3e4c8ac843c5a65c0b940b8
2021-08-30 19:39:03 +08:00
Jerry Chang
074c7291a9 Update divider bar layout to match stage split design
Bug: 197361088
Bug: 196272915
Test: manual
Change-Id: Ic2fed9c6ef5d8004f922d766c7e3d3170846041d
2021-08-27 04:22:22 +00:00
Mady Mellor
750cf17edb Update width of expanded view to match new spec
And remove something unused.

Test: manual - expand bubble on large screen, note that
               size of expanded view is ~72% of screen
             - check that it's the full width on phone
Bug: 193910391
Change-Id: I4c2060d84db10b5b0d8f30e2530c743d6045486e
2021-08-09 10:57:21 -07:00
Mady Mellor
204080732f Updates to user education for large screen
- Restrict the width of the education views when
  on a large screen device
- Rather than hardcode the position / padding for
  the education views, figure it out based on where
  the view is on the screen so that it's a little
  less brittle.
- Recreate the views for theme or display size change

Test: visual - verify the user education screens
               look correct in phone and on large screen
               in both portrait & landscape
             - change display size & verify education
               is still visible & sized appropriately
Bug: 186776550
Change-Id: I1c77a810339448d61b570eb158848c15b2df96c8
2021-08-09 10:56:20 -07:00
Mady Mellor
3289ae9f64 Update the flyout width to be smaller on large screens
On phone we use 60% of the screen which is huge on
tablet. This change uses 30% of the screen for the
flyout on large screens & enforces a minimum for
that value.

Test: manual - get a long message in a bubble on a
               tablet, it should have similar width
               as it does on phone.
Bug: 186776550
Change-Id: I500c566edd9941dc2bd149692eaf95c6e6f4aa61
2021-08-02 14:03:01 -07:00
Mady Mellor
ba35a77513 Updates to manage button based on latest mocks
- manage button should be inset from the expanded view edge
  but the menu should be flush with expanded view edge.
- button size is smaller (36dp instead of 40dp)
- more padding (16dp above / below on both tablet & phone)
- diff colour N1-800 instead of N1-900

Test: visual 1 - expand a bubble and look at 'manage' button
             2 - tap on the button and look at the menu
             3 - do 1 & 2 on tablet & in RTL & on phone
                 landscape
Bug: 183658858
Change-Id: I4b5ffc26602b72ee28d26476fc222df3e2e1e80b
2021-08-02 12:20:08 -07:00
Mady Mellor
0974348d31 Manage menu changes
- padding & size updates
- scrim between bubble expanded view and the manage menu

Test: manual - expand a bubble, tap on the manage menu, it
      should animate in with a scrim behind it.
Bug: 183658858
Change-Id: I3053cdb61497434a0aeb49eb33f87a3dafb364d7
2021-07-29 12:46:19 -07:00
Ben Lin
f75fffdc20 PiP: Allow customization of PiP minimum size.
Bug: 171596717
Test: None.
Change-Id: I9bb6f2740d25fce99a436f938e7b3cca819ffa98
2021-07-15 12:21:30 -07:00
Mady Mellor
ab00abc6f6 Add a note about keeping a dimension value in sync with CTS
Test: treehugger
Bug: 182934996
Change-Id: Ib8dd9bc9d13d9f5a737ceb0d61e34b825f883f8c
2021-06-23 11:04:27 -07:00
Bill Lin
ca75e7e466 Allow one-handed mode shortcut expand notification
1) Add OneHandedEventCallback for WMShell to register
   callback, and if one handed mode settings set show
   notifications, when user tap one handed mode shortcut
   notify WMShell send KEYCODE_SYSTEM_NAVIGATION_DOWN
   through OneHandedEventCallback with SysUIMainExecutor.

2) Add isReady() flag in OneHandedDisplayAreaOrganizer
   and Simplify the flow of onActivatedActionChanged()
   to prevent potential race problem while auto-enable
   One-handed and immeditately startOneHanded(), however,
   DisplayAreaOrganizer#onDisplayAreaAppeared() may not
   ready for transtion yet, and result mState keep in
   unfinsihed STATE_ENTERING.

3) Adjust the transiton duration from 800ms to 600ms
   800ms is a little bit long to affect timing of
   apply runtime overlay package.

4) DelayExecute setEnabledGesturalOverlay() until
   transition finised and at most delay once.
   - onSwipeToNotificationEnabledChanged() : DelayExecute
   - onEnabledSettingChanged() : DelayExecute
   - Ctor setupGesturalOverlay() : No DelayExecute
   - mState.isTransitioning() : DelayExecute

Test: WMShellUnitTests
Bug: 182425480
Change-Id: I2615c3b30ad95a858510b4bcc73d8f343843fc96
2021-06-17 01:12:32 +08:00
Hongwei Wang
7b8b7b5cba Merge "Polish PiP round corner" into sc-dev 2021-06-08 16:48:28 +00:00
Hongwei Wang
d5b088b418 Polish PiP round corner
Included in this CL
- Increase the corner radius from 8dp to 16dp
- Scale the round corner radius in transition

Tested with the following scenarios
- Enter PiP in button navigation mode
- Double-tap to resize PiP
- Pinch to resize PiP

TODO
- Round corner when enter PiP with auto-enter being enabled

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/gA2dQNBNTA8xFExWqmOkRY
Bug: 187441996
Test: manual, see video
Change-Id: I43db31f966007795351a8e2ca7dd08417f6f0df7
2021-06-07 16:20:50 -07:00
Mady Mellor
9254393aa5 Bubble dismiss updates
- large colored circle, uses same accent color that launcher
  has for remove / uninstall
- added a shrink animation for the target when the bubble is
  stuck via the magnet
- no longer desaturate the bubble being dismissed but rather add
  a bit of an alpha

Bug: 183657564
Test: manual - get a bubble, drag it around & dismiss it, notice
               the animation
Change-Id: If0d0d86b7389f0fa3314598266cd83ecabdc6a9b
2021-06-03 10:16:36 -07:00
Wei Sheng Shih
a7fb25ba8a Merge "Consolidate the starting surface icon size to framework" into sc-dev 2021-06-02 10:00:20 +00:00
Mady Mellor
238f122f47 Flexible maximum number of bubbles to show
* adjust the default spacing so that its small enough that 5 bubbles
  can show on crosshatch (5 is the default)
* Add max bubbles to BubblePositioner, replace the other usages

Test: atest BubbleDataTest
Test: manual - have 5 bubbles
             - adjust screen size to largest
             - open the stack
             => notice that the number of bubbles have changed and
               they all fit on the screen without overlap
             - repeat & check the different densities
Bug: 187715444
Change-Id: I4794ed89541eeb573c367748f980cf7ffe45d3f3
2021-05-27 13:41:22 -07:00
Mady Mellor
bb53cce0db Update sizes for the bubble avatar
* Update sizes of badge & bubble; also simplify some of the sizing
  code, we can do it with just the overall size
* Simplified things, instead of the inner / outer sizes just use
  the overall size

Test: visual - create a bubble and look at the size of the bubble and
               badge
      visual - have some bubbles, change display size, create a new
               bubble & verify that all of the sizes are the same
Bug: 183657577
Change-Id: Ibd8609a8737bb0a57519fa70fba17138bb69b379
2021-05-27 10:32:02 -07:00
Mady Mellor
50bcd6ca2b Update the sizes for bubble expanded view
* 16dp on either side / from edge of screen for the bubble view
* 16dp between bubble row & expanded bubble rect (works out to 5dp
  in code: 16dp - 2dp (badge overhang) - 9dp (pointer height)
* max 8dp between the bubbles in the top row
* manage button has some adjustments - 8dp above & below and is total
  32dp from edge of screen; ensure manage button is centered between
  bottom inset & bottom of expanded view

* fixes a bug where there was extra padding being at top of expanded
  view in landscape mode
* removed an unused layout file & unused dimens

Test: visual - expand a bubble, look at spacing of everything on
               screen; do the same in landscape from left and right
               edges of the screen.
Bug: 187715439
Bug: 183658029
Change-Id: I29e699aaf9b6e7bf75447dac6aa6b00a7b272b8b
2021-05-21 14:00:53 -07:00
Mady Mellor
cdbe799cf2 Bubbles don't hang off screen
Bug: 183657577
Test: visual - make a bubble, see it doesn't hang off the edge
Change-Id: Ib640add665bf5050f94573987072a93855f29fab
2021-05-21 14:00:53 -07:00
Mady Mellor
0abd3000eb Merge changes I65f46028,Ie3f67ccd into sc-dev
* changes:
  Make the pointer for bubbles expanded view rounded
  Update the manage button to the new style
2021-05-20 19:54:53 +00:00
Mady Mellor
3952307a8c Merge "Bubbles styling: flyout changes" into sc-dev 2021-05-19 18:28:10 +00:00
wilsonshih
fdc3630b6a Consolidate the starting surface icon size to framework
Let the icon size can be read accorss Launcher and WMShell.
Devices can overlay these values if needed.

Bug: 177264697
Test: Manual verify icon size on splash screen.
Change-Id: Ia9f76cd3f4a9869ae2966d59d9204e4df94119e5
2021-05-19 19:27:21 +08:00