Commit Graph
193 Commits
Author SHA1 Message Date
Sebastián Franco e1d31e5406 Revert "Revert "Moving DeviceProfile properties into DevicePrope..."
Revert submission 33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Reason for revert: Error is fixed

Reverted changes: /q/submissionid:33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Change-Id: Ib86824134955903c11e51e52dbfd6368aba1cd50
2025-05-23 14:08:11 -07:00
Priyanka Advani (xWF) 7705e92d93 Revert "Moving DeviceProfile properties into DeviceProperties da..."
Revert submission 33672643-DataDeviceProfile1

Reason for revert: Droidmonitor created revert due to b/419867875. Will be verifying through ABTD before submission.

Fix: 419867875

Reverted changes: /q/submissionid:33672643-DataDeviceProfile1

Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
2025-05-23 13:53:04 -07:00
Sebastian Franco e1111e28c2 Moving DeviceProfile properties into DeviceProperties data class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I638f88cd76b926917965dbf9e70b5bdfff5971e0
2025-05-23 10:42:26 -07:00
Lucas Dupin 66923a912c Merge "Add recents position callback to SystemUiProxy" into main 2025-05-21 23:11:59 -07:00
Lucas Dupin 02c6fd6604 Add recents position callback to SystemUiProxy
Flag: com.android.systemui.enable_underlay
Test: atest AmbientCueRepositoryTest
Test: atest AmbientCueInteractorTest
Test: atest AmbientCueViewModelTest
Test: atest TaskbarNavButtonControllerTest
Bug: 415914274
Bug: 415914083
Change-Id: Ie6c7412d3bbc9cd64e4c9993db47821962e1b1fc
2025-05-21 14:04:18 -07:00
Cosmin Băieș cba51f4023 Merge "Remove canImeRenderGesturalNavButtons and sysprop" into main 2025-05-20 03:41:58 -07:00
Johannes Gallmann 76621e0972 Remove haptics for long presses in 3-button-nav
This CL removes haptics for long presses on 3-button-nav buttons, except
when the long press triggers a user visible action.

This means that for example the haptics for long pressing the recents
button are removed, whereas haptics for long pressing the home button
remain active since that launches circle-to-search.

Bug: 408968370
Test: Manual, i.e. verified that no haptic feedback is played when
      long pressing the recents button
Flag: EXEMPT bugfix
Change-Id: Icfeade8a659a8aa4882ef139696c66f410980303
2025-05-12 15:35:57 +00:00
Vinit Nayak 208b999445 Merge "Disable taskbar nav buttons when split layout animations are running" into main 2025-05-06 12:25:24 -07:00
Vinit Nayak e184a22786 Disable taskbar nav buttons when split layout animations are running
* There are race conditions and weird breakages when
we try to go to home/recents while split apps are being
animated so we disable for now.

Test: Manual
Bug: 391894192
Flag: EXEMPT bugfix
Change-Id: I0350a5124d72fab9d98f81d6ab5369bd790c16b1
2025-05-05 17:23:31 -04:00
Pat Manning 9ee290e81f Cancel ongoing dismiss animation when Launcher state changes.
Fix: 410744889
Test: Manual
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I5e81de6762e7d0ea47f8574599901aac1bb8bb77
2025-04-28 10:27:29 +01:00
Cosmin Băieș 7dedaeb255 Remove canImeRenderGesturalNavButtons and sysprop
This method, and the corresponding system property
persist.sys.ime.can_render_gestural_nav_buttons were originally added
in [1], just before starting the implementation of gesture navigation
handling for IMEs. These were meant to serve as a feature flag,
initially turned off, and later permanently enabled.

This removes the sysprop and the code path handling it being disabled.

  [1]: I7a2e9f08072a97d61b78dddb144282a5728d1407

Flag: EXEMPT refactor
Bug: 281029564
Bug: 411106486
Test: atest InputMethodServiceTest#testShowHideImeNavigationBar_doesDrawImeNavBar
  InputMethodServiceTest#testShowHideImeNavigationBar_doesNotDrawImeNavBar
  InputMethodServiceTest#testBackButtonClick
  InputMethodServiceTest#testBackButtonLongClick
  InputMethodServiceTest#testImeSwitchButtonClick
  InputMethodServiceTest#testImeSwitchButtonLongClick
