Commit Graph

596 Commits

Author SHA1 Message Date
vadimt
a083937276 SysUIShared wrapper for jank instrumentation
Test: naking sure Launcher can call init()
Bug: 169220800
Bug: 169220955
Bug: 169221267
Bug: 169220924
Bug: 169220843
Change-Id: Ife09c05d5fec1dd005998a8bf1f27fd878daf76c
2020-09-25 18:03:27 +00:00
TreeHugger Robot
f2a595df2f Merge "Remove legacy involveSplitScreen API" 2020-09-25 01:44:10 +00:00
Bill Lin
3bd60e6cef Re-landing Decouple systemui shared componements from PipController(8/N)
1) Add PipAppOpsListener, PipMediaController,PipMenuActivityController
   in WMShellModule scope, and provided by dagger
2) Move system/task listeners/callbacks to WMShell
3) Refactor tv/PipController
4) Create WindowManagerShellWrapper for WMShell features
   (Separate from WindowManagerWrapper)
5) Remove WindowManagerWrapper.setPipVisibility to adapt new approach
6) Hook dump throught WMShell
7) Decouple SysUI DeviceConfigProxy(Wrapper), use DeviceConfig instead

Bug: 161118569
Bug: 165793553
Bug: 168715160
Fixes: 166181820

Test: make SystemUI
Test: make ArcSystemUI
Test: make WMShellUnitTests
Test: lunch aosp_tv_arm-userdebug & make
Test: atest CtsSystemUiTestCases:BasicPipTests
Test: atest CtsSystemUiTestCases:CustomPipActionsTests
Test: atest CtsSystemUiTestCases:FlickerPipTests
Test: atest CtsSystemUiTestCases:PipNotificationTests
Test: atest SystemUITests
Test: atest WMShellUnitTests
Test: manual test PIP demo AP
Test: manual test TV PIP function
Test: manual test disabled PIP
Test: adb shell input keyevent 171(KEYCODE_WINDOW)
Test: adb shell am start -n android.systemui.cts.tv.pip/.PipTestActivity
          -a android.systemui.cts.tv.pip.PipTestActivity.enter_pip
Test: adb shell dumpsys activity service com.android.systemui
Change-Id: Ic64e1de4a87d8722764a44257293e89babe4878f
2020-09-24 14:54:59 +08:00
Jerry Chang
50d7af9763 Remove legacy involveSplitScreen API
The onSplitScreenInvoked was used to notify system ui to reset the
divider position before entering split screen. With
SplitScreenTaskOrganizer, WM Shell library could know the exact time
when entering/leaving split screen mode now, so removes the API and
deals with the divider bar position in WM Shell library scope directly.

Resets mRatioPositionBeforeMinimized when dismission split screen since
the informaiton is no longer needed, it will leverage the creation flow
of DividerVew to assign the default target to the new divider bar.

This change will also make sure to reset the divider bar target even
when users are not triggering split screen from recents app shortcut.

Fix: 168869136
Test: atest WMShellUnitTests
Test: atest SystemUITests
Test: manual check the split screen behavior
Change-Id: Icd84a8c1559d0f5f0f99b22445410112fa517efe
2020-09-24 10:26:56 +08:00
Greg Kaiser
a6d1e20774 Revert "Decouple systemui shared componements from PipController..."
Revert "Decouple systemui shared componements from PipController..."

Revert submission 12500984-WM-Shell-PIP-migration-8

Reason for revert: Suspect for b/168701961
Reverted Changes:
Ib41f203f2:Decouple systemui shared componements from PipCont...
I4862508a6:Decouple systemui shared componements from PipCont...

Exempt-From-Owner-Approval: Revert to address a P0
Change-Id: I8ef9840610ec8dd8a65c14c617b7ba190cec277d
2020-09-16 17:21:26 +00:00
Bill Lin
2fd465d6d5 Decouple systemui shared componements from PipController(8/N)
1) Add PipAppOpsListener, PipMediaController,PipMenuActivityController
   in WMShellModule scope, and provided by dagger
2) Move system/task listeners/callbacks to WMShell
3) Refactor tv/PipController
4) Create WindowManagerShellWrapper for WMShell features
   (Separate from WindowManagerWrapper)
5) Remove WindowManagerWrapper.setPipVisibility to adapt new approach
6) Hook dump throught WMShell
7) Decouple SysUI DeviceConfigProxy(Wrapper), use DeviceConfig instead

