Adding KeyboardQuickSwitchView and associated flows.
Test: Manually tested alt-tab and alt-shift-tab in and out of overview on a tablet and phone
Bug: 258854035
Change-Id: Ifb48b005067b3a9c66acfd5ecdbae144b359d3be
- Similar to the nav bar, we should also disable region sampling then
the window is no longer visible (ie. when in immersive mode) otherwise
we fall back into gpu composition which consumes more battery
Fixes: 268280575
Test: Enter immersive mode and verify region sampling is disabled
Change-Id: I99bf8986c6f22fd8d480d255d10cfcd39cfb79e3
- When the taskbar is recreated (ie. from a display config change),
the previous states sent from SysUI need to be reapplied to the
new controllers
Fixes: 267664948
Test: Wipe device, in SUW accessibility settings change the display
density and verify it properly tints the back button
Change-Id: I837a67ced2941d4545359b8231026044b5479767
Test: swipe to home with an app that has a notification dot
observe no jump in dot size
Bug: 264709741
Change-Id: I5d56fe57e74ed7b094477ecd8727152f3f522042
- Make temporary taskbar background behind assistant non-touchable
(fail-safe in case the window isn't removed for some reason)
- Give temporary taskbar background a different window title and
add a couple more dump statements to help debugging
- Only show the taskbar background for persistent taskbar; transient
taskbar can skip most of the special casing and just hide it
- Fix bug where we weren't drawing the separate taskbar background in 3
button mode
- Fix bug where we weren't actually synchronizing
separateWindowForTaskbarBackground with TaskbarDragLayer, since the
former wasn't attached to the window yet; now we wait until it is
attached before calling synchronizeNextDraw()
- Also added dump logs for TaskbarDragLayerController alpha channels
Test: manual in 3 button and gesture nav (with and without
FORCE_PERSISTENT_TASKBAR enabled)
Fixes: 243652789
Bug: 262664266
Change-Id: I865871e57dd4cb255a916317a7e5d35cfde97df5
* Consolidated init calls in SplitSelectStateController
* Also add support to launch from taskbar all apps
* Add logic in SplitSelectStateController to know whether
or not we need to dismiss existing TaskView vs relying
on mSplitHiddenTaskView null check
* Default click handling for SplitShortcut is to start
split selection mode
Bug: 251747761
Test: Initiated split from smart actions, thumbnail app
icon, home, taskbar in overview, all apps. Saw it choose
the latest thumbnail
Change-Id: Ib4f64e619c97615af458a19a9c0efd86c92979d9
Taskbar already stashes when IME is showing, which hides the taskbar
icons in 3 button mode. Hence this extra flag seems redundant and breaks
Transient Taskbar, which allows unstashing taskbar over IME
Test: Install 3P keyboard, swiping taskbar up over IME still shows icons
Test: Connect physical keyboard, icons still hide in 3 button nav when
the IME switcher is showing
Fixes: 264723145
Change-Id: Iafb89e765668d70a1bfad2e136957a2ef8924514
Since this tooltip looks and behaves differently than the existing EDU
sheet, it has its own view and controller implementations (I also may
have wanted to write some Kotlin).
To keep transient taskbar open while on the second EDU step, another
autohide suspend flag is defined. Additionally, special casing is added
to avoid hiding transient taskbar if autohiding is currently suspended.
Tooltips use the same assets as the bottom sheet for now, and are scaled
down to fit the tooltip dimensions.
Reset `Taskbar Education` in Developer Options to try EDU again.
[Demos]
- First: https://screenshot.googleplex.com/ASBeGvrb2EA5wEF.png
- Second: https://screenshot.googleplex.com/7fnfcTh9bMYezDc.png
Test: Manual
Test: Open app, see swipe-up tooltip.
Test: Swipe up to show transient taskbar, see features tooltip.
Bug: 263157739
Fix: 258460203
Change-Id: I473f5fccbae279db0614763b640da0a120b6b7f7
This is needed to easily spot unwanted DeviceProfile changes in perfetto traces, as each one causes many new inflation and slows down the ui thread considerably.
Test: recorded trace with this log
Bug: 258214245
Change-Id: I805d56d4dfe1c08d7f28215c0462d01fcaece84e
This patch fixes a bug where Taskbar launches (tapping an icon on the Taskbar) were not executing correctly in Overview.
Now that Taskbar is always present in Overview, we need to handle cases where the user taps to launch an app, but the app is already visible to the user in Overview. This was breaking in a noticeable way with split apps, where the Taskbar simply wouldn't respond when the tapped app was already visible as a live tile.
Fixed by polling RecentsModel for already-running tasks, checking to see if the associated TaskView is visible to the user or not, and calling launchTasks() on the TaskView if so. If the tile is not visible to the user, the app will launch normally.
Fixes: 261952204
Test: Work in progress
Change-Id: If761546913bde7451a22456a272ba6c31942c5f8
* Check was originally added with rationale in
b/204384193#comment26, however presently we
do provide insets to SUW as of b/253538830
so looks like now we are getting the correct
info from SysUI
* There is a possibly related issue where buttons
are not tinted correctly on the final page of
SUW (b/265238238)
Test: Went through setup manually via adb
and observed that on light theme with dark
dialog scrim the button changes color
adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity
Bug: 256521774
Change-Id: I080033e21d22fbc366b7248b2d647fec610a5fb9
- Also removed transient_taskbar_two_panels_size and use sw720dp override instead, to be consistent with how we handle small vs large tablet in overview
- Also made isTransientTaskbar mockable so we can test that in DeviceProfileDumpTest
Bug: 260596114
Test: DeviceProfileDumpTest
Change-Id: I3c2236b95d91246e9581531478e3c97601cfb2ec
Change margin spaces and logic of how many items the hotseat and taskbar should show.
Fix: 246424857
Test: DeviceProfileDumpTest
Test: HotseatWidthCalculationTest
Change-Id: I8ec71c56a0aa362483c43d6400c762d12cf45f5b
- After ag/20691430, iconScale no longer scale app icons (I should rename it later, after QPR2), so we'll need to set the desired iconSize directly for Taskbar's DeviceProfile
- Extracted setting iconSizePx and testSizePx out of updateIconSize, as they are no longer affected by scaling. This allows TaskbarActivityContext to set desired iconsize and then call updateIconSize
Bug: 256976071
Test: Test Taskbar icon size in different density
Change-Id: I741c178b59e0d8ecb4c63689e68767622329379c
EDU will now end up hiding due to
TaskbarLauncherStateController#onStateChangeApplied closing all AFVs if
we are going to home or overview.
This is a quickfix to make it harder to accidentally close the EDU when
testing out the transient taskbar. We will eventually be moving to a
lighter EDU UI where having gestures occuring behind it will be less
awkward.
Test: Manual
Bug: 260769010
Change-Id: I477abe9339ed10cb3aed8d1a0fbe0e22ac14c7ab
- During gestures from taskbar all apps, unstash immediately in
transient.
- Overlay closes sooner if all apps is open (still done later for EDU).
- Taskbar stashes in overview when All Apps is opened.
- Transient app-window threshold is ignored if All Apps is opened.
Test: Manual
Fix: 262076812
Change-Id: I46b2dcdc75ee0cc15c1b47da2139ff8c20cf618a
- Transient taskbar nav threshold now works in overlays.
- Delay closing overlay to transient app-window threshold if necessary.
- Persistent taskbar no longer stashes for EDU overlay.
- EDU overlay provides enough bottom padding for transient and
persistent taskbar.
Test: Manual
Bug: 217261955
Change-Id: I2ae5612ef70a6d09e22f83f8117cdbf2a0a053b8
Fix: 260769010
> Instead introducing an interface for handling click events
> Linking this interface to other UI which handle clicks
Bug: 259733681
Test: Presubmit and verified manually
Change-Id: I9cbf2d009d64254f513deb909a151e46e860d039
* There were two separate blocks of code for sending insets
for Taskbar during SUW, consolidate those
* We also weren't changing Taskbar window height corresponding
to the added insets/change of height for different
orientations in SUW
Fixes: 253538830
Test: Went through SUW and switched orientations,
no back button overlap
Change-Id: Ifb3bc1c20a793ef062bf338a3bdf933b8ae98c28
See where ItemClickHandler#handleDisabledItemClick returns false for
context. If we do not honor this return value, the framework will not
show a dialog in response to attempting launch the item.
Fix: 258232619
Test: Manual
Change-Id: Ie3b112eea17caf0a84defb331133bda9f3add5b6
This reverts commit e7011d2b87.
Reason for revert: attempt to fix test issues
- Instead of using SharedPrefs which can be flaky anyways,
we pass along a boolean to test transient taskbar when
we are in the test harness
Bug: 257549303
Test: TaplTestsTaskbar
Change-Id: I7c15a97363adc377f29853c1fe60b1960c77bfc3
This patch makes it so that (when we enable Taskbar in Overview) users will be able to select their second app for splitscreen by tapping the Taskbar icon, or the icon in AllApps.
This was done by performing a check to SplitSelectStateController when a taskbar icon is hit. If we are currently in split select mode, Taskbar/AllApps icons will no longer launch their respective fullscreen apps, but instead confirm the split attempt. The confirmed app will either be an already-running instance of the app, or a fresh instance of the app (if none is currently running). The split confirmation function is located in TaskbarUIController, where it is accessible to both LauncherTaskbarUIController (for 1P Launcher) and FallbackTaskbarUIController (for 3P launchers).
Also cleans up ~2 lines of unused code from the old splitscreen instructions toast.
Outstanding issues:
- When selecting a second app from within AllApps, the AllApps shade does not animate away in a satisfying way
- When selecting a second app and launching a fresh instance of that app, the animation appears to come from the wrong location
- Intent + Intent splitting does not currently work
- If the selected app is already running with multiple instances, it picks the oldest instance. Ideally, the newest instance is preferred.
Bug: 251747761
Test: Manual testing with Taskbar in Overview flag enabled
Change-Id: I302dc092740bb880f9134ba8e2e587c4f2c29d01
This reverts commit d5a6b5f688.
Reason for revert: Breaks tests due to "SharedPreferences in credential encrypted storage are not available until after user is unlocked"
Bug: 258256906
Change-Id: I1de69249685f9d2e71183357cf3eda8d443c7d97