Change-Id: I94e2fb280a1dac130596d7f4e344d83cfc12b70e
2025-04-17 15:07:20 +02:00
Treehugger Robot 6b8aba0abb Merge "[CD Taskbar] Fix - Unlock/Lock Removes Recents button + icons" into main 2025-04-07 15:33:50 -07:00
Sukesh Ram cd50c6fd9f [CD Taskbar] Fix - Unlock/Lock Removes Recents button + icons
The SYSUI_STATE_OVERVIEW_DISABLED is being incorrectly set for non-primary displays. Override this behavior on taskbar level for non-primary displays & track the sysUI side fix via b/409075366.

Bug: 408478776
Flag: com.android.window.flags.enable_taskbar_connected_displays
Test: m
Change-Id: Ie93d576dc525e80a8bc1e59dbcefa02b2e50591d
2025-04-07 13:02:57 -07:00
Saumya Prakash 830ceb6565 Merge "Don't translate the back button if home button is showing for lockscreen" into main 2025-04-07 11:59:39 -07:00
Saumya Prakash b2e46eafc8 Don't translate the back button if home button is showing for lockscreen
The back button would get translated to the edge of the screen in
lockscreen apps. This was fine but now that the home button is shown in
these apps, they would overlap. This change prevents the back button
from translating to the edge of the screen when the home button is shown
in certain screens when the device is locked.

Fix: 406104663
Test: Enable 3 button nav and open lock screen apps/ emergency page on
large screen device. Observe that the buttons don't overlap anymore.
Flag: EXEMPT bugfix

Change-Id: Ibb963c1a62de80a990f223797d37a0a5ee294a90
2025-04-04 17:34:34 +00:00
Saumya Prakash f0ab519440 Merge "Ensure the back button is visible in SUW for simple view" into main 2025-04-01 10:28:55 -07:00
Saumya Prakash 699be36c9b Ensure the back button is visible in SUW for simple view
Simple view is meant to provide an easier setup experience and this
means that the back button must be visible in SUW, even if the new
design choice is applied. This change adds a caveat to enable the back
button for this situation.

Fix: 396559615
Test: Enable/Disable simple view with the new theme applied and observe
the back button appear/disappear
Flag: EXEMPT bugfix

Change-Id: Ic58b5d87b2d0670c468222098a53293ae27b0206
2025-03-31 23:38:01 +00:00
Johannes Gallmann 2fb39cf4f2 Merge "Play haptic on ACTION_DOWN for 3-button-nav buttons" into main 2025-03-27 23:48:51 -07:00
Johannes Gallmann 528bf70f61 Play haptic on ACTION_DOWN for 3-button-nav buttons
Bug: 393959400
Test: Manual, i.e. verified that haptic happens on ACTION_DOWN and on
      long press (except for back button which doesn't have a haptic on
      long press). Also verified that Talkback works.
Flag: EXEMPT bugfix
Change-Id: Ieb1892d69268d0bfba0ead9ec38c8ee9843addef
2025-03-26 16:44:45 +01:00
Johannes Gallmann 3db6f288a3 Fix back button not reacting to accessibility actions (2)
This line was accidentally not put behind the flag in the last CL.

Bug: 403184586
Test: Manual, i.e. verified that back button is clickable with TalkBack
      enabled. Also verified no regressions in kids themed taskbar.
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: Ia495e3f25e0c15815cb8d26254ecacfe245864a4
2025-03-20 13:20:32 +01:00
Johannes Gallmann 4d1ab3a784 Fix back button not reacting to accessibility actions
Bug: 403184586
Test: Manual, i.e. verified that back button is clickable with TalkBack
      enabled. Also verified no regressions in kids themed taskbar.
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: Ie6fd6b7d8a76cdac0389c4dd33f8cb62f689ba61
2025-03-20 09:24:27 +01:00
Johannes Gallmann e7b099efee Merge "Add 200 ms delay for predictive back animation in 3-button-nav" into main 2025-03-14 13:37:37 -07:00
Randy Pfohl 8f8cc2d700 Merge "Fix issue where we don't show home button when keygaurd is occluded by another app and is not visible" into main 2025-03-12 11:29:35 -07:00
Johannes Gallmann eb58fdaf60 Add 200 ms delay for predictive back animation in 3-button-nav
Bug: 373544911
Test: Manual, i.e. verifying that regular clicks on the back button don't trigger predictive back animations but long presses do
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: I148bae8f09fa9b6d17fd929067b02175882115a3
2025-03-12 07:43:41 +00:00
Randy Pfohl 12148f13d2 Fix issue where we don't show home button when keygaurd is occluded by another app and is not visible
Flag: None fixing regression

