Don't tell Assistant to hide on gesture completion or cancel

hide() is called by DefaultUiController itself when a gesture
fails to complete, or when the gesture animation finishes. (see
DefaultUiController.animateInvocationCompletion() and progress == 0
branch in DefaultUiController.onInvocationProgress())

hide() calls AssistManager.hideAssist(), which ultimately calls
VoiceInteractionSession#onCloseSystemDialogs(). We don't intend to
ask the assist app to close its UI when the gesture completes or when
invocation progress == 0.

Specifically, NgaUiController.hide /does not/ actually hide the
assistant (just our UI), and therefore
[DefaultUiController|GoogleDefaultUiController] shouldn't either. There
are times where NgaUiController does tell the assistant to close,
but they're specific to the NGA UI (e.g. there was a tap outside).

Bug: 136153254
Test: Verify WAI
Change-Id: I1cb9cb28a1009808e22571b2658f50f57b3e25b4
This commit is contained in:
James O'Leary
2019-07-09 12:43:45 -04:00
parent 6de7a3a3dd
commit 7b92b12342
2 changed files with 1 additions and 2 deletions

View File

@@ -82,7 +82,7 @@ public class AssistManager implements ConfigurationChangedReceiver {
void processBundle(Bundle hints);
/**
* Hides the UI.
* Hides any SysUI for the assistant, but _does not_ close the assistant itself.
*/
void hide();
}

View File

@@ -118,7 +118,6 @@ public class DefaultUiController implements AssistManager.UiController {
@Override // AssistManager.UiController
public void hide() {
Dependency.get(AssistManager.class).hideAssist();
detach();
if (mInvocationAnimator.isRunning()) {
mInvocationAnimator.cancel();