You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
# Copyright 2019 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
import logging
|
|
|
|
from autotest_lib.client.common_lib.cros import assistant_util
|
|
# TODO (crbug.com/949874): Remove this when we make sure assistant_util_private
|
|
# is available.
|
|
try:
|
|
from autotest_lib.client.common_lib.cros import assistant_util_private
|
|
except ImportError:
|
|
logging.error("Failed to import assistant_util_private")
|
|
|
|
class AssistantNativeError(Exception):
|
|
"""Error in AssistantFacadeNative."""
|
|
pass
|
|
|
|
class AssistantFacadeNative(object):
|
|
"""Facade to access the assistant-related functionality.
|
|
|
|
The methods inside this class only accept Python native types.
|
|
|
|
"""
|
|
def __init__(self, resource):
|
|
self._resource = resource
|
|
|
|
|
|
def restart_chrome_for_assistant(self, enable_dsp_hotword=True):
|
|
"""Restarts Chrome with Google assistant enabled.
|
|
|
|
@param enable_dsp_hotword: A bool to control the usage of dsp for
|
|
hotword.
|
|
"""
|
|
# TODO (paulhsia): Remove this when voice command is ready for non
|
|
# gaia_login environment.
|
|
cred = assistant_util_private.get_login_credential()
|
|
custom_chrome_setup = {
|
|
"autotest_ext": True,
|
|
"gaia_login": True,
|
|
"enable_assistant": True,
|
|
"username": cred.username,
|
|
"password": cred.password,
|
|
}
|
|
|
|
if enable_dsp_hotword:
|
|
custom_chrome_setup["extra_browser_args"] = (
|
|
["--enable-features=EnableDspHotword"])
|
|
self._resource.start_custom_chrome(custom_chrome_setup)
|
|
|
|
|
|
def send_text_query(self, text):
|
|
"""Sends text query to Google assistant and gets response.
|
|
|
|
@param text: A str object for text qeury.
|
|
|
|
@returns: A str object for query response.
|
|
"""
|
|
ext = self._resource.get_extension()
|
|
return assistant_util.send_text_query(ext, text)
|
|
|
|
|
|
def enable_hotword(self):
|
|
"""Enables hotword in Google assistant."""
|
|
ext = self._resource.get_extension()
|
|
assistant_util.enable_hotword(ext)
|