Test: built and ran locally, verified home button is showing in the
proper scenarios.

Bug: 376851989

Change-Id: Ifcc6c5e41135a7e67aa20c18efac34af32b71e15
2025-03-12 00:21:51 +00:00
Johannes Gallmann b44c55a6a1 Fix back button touch region too small
The back button in 3-button-nav touch region was unintentionally
decreased with the predictive_back_three_button_nav flag. The reason is
that NearestTouchFrame did not consider the back button for its touch
forwarding logic, because the back button did not have isClickable set
to true. Manually setting the clickable attribute fixes that.

Bug: 393498908
Test: Manual, i.e. verified that touches close to back button are not routed to the home button
Flag: EXEMPT bugfix
Change-Id: I7ad1ee13f92aa947f1a86f8d65de79a9d9e13899
2025-03-11 08:11:05 +00:00
Saumya Prakash 44daae3c06 Merge "Remove back button and enable back gesture on SUW" into main 2025-02-06 18:06:47 -08:00
Saumya Prakash f6496357e2 Remove back button and enable back gesture on SUW
According to new spec, for devices that have a different theme, Setup Wizard
should no longer have the back button, and instead should use the back
gesture in between screens.

Fix: 349495243
Flag: EXEMPT bugfix
Test: Set the System property for setup wizard device theme to be expressive. Rerun setup wizard and ensure the back button doesn't show up and the back gesture works. For the existing theme, the behavior should remain unchanged.

Change-Id: I6b8e95f4eeecdf7422c9f1c099b30a4fc2d2fd12
2025-02-06 22:17:46 +00:00
Cosmin Băieș 18721bf550 Rename BACK_ALT flag to BACK_DISMISS_IME
The NAVIGATION_HINT_BACK_ALT flag was originally introduced in [1],
alongside a few other flags which affected the navigation bar buttons.
The other flags were eventually removed in [2], leaving only this.
Unfortunately, the flag name is not very explicit, and it lacks clear
documentation.

This redefines the flag as BACK_DISMISS_IME, representing whether the
back button is visually adjusted to indicate that it will dismiss the
IME when pressed.

  [1]: Ie64369e3df3178178f35b56763ea96d380b6ddd4
  [2]: Ifd1f8c9f400d90542f0ca858b9a4deacabbd518a

Flag: EXEMPT refactor
Bug: 366129400
Test: n/a
Change-Id: Ida655a61b2477109e233fc62776e31d17698e2ce
2025-01-27 10:43:29 +01:00
Cosmin Băieș f90ebe5f70 Don't show both the IME Switcher and A11Y buttons
The IME Switcher shares the same spot with the accessibility button on
the navigation bar. In the previous implementation of the NavigationBar,
if the a11y button is visible, the IME Switcher button would not be.

With the recent unification of the navigation bar and the taskbar, both
buttons could be made visible at the same time. This fixes the taskbar
logic to only show the IME Switcher button when it should be visible and
the a11y button is not visible. This logic is only applied on phone
mode, the only case where the buttons overlap.

Flag: EXEMPT bugfix
Bug: 378803994
Test: switch to 3 button nav, show accessibility shortcut and dock it to
  the navigation bar, show the IME with at least two keyboard langauges,
  observe that only a11y button becomes visible
Change-Id: Ifc082d51e02d74f7dbf4516814121b67c0a6aa1a
2025-01-27 10:43:27 +01:00
Cosmin Băieș 1787eda528 Propagate IME back disposition state to SystemUI
Previously the navigation bar and taskbar were incorrectly using the
back dispositon state as the source of truth for the IME visibility.
While this can only be set while the IME is visible, it can (and is)
also unset despite the IME still being visible. This was fixed in [1].

While the taskbar previously did not take into account the back
dispositon state, by the IME visibility changing, the rotation of the
back button would also change, leading to an equivalent state. However,
with the fix from [1], this would no longer happen, with one scenario
being showing the IME and then the IME swithcer menu, which temporarily
unsets the back disposition mode while the menu is visible.

This propagates the back disposition state to SystemUI, so taskbar can
respond to changes in this value, rather than in the IME visibility.

  [1]: Ic57cea49f5ff49132802083b4f0c9b0e82db1cf7

