Implement initial transient Taskbar EDU tooltips.

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 commit is contained in:
Brian Isganitis
2022-12-21 03:23:32 +00:00
parent 8d98dd2905
commit b21ad2da8c
20 changed files with 686 additions and 85 deletions

View File

@@ -109,8 +109,12 @@ public class TaskbarTranslationController implements TaskbarControllers.Loggable
.setStiffness(SpringForce.STIFFNESS_LOW)
.build(mTranslationYForSwipe, VALUE);
mSpringBounce.addListener(forEndCallback(() -> {
if (mGestureEnded) {
reset();
if (!mGestureEnded) {
return;
}
reset();
if (mControllers.taskbarStashController.isInAppAndNotStashed()) {
mControllers.taskbarEduTooltipController.maybeShowFeaturesEdu();
}
}));
mSpringBounce.start();