Bug: 161118569
Bug: 165793553
Fixes: 166181820
Test: make SystemUI
Test: make ArcSystemUI
Test: make WMShellUnitTests
Test: lunch aosp_tv_arm-userdebug & make
Test: atest SystemUITests
Test: atest WindowManagerShellTests
Test: atest WMShellUnitTests
Test: adb shell input keyevent 171(KEYCODE_WINDOW)
Test: manual test Pip demo AP
Test: adb shell dumpsys activity service com.android.systemui
Change-Id: I4862508a664023242565ff741f1bde5e1b05c8b7
2020-09-16 12:11:08 +08:00
Winson Chung
30931373de Merge "Remove sysui from having to manually notify pip visibility" 2020-09-09 16:29:15 +00:00
Winson Chung
8e51146233 Remove sysui from having to manually notify pip visibility
- Set directly from the system when we enter/leave pip so there's
  no chance this gets out of sync

Bug: 167682726
Test: adb shell input keyevent 171 (ensures this still triggers the menu)

Change-Id: I73b4c5b6faebd505bf8e17b4c817b4d600025894
2020-09-08 23:04:22 -07:00
Winson Chung
0e32990cff Allow enabling/disabling batching in BatchedInputEventReceiver
- Use the batched receiver when handling back only after the
  gesture is recognized (fewer updates)
- Remove some unused code

Bug: 167732711
Test: Back gesture still works
Change-Id: I2b12574a4d6c7f997a8cdc70825ef1bd03669fd8
2020-09-08 18:46:08 +00:00
TreeHugger Robot
501e75e878 Merge "Adding a util to extract Context.getUserId()" 2020-08-11 21:44:37 +00:00
Adam Bookatz
24725c4759 Adding a util to extract Context.getUserId()
Bug: 162454040
Test: Verified that ag/12325941 builds on launcher builds
Test: atest MultiuserHostsideIntegrationTests
Change-Id: I250a9ccd354c3d025e4b26f99bc77d57c23785a0
2020-08-07 15:08:45 -07:00
Santiago Etchebehere
637d43d6c2 Merge "Add check for WallpaperEngine compatibility" into rvc-qpr-dev am: 21d93d42d9 am: 4005242363
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12329137

Change-Id: Ied4ac9ae974a35c4aa9aa80b47f7344de8088a67
2020-08-07 18:07:36 +00:00
Santiago Etchebehere
f768e865a1 Add check for WallpaperEngine compatibility
Add a method in SystemUI shared library so that WallpaperPicker
can check if resizing is available.

Bug: 163087197
Test: manually verified in earlier versions of Android 11
Change-Id: I0d4b4dfc067a63a372c1b2b0502c174df5013763
2020-08-06 18:07:39 -07:00
Tracy Zhou
c0a69f627b Add relative layer to SurfaceParams am: 6ec2f9151b am: c3773b0047 am: 624ab3931f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12131836

Change-Id: I2ddf789bad3ec08a9731838fc04ab1209868e24e
2020-07-11 18:38:39 +00:00
Tracy Zhou
6ec2f9151b Add relative layer to SurfaceParams
Bug: 160361464
Test: the added API is not called
Change-Id: Ie4b90d8747a6183f91c114cf7d32ab7933b3cb28
2020-07-11 00:48:39 -07:00
Winson Chung
b7e27a6598 Merge "Tweaking workaround to use fallback with null buffer" into rvc-dev am: 5be32a1c11
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12100099

Change-Id: Ice79c30eeb522ff47191feb8d4f1f20c57a6d995
2020-07-08 03:03:19 +00:00
Winson Chung
69aebfc9ec Tweaking workaround to use fallback with null buffer
- This case still shouldn't ever happen, but we're still
  getting crashes. It looks like the call to wrapHardwareBuffer
  will always create a hw buffer even if the graphic buffer
  is null, and the internal call to wrap the hw buffer may
  not have the flags if a null buffer is provided.

Bug: 157562905
Test: Haven't been able to reproduce
Change-Id: Ia61809a4dc53317139446d099cfa262c095d2aea
Merged-In: Ia61809a4dc53317139446d099cfa262c095d2aea
2020-07-07 23:55:23 +00:00
Winson Chung
e18aa866fb Tweaking workaround to use fallback with null buffer
- This case still shouldn't ever happen, but we're still
  getting crashes. It looks like the call to wrapHardwareBuffer
  will always create a hw buffer even if the graphic buffer
  is null, and the internal call to wrap the hw buffer may
  not have the flags if a null buffer is provided.

Bug: 157562905
Test: Haven't been able to reproduce
Change-Id: Ia61809a4dc53317139446d099cfa262c095d2aea
2020-07-07 21:38:45 +00:00
Tracy Zhou
0525e73927 Add setRelativeLayer to TransactionCompat am: 972ace00d0 am: e0ba52c77d am: a466a6afa1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12089062

Change-Id: I3d54d0548c46a00af2a37b0e0de47b4d2e4dc793
2020-07-06 22:09:30 +00:00
Tracy Zhou
972ace00d0 Add setRelativeLayer to TransactionCompat
Bug: 160361464
Test: N/A
Change-Id: Ib1931cc52511ad0a27b580ac8431facf34dbb48d
2020-07-06 19:58:01 +00:00
Nikolas Havrikov
24b3591d95 Use ParceledListSlice in a generic manner
Test: built locally