Flag: EXEMPT bugfix
Test: switch to 3 button nav, show IME, show IME Switcher menu,
  observe back button rotation
  atest NavigationBarTest#testSetImeWindowStatusSysuiState_ImeVisibleImeSwitcherButtonVisible
  NavigationBarTest#testSetImeWindowStatusSysuiState_ImeVisibleImeSwitcherButtonNotVisible
  NavigationBarTest#testSetImeWindowStatusSysuiState_ImeNotVisibleImeSwitcherButtonVisible
  NavigationBarTest#testSetImeWindowStatusSysuiState_ImeVisibleBackDispositionAdjustNothing
Bug: 366129400
Change-Id: Ib05f9263afb754724021b5f3e48520eff5dad398
2025-01-25 01:18:11 +01:00
Cosmin Băieș e05eaa3cf0 Rename IME_SHOWN states to IME_VISIBLE
This renames the SysUI states related to the IME and IME Switcher button
visibility from "shown" to "visible", to maintain consistency.

Flag: EXEMPT refactor
Bug: 366129400
Test: n/a
Change-Id: I45219e62b633ca984de98df43f5c238604b38109
2025-01-25 01:18:11 +01:00
Cosmin Băieș ee04a3e0fd Remove unused FLAG_ROTATION_BUTTON_VISIBLE
The code related to this flag was removed in [1], but the flag
declaration, and two no-op usages were left over.

  [1]: I1de7fa061a6c6aba9f949a0bcf8cfced84273e3f

Flag: EXEMPT cleanup
Test: n/a
Bug: 366129400
Change-Id: If3d0751e0a9035ba8b0c66250df9339856788171
2025-01-25 01:18:11 +01:00
Cosmin Băieș 0703d614e0 Clarify state names for IME Switcher button
We had a few instances of properties referencing the IME Switcher or its
visibility, when in fact this was related to the button, not the menu.

This clarifies the names for these states, as well as adding some
documentation around where these values are used/passed.

Flag: EXEMPT bugfix
Bug: 366129400
Test: n/a
Change-Id: I962a9c3e1b0686d51e90a86e70fdf21b3b625e58
2025-01-15 16:55:19 +01:00
mpodolian 3e419ebbf1 Remove usage of the enableBubbleBarInPersistentTaskBar flag.
Remove and merge the usage of the enableBubbleBarInPersistentTaskBar
flag to the enableBubbleBar flag.

Bug: 383181643
Flag: com.android.wm.shell.enable_bubble_bar
Test: NONE - removed and merged flag usage.
Change-Id: I4f131e1ddf8367425b91c8fb597857ee222b75d8
2024-12-10 15:10:49 -08:00
Johannes Gallmann 200ee94279 Don't cancel or commit predictive back on multi touch in 3-button-nav
Bug: 381054861
Test: Manual, i.e. verify that tapping the taskbar while predictive back is in progress does not cancel or commit it
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: I4117aca74216849519a0cabcbd3cb14f7fc5b38f
2024-12-10 13:28:36 +00:00
Treehugger Robot d7b3369036 Merge "Ignore events that occur between app icons on the taskbar" into main 2024-11-27 20:22:17 +00:00
Johannes Gallmann b28ff34177 Cancel predictive back when sliding off back button
Bug: 373544911
Test: Manual, i.e. verified that sliding away from the back button (within the taskbar window) cancels the predictive back animation
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: I9a1448c7005211c87a8979261b13fe37ab64a5b2
2024-11-22 13:09:56 +00:00
Artsiom Mitrokhin 7205b24938 Ignore events that occur between app icons on the taskbar
Bug: 297325541
Flag: com.android.launcher3.show_taskbar_pinning_popup_from_anywhere
Test: manual, flip the flag, long-click between taskbar items
Change-Id: If2ee00f31fcd1788bac2c2c0cd78ba1eada86115
2024-11-21 16:38:32 -05:00
Johannes Gallmann 8f8d29888a Merge "Disable 3-button-nav buttons during back button hold" into main 2024-11-20 08:39:42 +00:00
Johannes Gallmann a4b56465ee Disable 3-button-nav buttons during back button hold
Bug: 373544911
Test: TaskbarNavButtonControllerTest
Test: Manual, i.e. verify that pressing buttons in 3-button-nav while the back button is pressed does not have any effect
Flag: com.android.window.flags.predictive_back_three_button_nav
Change-Id: I5abad5f2f74d09c790380a2eeb27aff3b780b925
2024-11-19 22:11:59 +00:00
Winson Chung 6dcbee5d30 Keep nav button container and back button stable during SUW
- Disable translations on both the container and back button while
  in SUW since it's aligned with SUW actions (even in the rare case
  that a user will set up device lock and then lock/unlock the screen
  to show the bouncer while in SUW)

