With this CL, the Launcher starts checking
config_imeDrawsImeNavBar [1]
instead of
config_navBarInteractionMode
when determining whether the IME should render the back and IME
switcher buttons or not.
There should be no observable behavior change as long as
config_navBarInteractionMode
is set to true when the gestural navigation is enabled.
Bug: 216118048
Test: presubmit
Change-Id: Ia8269e240e0b18e1c7b8bd550dbb197ad58a6dbc
- Also cache InputMethodService.canImeRenderGesturalNavButtons() since it doesn't change at runtime
Test: Enable persist.sys.ime.can_render_gestural_nav_buttons setprop, then ensure we don't draw IME back button or switcher button when gesture nav is enabled
Test: We still show back button in setup, regardless of nav mode
Bug: 205803355
Change-Id: Iab8c47521ab9e561881e4ffb45142888e4c427e4
This CL creates a new DesktopNavbarButtonsViewController class to allow
for taskbar buttons and status icons customization on desktop
environment.
Recall: http://recall/clips/e008d2de-36d3-47f6-954a-5ce18bac69a5
Bug: 213964564
Bug: 196757951
Test: Switch between different system navigation modes and verify the
desktop taskbar buttons stay on screen.
Change-Id: Ie7a9a044fad3b60cd37d910b8eb78c8734aadfd5
Test: Open folder from taskbar, edit name, ensure back button displays above IME and that IME sends input to the taskbar folder name
Bug: 205803170
Change-Id: I36f6cfb835aa7da280f15ea4b0aed8923ce8a012
- Skip updating nav button dark intensity if we're setting it manually
while SUW is running
- There should only be one alpha StatePropertyHolder for the same view
otherwise when updating the properties it can clobber a previous state
Bug: 204384193
Test: Disable dark mode on SUW and verify nav buttons show
Change-Id: I450c3a5697954d9b464bdd622847beb2d01f3802
- Also remove old tinting based on textColorPrimary, as it's no longer necessary with dark intensity tinting.
Test: Run SetupWizardTestActivity in both dark and light theme, ensure back button visible
Fixes: 204384193
Change-Id: I2dc2e94bc0318ded62419b9ae0eed719db289d7f
Cherry picked from commit 53db50dd0b2bd6ed1842b25396c9c52b7abe1157
after resolving conflicts
The CL adds two new buttons for desktop usage.
No listeners are registered yet.
Recall: http://recall/clips/f52b70ed-c437-4374-a492-e4b7c802520a
Bug: 198355239
Test: m, verify that new buttons are added
Change-Id: I1d4a12da3041e113a978c37c9e36ec085d15e8b3
- Update providedInternalImeInsets whenever taskbar height changes, since the insets are subtracted from the taskbar window height. This ensures the IME always has the same bottom inset (48dp) regardless of taskbar's window size
- Also translate nav buttons down to center in the new size when IME is showing
Test: Open IME from home and in apps, both in gesture nav and 3 button mode. Ensure IME bottom inset is always 48dp and nav buttons center within that space
Fixes: 201115344
Change-Id: I5ed25b0ffc08145b2221cc5c960e669cc21b2aa7
Update resources in floating rotation button
when configurations such as screen density, screen size,
current locale have changed.
Bug: 200103245
Test: change display size, locale, fold/unfold
-> check that floating rotation button resources
are updated
Change-Id: Ia69f4f8b393a686012e286a1e39822650c562d52
- SysUI removes SYSUI_STATE_IME_SHOWING when starting a gesture from an app, but because unstashing has implications on the gesture transition (e.g. clips the bottom of the app), we defer handling the ime hiding until the gesture settles. Repurposed the flow that swaps the taskbar background during the gesture to support this case as well.
- Delay the unstash when IME is closing, to align with the end of the IME exit transition
- Remove TaskbarViewController.ALPHA_INDEX_IME now that we stash when IME is opening, since stashing already hides the taskbar icons
- Also support passing a starting progress to the stashed handle reveal animation, to allow it to be reversed when cancelled. For example, when returning to an app that has IME showing, we first start unstashing because we're in an app, but then we get the signal that IME is attached so we stash again almost immediately (within a frame or two).
Test: In both 3 button and fully gestural, open a keyboard in an app, ensure taskbar gets out of the way and then reappears at the end when the keyboard is dismissed
Bug: 202511986
Change-Id: I93c298a98ba369ea6310466ff3f802231c582687
Tint the buttons when taskbar isn't drawing a background (either due to alpha or offset).
Test: Dark icons on a light wallpaper on home screen, dark icons when light IME is showing
Bug: 204256643
Change-Id: Iae634a1b604f50edc102905abd0d812a43c5346e
Temporary removes usages of SysUI shared
resources as it leads to crashes in Launcher
tests.
Bug: 204727471
Test: install launcher, try autorotate suggestion
Change-Id: I1e3c1f5b331a22a753acc3fe0ee544d50fba5c18
Moves handling of floating rotation button when navigation
bar is not created to the launcher. This button was not
showing when taskbar is visible as it was initialized in
navigation bar (which is not created for large screens).
Bug: 200103245
Test: rotate phone when autorotate disabled on inner screen
Test: showing rotate suggestion when gesture nav enabled/disabled
Change-Id: I13dd555bcd811f1524be7ab9ad51b2b012b3b749
Also dispatch sysui flags to all controllers upon recreate, not just NavbarButtonsViewController. Additionally, tell the controllers to skip the animation due to the flag changes if it's fromInit.
Test: Enable themed icons, switch dark theme in quick settings, ensure taskbar updates
Fixes: 204403933
Change-Id: Ic43a50cf0456175f9beba5c29360440f051cbd2d
- In 3 button mode, don't hide the background but do ensure nav buttons are translated down when swiping to notificaitons from the home screen
Test: swipe down notifications, background hides in 0 button mode but not in 3 button mode
Fixes: 199163951
Change-Id: Ic70adc7d67b2ab7c92a2d5d846b9b259d1bd7bfc
> Also keeping it stashed while all-set activity is visible
> Creating a shared state (simiar to saved instance state) for taskbar
> Keeping taskbar stashed while all-set activity is visible
Bug: 194786060
Bug: 201782272
Test: Manual
Change-Id: Iab5e082243a206772266aece62d3028f5acb6400
- Align nav buttons (only back is enabled) to start instead of end
- Don't animate from init()
- Provide 0 contentInsets.bottom
- Auto-stash the taskbar during setup
- Hide the stashed handle by adding an alpha channel for home disabled
- Report 0 contentInsets when stashed if the handle isn't visible
- Tint nav buttons according to theme
Test: adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity
Bug: 194786060
Change-Id: I4a40501e8aad2a38ec00398efe9ea3dbfa7428cd
* Animate translationY alongside icons
* When device rotates on home, update
translationY
* Add padding to contextual buttons to center
it
Bug: 189807374
Change-Id: I149ef25df570fb1fd385f1da960c827105ff975d
* Animate it back into position after user unlocks
* Re-create taskbar on layout direction change so
PropertyHolders are recreated to take into account
new values
Fixes: 199852418
Test: Tested w/ password + pin for gesture + 3 button
Change-Id: Ie7f16f737a8fc12328c05d7628d0e3ae09fc08ca
* Show only back button in taskbar for 3
button nav.
Fixes: 199406716
Test: From lock screen view home controls
or double-tap camera, no taskbar shown.
Change-Id: Ia603c7dbe584e3fab62365de4fc5a790c48d1340
* Keep home and recents button, and rotate back button
to be down when IME shows in 3 button task bar.
* Move IME switcher to left side of taskbar for 3 button,
keep on right side for gesture nav.
Bug: 191399224
Test: Tested RTL and LTR, gesture + button nav
with and w/o IME.
Change-Id: I7959d26986e546596e2436b8b5eb7668f44b55cf
- Listen for USER_SETUP_COMPLETE
- Recreate taskbar, forcing nav buttons to be visible
Test: Run setup wizard and ensure back button is present, then is replaced with taskbar when setup is complete
adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity
Fixes: 191846922
Change-Id: I789186dcc23a2db7cc4637b1cb0486f0d2add784
The idea is that both taskbar icons and recents navigate you to new apps, which we'd want to disable in similar contexts. Hence reusing FLAG_DISABLE_RECENTS.
Test: locally set FLAG_DISABLE_RECENTS=true, ensure taskbar icons don't show up (both in 3 button mode and gesture nav)
Bug: 193183428
Bug: 194990283
Change-Id: I9537f57dc25663151b1414c5260dadb58506fdb0