Allow assistant handles to be requested by the assistant
Test: Tested locally BUG:131615462 Change-Id: I428086d6d500ee8838c856bc867cbb40d3d2a581
This commit is contained in:
@@ -177,6 +177,12 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac
|
||||
mBehaviorMap.get(mCurrentBehavior).onAssistantGesturePerformed();
|
||||
}
|
||||
|
||||
void onAssistHandlesRequested() {
|
||||
if (mInGesturalMode) {
|
||||
mBehaviorMap.get(mCurrentBehavior).onAssistHandlesRequested();
|
||||
}
|
||||
}
|
||||
|
||||
void setBehavior(AssistHandleBehavior behavior) {
|
||||
if (mCurrentBehavior == behavior) {
|
||||
return;
|
||||
@@ -316,6 +322,7 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac
|
||||
void onModeActivated(Context context, AssistHandleCallbacks callbacks);
|
||||
default void onModeDeactivated() {}
|
||||
default void onAssistantGesturePerformed() {}
|
||||
default void onAssistHandlesRequested() {}
|
||||
default void dump(PrintWriter pw, String prefix) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,6 +211,13 @@ final class AssistHandleReminderExpBehavior implements BehaviorController {
|
||||
mContext.getContentResolver(), LEARNING_EVENT_COUNT_KEY, ++mLearningCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAssistHandlesRequested() {
|
||||
if (mAssistHandleCallbacks != null && !mIsDozing && !mIsNavBarHidden && !mOnLockscreen) {
|
||||
mAssistHandleCallbacks.showAndGo();
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isNavBarHidden(int sysuiStateFlags) {
|
||||
return (sysuiStateFlags & QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN) != 0;
|
||||
}
|
||||
|
||||
@@ -97,6 +97,8 @@ public class AssistManager implements ConfigurationChangedReceiver {
|
||||
private static final String INVOCATION_TIME_MS_KEY = "invocation_time_ms";
|
||||
private static final String INVOCATION_PHONE_STATE_KEY = "invocation_phone_state";
|
||||
public static final String INVOCATION_TYPE_KEY = "invocation_type";
|
||||
protected static final String ACTION_KEY = "action";
|
||||
protected static final String SHOW_ASSIST_HANDLES_ACTION = "show_assist_handles";
|
||||
|
||||
public static final int INVOCATION_TYPE_GESTURE = 1;
|
||||
public static final int INVOCATION_TYPE_ACTIVE_EDGE = 2;
|
||||
@@ -204,6 +206,9 @@ public class AssistManager implements ConfigurationChangedReceiver {
|
||||
if (VERBOSE) {
|
||||
Log.v(TAG, "UI hints received");
|
||||
}
|
||||
if (SHOW_ASSIST_HANDLES_ACTION.equals(hints.getString(ACTION_KEY))) {
|
||||
requestAssistHandles();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -277,6 +282,10 @@ public class AssistManager implements ConfigurationChangedReceiver {
|
||||
mUiController.onGestureCompletion(velocity);
|
||||
}
|
||||
|
||||
protected void requestAssistHandles() {
|
||||
mHandleController.onAssistHandlesRequested();
|
||||
}
|
||||
|
||||
public void hideAssist() {
|
||||
mAssistUtils.hideCurrentSession();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user