Bug: 346923810
Flag: EXEMPT bugfix
Test: Wipe and go through SUW with device lock
Change-Id: I2d500103e8775d8cf52185d43b3b43cc518884e1
2024-11-15 23:26:52 +00:00
Johannes Gallmann bc4936fb6b Add predictive back animation for 3-button-nav
Bug: 373544911
Flag: com.android.window.flags.predictive_back_three_button_nav
Test: OverviewProxyServiceTest
Test: TaskbarNavButtonControllerTest
Test: TaskbarScrimViewControllerTest
Change-Id: I04cadc660f38e2d4541b06fcda950098a0768492
2024-11-06 11:02:13 +01:00
Sukesh Ram 99c442b015 Revert "Fix Taskbar Y-Translation with Visible Bottom Sheet"
This reverts commit d82503fc42.

Reason for revert: Introduced crashes

Change-Id: I0956f746e25ccfe655169580fd802d33f99c0652
2024-10-28 17:26:47 +00:00
Sukesh Ram d82503fc42 Fix Taskbar Y-Translation with Visible Bottom Sheet
When bottom sheet is visible, such as in SUW or when app launcher pauses, the taskbar three buttons are translated upwards clashing with SUW UI.

Flag: EXEMPT bugfix
Bug: 358532768
Test: Manual
Change-Id: I0d18bda5cb7aeae894f5058df89cc413e34c00fc
2024-10-14 23:41:38 +00:00
Sukesh Ram 9a723c8f21 Refactor Taskbar Button Coloring Code
Given the emergence of b/341190547, this CL seeks to simply refactor the code for readability to aid in investigation efforts.

Flag: EXEMPT bugfix
Bug: 341190547
Test: Manual
Change-Id: I2e42d9c9e8eebd96d4e507b6dd357d7bedcd4a30
2024-10-07 16:03:38 -07:00
mpodolian 989aa8ac83 3 button nav is laid out correctly.
Updated logic of laying out the 3 nav buttons container. Also updated
placement of the hotseat, so it is not shifted on the phone.

Test: Manual. Fold and unfold felix with and without bubbles. Reboot
the devices and perform the same test.
Fixes: 370773620
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: I7d5ba51f7ded275f7456a8690d04001b9651f6c5
2024-10-03 16:57:58 -07:00
mpodolian 26ed420173 Add teleport animation to the navigation bar.
Whenever the location of the bubble bar is changed, the navigation bar
moves with a "teleport" animation to the opposite side.

Bug: 346381754
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Test: manual. Drag bubble bar from one location to another observe that
navigation is animated to the opposite side.
Video: http://recall/-/gx8ASgewUeUS3QYohfrd1J/g3zFtGYWFpCsBTkoCAhBUH

Change-Id: I6e32bb7ff7be56a0b616fec8485cc6a97d7ac872
2024-09-27 11:30:56 -07:00
mpodolian dfb48214ea Update placement of the hotseat according to the bubble bar location.
Update the hotseat and Qsb placement according to the 3 nav buttons bar.

Test: Manual.
Set navigation mode to 3 buttons.
On launcher home screen move the bubble bar from one side to another.
Observe that the Hotseat and Qsb moving together with the navigation
bar.
Once moved the bubble bar, expand the bubble bar and collapse it.
Observe how the Hotseat is stashing and un-stashing.
After bubble bar changes position hit the recent apps button, observe
the transition.
On launcher home screen start application with the hotseat icon and exit
opened application. Observe that flying icon comes back to the correct
position in the hotseat.
Video with the above scenarios:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/blTYrKopTyufOcRoPuVpYK
Bug: 346381754
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar

Change-Id: Ic8c6acdffbbb111cbe4f3fd6bc60195578d7035d
2024-09-26 19:04:01 -07:00
mpodolian b79e1742bd Fixed the navigation bar placement on device restart.
Moved logic that adjusts the hotseat position from the constructor of
the NavbarButtonsViewController to onTaskbarLayoutChange() method that
is called from the TaskbarViewController TaskbarView layout change
listener.

Test: Manual:
Moved the bubble bar to the default right position. Rebooted the device.
Navigation bar was placed on the left side of the screen.
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Bug: 367829539

Change-Id: Ife0c48a72b318d6051b7b09bde13818546e65d98
2024-09-19 11:42:29 -07:00