Commit Graph
14 Commits
Author SHA1 Message Date
Vinit Nayak 23aa129016 Force initialize task stack callback for gesture modes on init
This handles an edge case where RotationTouchHelper#mMode starts as 3 button (by default)
* then changes to gesture nav.
* then onDestroy called
* then on re-initialization mMode will be gesture nav instead of 3-button
(it maintains state because of it being singleton).

The check to register the callback won't happen because we register only if previous mode and
current mode differ.
Don't rely on default value of mMode being 3 button when initializing

Bug: 181928969
Test: Followed repo steps in bug.
Restarted phone in all 3 nav modes and verified
expected quickswitch behavior

Change-Id: I381eba7417c4cde593edf4b9a34da55b50774e98
2021-05-27 19:01:09 -07:00
Tracy Zhou f833ecebfa Notify when quickstep gesture starts
Fixes: 182500083
Test: manual
Change-Id: I1ab27b309c0dd2640add1aa83566acee20708a3a
2021-05-19 22:09:44 -07:00
Winson Chung 35226124e3 Removing some unused logs
Fixes: 185820525
Fixes: 177316094
Fixes: 158017601
Fixes: 180915942
Change-Id: I8ce5bde08e1728d3209762c5f061245386408825
2021-05-07 20:52:33 -07:00
Sunny Goyal 19ff728b92 Adding support for determining split layout for launcher.
> Simulating the windo wmanager API to get available device
  profiles until final API
> When a device has multiple internal displays, and with both
  tablet and phone possibilities, it uses a split workspace layout

Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe
2021-05-03 14:48:28 -07:00
Vinit Nayak 3f6c3e134f Initialize RotationTouchHelper with RecentsAnimationDeviceState ctor
Added logs to debug why multiple instances of RotationTouchHelper
are being created to begin with.
Ran labtest on CF, passes.

Fixes: 177316094
Change-Id: Ibb980980c61965f456a84a9d85a72ec4ec6e0b19
2021-04-26 15:17:07 -07:00
Alex Chau fd6d942220 Pass WindowContext to DisplayInfoChangeListener
- WindowContext (or updated DisplayContext for Pre-S) contains updated Resources to be used for the listener

Fixes: 181215299
Fixes: 176656141
Test: Swap between large/small screen, large sreen UI is seen
Test: Swap between font size, launcher icon text is updated
Test: Start secondary home
Test: Repeat the above tests with Utilities.ATLEAST_S hardcoded to false
Change-Id: Ib33025ac0276c84fe2b3213e9946721e5988e3da
2021-04-23 19:14:20 +01:00
Sunny Goyal 35c7b19fa8 Using WindowContext for listening to configuration changes
Pre-S: Continue to use config-changed broadcast for configuration changes
and display-changed event for rotation changes
S+: Use WindowContext#componentCallbacks for config and rotation changes, and
continue to use display listener for frame-rate changes

Bug: 179308296
Test: Manual and presubmit
Change-Id: I533e69068b5fa6c052a02759ef309dd075ee6a4b
2021-04-22 00:23:02 -07:00
Vinit Nayak 08f3d4d675 Revert "Make RotationTouchHelper singleton to report single rotation state"
This reverts commit d8ad6b25f4.

Reason for revert: b/185382799, b/185383656

Change-Id: Ie500fd5c4f2937df56fbd8afe5556f1a71b90d87
2021-04-15 01:50:02 +00:00
Vinit Nayak d8ad6b25f4 Make RotationTouchHelper singleton to report single rotation state
Multiple instances of RotationTouchHelper were being
created and reporting conflicting and incorrect information
to sysui for current quickswitch state.

Bug: 183897242
Test: Ensure quickswitch gestures work as expected.
Change-Id: Ia8716f2b597033e9e81291e0b4490119c30ad972
2021-04-13 09:35:23 -07:00
Sunny Goyal fd58da6a75 Wrapping display properties in a wrapper class
This would allow us to support gestures on multiple-displays

Change-Id: I8f426bbdf04520f4189cadce2bde6aab4933c8d9
2020-08-12 13:43:56 -07:00
Winson Chung fc6c42107d Update state and touch region after one handed overlay changed
The matrix for overall modes x state changes:
-----------------------------------------------------
   Mode     |      State changed     | *Before|*After
-----------------------------------------------------
  OneHanded |  Portrait->Landscape   |  80dp  |  32dp
  OneHanded |  Landscape->Portrait   |  32dp  |  80dp
-----------------------------------------------------
  OneHanded |  Disable->Enable       |  32dp  |  32dp
 (Landscape)|  Enable->Disable       |  32dp  |  32dp
-----------------------------------------------------
  OneHanded |  Disable->Enable       |  32dp  |  80dp
 (Portrait) |  Enable->Disable       |  80dp  |  32dp
-----------------------------------------------------
  NO_BUTTON |  Portrait->Landscape   |  32dp  |  32dp
  NO_BUTTON |  Landscape->Portrait   |  32dp  |  32dp
  2 BUTTON  |  Portrait->Landscape   |  48dp  |  48dp
  2 BUTTON  |  Landscape->Portrait   |  48dp  |  48dp
  3 BUTTON  |  Portrait->Landscape   |  48dp  |  48dp
  3 BUTTON  |  Landscape->Portrait   |  48dp  |  48dp
-----------------------------------------------------
* dimen : navigation_bar_gesture_height

Test: adb bugrepot | grep mOneHandedModeRegion
Test: manually triger one handed
Test: atest WindowInsetsBehaviorTests
Test: atest com.android.launcher3.memory.MemoryTests
Test: flake -once
Test: rnlot -t com.android.launcher3.memory.MemoryTests
Bug: 157958539
Bug: 159183864

Change-Id: I19755938c3c93eb59a9f621af5722f5679c1da14
(cherry picked from commit 70b5ca2505)
2020-07-21 09:59:44 -07:00
Tony Huang a0dfbff96a Enable one-handed mode gestural in QuickStep
Handling swipe-down/swipe-up gestural in device bottom area
for one-handed mode

1) The regsion is larger than gesture navigationbar view
2) One handed gestural in quickstep only active on NO_BUTTON, TWO_BUTTONS mode
3) One handed gestural only support on portrait mode

Bug: 150747547
Bug: 154189137
Bug: 156988988

Test: make and install
Test: manual enable one handed mode and swipe down to trigger
Test: manual start one handed and rotate device

Change-Id: I7b2447bfb2fe4082c95176b62934b98077b84920
(cherry picked from commit 7d375e31fe)
2020-07-21 09:59:43 -07:00
Winson Chung 00850fb588 Create a new instance of rotation touch helper per device state
Change-Id: I4e4288eaf37aab5bf0b8115f5e06e64459c20f00
2020-07-20 13:57:56 -07:00
Vinit Nayak 0affd89031 Move rotation logic to RotationTouchHelper
No functional changes.

Fixes: 159764370
Change-Id: Ie7739a62242377bda69c86bd46e24d2f847f17e0
2020-07-15 22:03:14 -07:00