Commit Graph

488 Commits

Author SHA1 Message Date
Abhishek Sharma 5f3a03f4fb feat: Add option to clear home screen in settings (#6125)
Signed-off-by: abhixv <abhi.sharma1@hotmail.com>
2026-01-10 20:51:01 +07:00
Pun Butrach 0e8b200bab fix: Just make submodule stay the same please intellj 2026-01-10 20:50:12 +07:00
Pun Butrach edfd0baad6 fix: Android 14/15 crash 2026-01-10 20:49:55 +07:00
Pun Butrach d36845897b feat: Better At-a-Glance perceptive wallpaper colour luminance detection 2026-01-10 20:49:46 +07:00
Pun Butrach 2e76c99dad fix: Conflict incoming changes from 15-dev 2026-01-10 20:49:12 +07:00
Pun Butrach 43e9ca8a7a chore: Cleanup
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:48:43 +07:00
Pun Butrach 11f7abcb66 chore: Cleanup, and hidden feature logged
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:48:25 +07:00
Pun Butrach 38f2f69c4c fix: SharedR on BubbleDismissViewExt.kt 2026-01-10 20:48:16 +07:00
Pun Butrach 0a446431eb build: SNAPSHOT 0 (Draft) 2026-01-10 20:47:59 +07:00
Pun Butrach b67168f737 Allocate insane memory just for CI
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:44 +07:00
Pun Butrach dd4a08be61 Merge tag 'android-16.0.0_r3' into 16-dev
Android 16.0.0 Release 3 (BP3A.250905.014)

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:04 +07:00
mpodolian 7d00841d44 Updated shell IPC methods
Updated shell IPC methods to display bubble bar pillow view

Bug: 411505605
Test: TreeHugger
Flag: EXEMPT - code removal
Change-Id: I27d19c041433164c1a8cb5bb403a824903bf7dbf
2025-05-30 18:03:40 -07:00
Mykola Podolian abe7f12791 Merge "Notify Taskbar and Navigation bar of the bubble bar location updates." into main 2025-05-29 21:12:21 -07:00
Mykola Podolian bd997ba791 Merge "Notify taskbar and nav bar of bubble bar location updates." into main 2025-05-29 21:12:09 -07:00
Mykola Podolian 53c3354ffa Merge "Moved DragZoneChangeListener logic to the shared package." into main 2025-05-29 17:32:17 -07:00
mpodolian 6f82248053 Notify taskbar and nav bar of bubble bar location updates.
Added logic to notify the BubbleBarLocationListener implementors on
bubble bar location updated.

Bug: 411506181
Test: DragToBubbleControllerTest
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: I51290bb6c2b35ff913a43c04db35be65b377ea03
2025-05-29 15:54:05 -07:00
mpodolian 9310212582 Notify Taskbar and Navigation bar of the bubble bar location updates.
Added logic to notify the BubbleBarLocationListeners (Taskbar and
Navigation bar) of bubble bar location animated.

Fixes: 420929193
Test: Manual. Use unfolded foldable device. Set 3 buttons navigation
mode. Go to the launcher overview screen. Create any application bubble.
Drag bubble to the opposite side of the screen - observe navigation
buttons bar updates its location with the bubble bar.
Add one more application bubble. Drag bubble from the expanded bubble
bar. Observe navigation bar position is updated with the bubble bar.
Flag: EXEMPT - bugfix

Change-Id: I2bbdcdd702141b19695480e87d6cdd456e834e11
2025-05-29 15:35:02 -07:00
Sebastian Franco 8244449a9f Moving taskbar variables in DeviceProfile to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I05ec9e15ef02096326596af4835adb706473a736
2025-05-29 11:04:06 -07:00
Liran Binyamin 0e6923dce4 Merge "Fix bar state when overflow is selected initially" into main 2025-05-28 09:33:19 -07:00
mpodolian 741dfe0683 Moved DragZoneChangeListener logic to the shared package.
Extracted logic that could be reused in the shell and Launcher to
DragToBubbleController

Bug: 411505605
Test: DragToBubbleControllerTest
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: Ie97367f9a53acd606c8a09665a5d14e4b6bebba7
2025-05-27 18:59:22 -07:00
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
Liran Binyamin 328bf4ab1c Fix bar state when overflow is selected initially
Fix the state of the bubble bar when the initial state received
from sysui has the overflow selected, which can happen after
unfolding. This ensures that the arrow position is set correctly,
and that when tapping on the overflow in this state the bar
collapses.

Bug: 392893178
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
       - have floating bubble and expand
       - selecte overflow
       - unfold
       - observe overflow is expanded and bubble bar arrow position
         is correct
       - tap on the overflow bubble
       - observe bar collapses
Change-Id: I4a3d217ce951c7c7f2d17da89b0cd5905faf0eff
2025-05-21 12:49:02 -04:00
Mykola Podolian 9e4b44afcd Merge changes from topic "remove_ipc" into main
* changes:
  [5/5] Removed unused IPC call.
  [4/5] Cover DragToBubbleController with tests.
  [3/5] Implement DragToBubbleController.
  [2/5] Hook up DragToBubbleController and prepare launcher to use it.
  [1/5] Added DragToBubbleController
2025-05-16 16:01:03 -07:00
Mykola Podolian bbd1e2e6ad Merge "Fixed issue with expanded view incorrect position." into main 2025-05-16 15:33:33 -07:00
mpodolian 8499319bc2 [4/5] Cover DragToBubbleController with tests.
Implement tests that check DragToBubbleController public API

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: DragToBubbleController.kt
Change-Id: I48fe5f45921fbedbe0f1921dfd21e9ecb14406bc
2025-05-16 11:33:52 -07:00
mpodolian 5b80c31380 [3/5] Implement DragToBubbleController.
Implement DragToBubbleController internal logic that utilises
DropTargetManager to show drop targets for the bubble bar drop zones.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Go to overview screen and drag app icons from the taskbar
over the bubble bar

Change-Id: I844151c5e11f237c475d8a26a7784c5662dad658
2025-05-16 10:35:05 -07:00
mpodolian 86f7a230f8 [2/5] Hook up DragToBubbleController and prepare launcher to use it.
Updated DragController logic to set touch event XY coordinates if there
is no view returned by the DropTarget. Added wait call for all drop
targets views removed to the
TaskbarActivityContext#onDragEndOrViewRemoved() method.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: Ie97b08f22ae8dc34bd9f4e3738704e4fc90345bb
2025-05-16 10:34:55 -07:00
mpodolian 77859d0c89 Fixed issue with expanded view incorrect position.
The expanded view was misplaced due to a race condition. This occurred
because the BubbleBarController.onBubbleBarBoundsChanged() method was
invoked while
LauncherTaskbarUIController.onTaskbarInAppDisplayProgressUpdate() was in
progress (e.g. inAppDisplayOverrideProgress value was slightly higher
than 0). The latter method is also used to shift the three navigation
buttons for IME open/collapse events.

This concurrent execution led to an incorrect bubbleBarTranslationY
value being used in the BubbleBarView.getTopToScreenBottom() method,
ultimately causing the misplacement of the expanded view.

Fixes: 416158567
Flag: EXEMPT bugfix
Test: Manual.
- Long Press Chrome icon select "bubble" adds
- Press search bar inside Chrome app bubble to show IME
- Hide IME
- Press Chrome bubble
- Press search bar inside Chrome app bubble to show IME
- Hide IME

Change-Id: I44431f0eb47c3e9e0bea0274624e5b1db0aa15c9
2025-05-16 10:05:01 -07:00
Mykola Podolian 4703fef886 Merge "Reset -1 page progress when leaving it" into main 2025-05-15 09:37:10 -07:00
mpodolian dbd42b6f05 [1/5] Added DragToBubbleController
Added controller that would handles drags of launcher icons to the
bubble bar, displaying drop targets and creating application bubbles.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: I593222d86f50248ceb2909ae73ccc021ef515e28
2025-05-14 17:29:11 -07:00
mpodolian ae8047b5c3 Reset -1 page progress when leaving it
Reset in-app display override progress when transitioning from home -1
page. In order to come back to the -1 page user has to swipe left from
home again so in-app display override progress will be updated again.

Fixes: 416163737
Flag: EXEMPT - bugfix
Test: Manual. enable 3 buttons navigation mode. Have bubble bar with
bubbles. Swipe to -1 page. Click recent apps button. Click home.

Change-Id: Ibc67f6e024f5c89efb7f80f420fc859aaa9d3e33
2025-05-14 17:16:28 -07:00
mpodolian 810bfb755d Only update handle alpha on system UI flag update.
Added logic to check if handle view alpha should be updated during SysUi
flag updates.

Fixes: 417125892
Test: Manual. Create a new bubble on the home screen, observe the stash
handle is not visible.
Have stashed bubble bar and multiple system languages.
Go to settings (or ane other apps that has input fields). Click on
search to trigger keyboard pop up. Observe that stash handle is hidden.
Collapse the keyboard and observe that stash handle is shown again.
Flag: EXEMPT bug-fix

Change-Id: I0976f37ca24ba816ee5eed6d4f1b4e6999b54c29
2025-05-12 11:26:42 -07:00
mpodolian e877d5f2a7 Hide bubble bar stash handle on the keyboard open.
Added SYSUI_STATE_IME_VISIBLE flag to MASK_HIDE_HANDLE_VIEW to hide the
bubble bar stash handle view. Also update alpha to 1 for the stash
handle view when visibility is updated to VISIBLE.

Fixes: 403363673
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Have stashed bubble bar and multiple system languages.
Go to settings (or ane other apps that has input fields). Click on
search to trigger keyboard pop up. Observe that stash handle is hidden.
Collapse the keyboard and observe that stash handle is shown again.

Change-Id: I5c8518cf02cc784243f9f55a95022279b2608760
2025-05-07 12:22:52 -07:00
Liran Binyamin 00dc879e2c Merge "Send bubble bar distance to shell" into main 2025-05-02 14:35:40 -07:00
Ats Jenk e2c8c68edb Merge "Make sure animation is cancelled for existing flyout" into main 2025-05-02 14:22:24 -07:00
Liran Binyamin 34024fe26a Send bubble bar distance to shell
We previously sent the top coordinate of the bubble bar to shell.
However when the screen height changes, launcher takes a bit longer
to update than shell. So instead of calculating the top coordinate
on the launcher side, we now send the amount of space between the
bubble bar and the bottom of the screen to shell, where we can offset
that as needed.

Bug: 392893178
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
       - send some bubbles
       - launch app
       - expand
       - swipe to home
       - fold and unfold
Change-Id: I57b96db49dab1e2304fde8dc55a99eaaf85e40f8
2025-05-02 10:54:39 -04:00
Ats Jenk 506b2a8b35 Make sure animation is cancelled for existing flyout
When we show a new flyout, it is possible for the previous flyout to
still be there and animating out.
We were removing the existing flyout, but did not cancel the animation.
This meant that there could have been a hide animation running for the
previous flyout. Once that animation finished, it removed the current
flyout from the container. It was possible for the current flyout to
already be updated to the new one. In which case the animation for the
previous flyout hid the new flyout.

Bug: 414808503
Test: atest PlatformScenarioTests:BubbleBarTest
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I4229297fa999d815c12eefd9d583bdfc915ec00a
2025-05-01 10:52:41 -07:00
Mykola Podolian 5259038c6f Merge "Launcher TAPL test for dragging task bar icon to the bubble bar." into main 2025-04-30 09:29:47 -07:00
mpodolian 9764250b60 Launcher TAPL test for dragging task bar icon to the bubble bar.
Added a test and TAPL objects to check dragging taskbar icons to the
bubble bar.

Fixes: 388910897
Test: TaplTestTaskBarIconDrag
Flag: EXEMPT test
Change-Id: I8a3e64a83c72a9f6b89b2f8a875ca6565d501701
2025-04-29 15:32:41 -07:00
Ats Jenk 1133492a3e Store bubble bar stashed state during rotation [6/N]
Store and restore bubble bar stashed state.
When bubble bar is restored from saved state, restore the bar state to
stashed, collapsed or expanded.
This ensures correct positioning of the bar on screen, before we receive
an update from shell.

Bug: 357115534
Test: bubble bar collapsed on home screen, rotate device and check
    bubble bar remains in correct position and collapsed
Test: bubble bar stashed in app, rotate device and check bubble bar
    remains stashed
Test: bubble bar and taskbar shown while in app, rotate device,
    bubble bar remains shown after rotation, not expanded or stashed
Test: bubble bar is expanded on home screen, rotate device and
    check bubble bar remains expanded
Test: bubble bar is expanded in app, rotate device and check bubble bar
    remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I91a3b5582a4af753e9e54156358b2ce9adb841c7
2025-04-28 18:45:01 -07:00
Ats Jenk 8ed27029d4 Restore bubbles without affecting bar state [5/N]
When we restore bubbles after taskbar is recreated, we should not modify
the bubble bar state as part of restoring the bubble views. Bubble bar
state is restored separately.
Create new helper method to restore bubbles without affecting bubble bar
state.

Bug: 357115534
Test: have bubble bar expanded on top of an app, rotate device multiple
  times back and forth, check that bubble bar remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ifc9c391a1a367535daa3b83283fe145824294bcc
2025-04-28 18:44:28 -07:00
Ats Jenk 6c7cb1a5f0 Do not animate bubbles from initial update [4/N]
Bubbles that are restored with initial update should not be animated in.
If we restore the bubble bar after rotation, we need to show it
immediately. Attempting to animate the bubbles from initial update
causes the UI to flicker.

Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
  bubble bar bubbles do not flicker after rotation
Test: have no bubbles in bubble bar, trigger a bubble, check it is
  animated
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I3da2bc22588c0f5d2dd9c7a3adfcd2c19c339809
2025-04-28 18:44:26 -07:00
Ats Jenk 14474695a2 Store and restore selected bubble and expanded state [3/N]
When bubble bar gets recreated, store the expanded state and selected
bubble.
Allows us to show the bubble bar in previous state after rotation,
before shell has been able to send us an update.

Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
  bubble bar remains expanded
Test: in app, have bubble bar expanded, rotate device, check bubble bar
  remains expanded
Test: have bubble bar collapsed, rotate device, check it is not expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ied187c638287599297e15db77efdf44bd701d559
2025-04-28 18:44:23 -07:00
Ats Jenk f1f507e8c3 Do not animate bubble bar for initial state [2/N]
Initial state for bubble bar does not need to be animated.
Especially if it is sent after rotation. In that case we do not want it
to animate.
When launcher is rotated, taskbar is recreated. After getting recreated,
we receive the initial state from WMShell for the bubbles again. Part of
the initial state is whether bubble bar is expanded or not.

Bug: 357115534
Flag: com.android.wm.shell.enable_bubble_bar
Test: rotate device
Change-Id: I859b73597c8f286069f384dcdea0e3a5296e0073
2025-04-28 10:37:55 -07:00
Ats Jenk 416f80dc82 Rename method to set bubble bar expanded state [1/N]
Rename methods in BubbleBarViewController and BubbleBarView that set the
expanded state.
These will update the state using an animation.
Update the name to highlight this.
Enables us to create methods to set the state without animation.

Bug: 357115534
Test: refactor, presubmit
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I9d2c46ab1640ab0b19f54103ab8cdb37a5d19dbb
2025-04-25 10:20:41 -07:00
Liran Binyamin 4753b6e83e Merge "Pass bubble bar bounds to shell on handshake" into main 2025-04-24 13:56:59 -07:00
Liran Binyamin 149db6c701 Pass bubble bar bounds to shell on handshake
If the systemui process restarts, as it does as part of tests,
it does not get notified about the bubble bar bounds until they
actually change. This could result in invalid bounds for the
expanded view which would prevent bubbling tasks.

This change ensures that the bounds are sent to shell after the
initial handshake.

20x runs: https://android-build.googleplex.com/builds/abtd/run/L46000030011522666

Bug: 411307439
Test: atest BubbleAnythingTest
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I2a5898f32506529b8860274cdee1fcea1a264e83
2025-04-24 11:07:56 -07:00
Ats Jenk 96e3fd6713 Tell WMShell when bubble bar is active or not active
Use new Bubbles aidl method to tell WMShell when bubble bar is used or
not used.
Allows to better handle cases where taskbar (and bubble bar) get
recreated during rotation.

Bug: 357115534
Test: open an app, expand bubble bar, rotate device, check bubble
  remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I1c77eecb2b574b3d9b33aadafd1585e1aca26bdb
2025-04-22 10:47:29 -07:00