Change-Id: Ib5bc0227f198e7b3c416e8beb423e3541e37f358
2020-06-30 13:36:04 +02:00
Winson Chung
2a28c02401 Merge "Workaround for crash from invalid snapshot" into rvc-dev am: 10250f67f1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11897368

Change-Id: I752ac36e9330e8cbe35db1c6f17a63edf410d4b6
2020-06-18 18:10:30 +00:00
Winson Chung
10250f67f1 Merge "Workaround for crash from invalid snapshot" into rvc-dev 2020-06-18 17:56:24 +00:00
Winson Chung
c8ba260b4d Workaround for crash from invalid snapshot
- wrapHardwareBuffer will throw an illegal argument exception when
  the buffer doesn't have this flag, but it's not clear how this
  happens yet because all the buffers should be from surface flinger
  snapshots...

Bug: 157562905
Test: Manual
Change-Id: I48be367d8aafb3e17f11a73a73432617a247c0dd
Merged-In: I48be367d8aafb3e17f11a73a73432617a247c0dd
2020-06-18 16:33:24 +00:00
Winson Chung
c1b9c1787c Merge "Workaround for crash from invalid snapshot" 2020-06-18 16:32:50 +00:00
Ady Abraham
5173ddf9f4 Merge "WM: Replace eEarlyWakeup flags with explicit eEarlyWakeup start and end flags" into rvc-dev am: 278f00319f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11852824

Change-Id: I7e5a8d2b1007bc37a88e72d4552bcf53d2012807
2020-06-18 14:46:50 +00:00
Ady Abraham
5068b95c40 Merge "WM: Replace eEarlyWakeup flags with explicit eEarlyWakeup start and end flags" into rvc-dev am: 278f00319f am: 66bab75ea1 am: e212052243 am: 2a57fdcd37
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11852824

Change-Id: I8c15fa26c30c3eabd39e73eba45ec50211bee740
2020-06-18 05:44:09 +00:00
Ady Abraham
e212052243 Merge "WM: Replace eEarlyWakeup flags with explicit eEarlyWakeup start and end flags" into rvc-dev am: 278f00319f am: 66bab75ea1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11852824

Change-Id: I19c91a7b9d2229f1fd95d58182cd1060d75cf060
2020-06-18 05:11:37 +00:00
Winson Chung
428c17f443 Workaround for crash from invalid snapshot
- wrapHardwareBuffer will throw an illegal argument exception when
  the buffer doesn't have this flag, but it's not clear how this
  happens yet because all the buffers should be from surface flinger
  snapshots...

Bug: 157562905
Test: Manual
Change-Id: I48be367d8aafb3e17f11a73a73432617a247c0dd
2020-06-18 03:25:12 +00:00
Vishnu Nair
2ed39d82db WM: Replace eEarlyWakeup flags with explicit eEarlyWakeup start and end flags
eEarlyWakeup flag is used as a hint to SurfaceFlinger to adjust its
offsets so it can wakeup earlier and have sufficient time to compose
more complex scenes.

This flag has been replaced with explicit start and stop flags which
ensure the SurfaceFlinger offsets remain consistent during animation.

Bug: 158127834
Test: go/wm-smoke
Test: systrace to verify new tracepoint and offset behavior

Change-Id: Ib9c35c01a6bf02f88ec7cb1778e01909bd2f9055
2020-06-17 23:10:30 +00:00
TreeHugger Robot
f831a19897 Merge "Adding blur supported check to shared lib" into rvc-dev am: 7775314ff8 am: 38c9217417 am: 7afe8b7368 am: 933a38112c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11844114

Change-Id: I37379701ee0f6fde7a25cd49ad1e0998a45caff1
2020-06-12 18:43:11 +00:00
TreeHugger Robot
38c9217417 Merge "Adding blur supported check to shared lib" into rvc-dev am: 7775314ff8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11844114

Change-Id: I25a754c1507a879f498544361e78f64cea453375
2020-06-12 18:07:47 +00:00
TreeHugger Robot
61853300a2 Merge "Add expand notification panel API to ISystemUIProxy" 2020-06-12 06:43:52 +00:00
Winson Chung
f9ef08d7ff Adding blur supported check to shared lib
Bug: 157946272
Test: Manual
Change-Id: I4b8b63e9096d27a06896058b41c8e2cec271dd0d
2020-06-11 23:10:34 -07:00
Tony Huang
652ad3d4b7 Merge "Align PiP animation and touch on vsync-sf" into rvc-dev am: 79f93b02f2 am: 63a470fcd9 am: a29e8cb1a1 am: 0c93bff3c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11653259

Change-Id: Ic55f24c04296022501fa4c8397a20cacea7d6a83
2020-06-11 05:22:04 +00:00
Tony Huang
63a470fcd9 Merge "Align PiP animation and touch on vsync-sf" into rvc-dev am: 79f93b02f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11653259

Change-Id: I80ab1b281a7d4439357fcf72b2c1e41844b14ba1
2020-06-11 04:46:34 +00:00
Tony Huang
4b8795d560 Align PiP animation and touch on vsync-sf
Align animation and touch on vsync-sf to reduce jank

Bug: 157470918
Test: Enter PiP and move it
Test: atest PipAnimationControllerTest
Change-Id: I75506bb87a5e5b9a4d2f94c0a92e0a3fa25e060f
2020-06-10 11:53:34 +08:00
Jerry Chang
8a15834923 Add expand notification panel API to ISystemUIProxy
Bug: 154080211
Test: make and install
Test: manual disable one handed mode and swipe down to trigger
Test: verified the gesture works even outside of home page
Change-Id: I503224685d229bf45a998afdb1db836342f48b58
2020-06-09 21:12:23 +08:00
Automerger Merge Worker
cc84f81eee Merge "Merge "Pass displayId to onActivityRotation()" into rvc-dev am: 2983b70983 am: 7309578767 am: e0ddf1d34f" into rvc-qpr-dev-plus-aosp am: f709fd9fc3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11745487

Change-Id: I7107612fed72444fb71562e241fd8b6a08014dae
2020-06-05 19:58:15 +00:00
Vinit Nayak
7309578767 Merge "Pass displayId to onActivityRotation()" into rvc-dev am: 2983b70983
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11745487

Change-Id: I0405b1730a4591b0626b5f36ff833c88d00ac142
2020-06-05 19:10:33 +00:00
Vinit Nayak
bedb9f33c2 Pass displayId to onActivityRotation()
Bug: 154580671
Change-Id: I220e1e9ac1a381c6ebadc3849a393225d1f53e3e
2020-06-04 17:15:32 -07:00
Vinit Nayak
cf040d067f Merge "Add new callback for when activity rotates" into rvc-dev am: 38dbc97939 am: b0d73832e3 am: 8e8e0347d1 am: 6ac75ea8b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11396809

Change-Id: Ie1e341220ed6c0a1a9e37c4e41fa4c64b2efeb2b
2020-06-04 05:39:52 +00:00
Vinit Nayak
b0d73832e3 Merge "Add new callback for when activity rotates" into rvc-dev am: 38dbc97939
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11396809

Change-Id: I16d2689f35a21899955b9913e34c373d2a2954b6
2020-06-04 04:33:03 +00:00
Zak Cohen
7e1ceb2f60 resolve merge conflicts of 2e8946bbc0 to master
Change-Id: I0f4b0420299781ac1ddd962749018ea418ef22eb
2020-06-04 04:23:10 +00:00
Vinit Nayak
38dbc97939 Merge "Add new callback for when activity rotates" into rvc-dev 2020-06-04 04:21:10 +00:00
Zak Cohen
d3e144c0ea Merge "Screenshot - pass bitmap as bundled hardware buffer from Launcher" into rvc-dev am: 4fdd3c8e34 am: 9db7e97167
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11711139

Change-Id: I0178a9ca9550a644bc10b33d674ad31d31b7d6ac
2020-06-04 03:42:06 +00:00
Zak Cohen
2af5cb6b1c Merge "Screenshot - pass bitmap as bundled hardware buffer from Launcher" into rvc-dev am: 4fdd3c8e34
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11711139

Change-Id: I367032d906c1df667c05fc10fcbbed02dcadeff9
2020-06-04 03:23:08 +00:00
Zak Cohen
4cfb590a28 Screenshot - pass bitmap as bundled hardware buffer from Launcher
When passing a screenshot from Launcher to Sysui it should be passed
as a hardware buffer inside a bundle to avoid copying the underlying pixels.

Change also adds userid and component when a screenshot is passed.

Bug: 157380566
Bug: 156757117
Test: local
Change-Id: I531f1d1a41d179a257fe7202b68a6d1a78cc0f79
2020-06-03 16:09:57 -07:00
Sunny Goyal
935dd029de Merge "Using inline definition of FrameDrawingCallback instead of lambda as it fails on some devices" into rvc-dev am: a38a553c16 am: b5e88fa694 am: a139078e46 am: 9b78a20510
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11707942

Change-Id: If46e2e8a5e40795a98e68cb24305db3be3d6cb7d
2020-06-03 20:58:56 +00:00
Sunny Goyal
b5e88fa694 Merge "Using inline definition of FrameDrawingCallback instead of lambda as it fails on some devices" into rvc-dev am: a38a553c16
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11707942

Change-Id: I179eea27f4ab2003faf32227972747734067acae
2020-06-03 20:23:10 +00:00