Commit cf111e8e authored by Giovanni Ortuño Urquidi's avatar Giovanni Ortuño Urquidi Committed by Commit Bot

Revert "Handle Open/Verify android apps for Assistant"

This reverts commit d20781e1.

Reason for revert: Causes compile failure in Google Chrome ChromeOS

https://ci.chromium.org/buildbot/chromium.chrome/Google%20Chrome%20ChromeOS/59164

In file included from ../../chromeos/services/assistant/assistant_manager_service_impl.cc:5:
../../chromeos/services/assistant/assistant_manager_service_impl.h:142:31: error: no type named 'AndroidAppInfo' in namespace 'chromeos::assistant::action'; did you mean 'mojom::AndroidAppInfo'?
  void OnOpenAndroidApp(const action::AndroidAppInfo& app_info,
                              ^~~~~~~~~~~~~~~~~~~~~~
                              mojom::AndroidAppInfo
gen/chromeos/services/assistant/public/mojom/assistant.mojom.h:1276:8: note: 'mojom::AndroidAppInfo' declared here
class  AndroidAppInfo {
       ^

Original change's description:
> Handle Open/Verify android apps for Assistant
> 
> Bug: b/117793081
> Test: Manual Test
> Change-Id: If747d3317cb163715ff907839203e0c0eee57a1c
> Reviewed-on: https://chromium-review.googlesource.com/c/1352341
> Commit-Queue: Yue Li <updowndota@chromium.org>
> Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
> Reviewed-by: Sam McNally <sammc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#612448}

TBR=sammc@chromium.org,xiaohuic@chromium.org,updowndota@chromium.org,llin@chromium.org

Change-Id: If0edc6853dfdce343f6f52edd6bc059f8c7ec1aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/117793081
Reviewed-on: https://chromium-review.googlesource.com/c/1356164Reviewed-by: default avatarGiovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612484}
parent b6ceab81
...@@ -9,38 +9,16 @@ ...@@ -9,38 +9,16 @@
#include "ash/public/cpp/ash_pref_names.h" #include "ash/public/cpp/ash_pref_names.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager/backlight.pb.h" #include "chromeos/dbus/power_manager/backlight.pb.h"
#include "chromeos/dbus/power_manager_client.h" #include "chromeos/dbus/power_manager_client.h"
#include "chromeos/network/network_state_handler.h" #include "chromeos/network/network_state_handler.h"
#include "components/arc/arc_bridge_service.h"
#include "components/arc/arc_service_manager.h"
#include "components/arc/common/intent_helper.mojom.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/user_manager/user_manager.h" #include "components/user_manager/user_manager.h"
using chromeos::NetworkHandler; using chromeos::NetworkHandler;
using chromeos::NetworkStateHandler; using chromeos::NetworkStateHandler;
using chromeos::NetworkTypePattern; using chromeos::NetworkTypePattern;
using chromeos::assistant::mojom::AndroidAppInfoPtr;
using chromeos::assistant::mojom::AppStatus;
namespace {
AppStatus GetAndroidAppStatus(const std::string& package_name) {
auto* prefs = ArcAppListPrefs::Get(ProfileManager::GetActiveUserProfile());
if (!prefs) {
LOG(ERROR) << "ArcAppListPrefs is not available.";
return AppStatus::UNKNOWN;
}
std::string app_id = prefs->GetAppIdByPackageName(package_name);
return app_id.empty() ? AppStatus::UNAVAILABLE : AppStatus::AVAILABLE;
}
} // namespace
DeviceActions::DeviceActions() {} DeviceActions::DeviceActions() {}
...@@ -104,41 +82,3 @@ void DeviceActions::SetNightLightEnabled(bool enabled) { ...@@ -104,41 +82,3 @@ void DeviceActions::SetNightLightEnabled(bool enabled) {
// light controller. // light controller.
profile->GetPrefs()->SetBoolean(ash::prefs::kNightLightEnabled, enabled); profile->GetPrefs()->SetBoolean(ash::prefs::kNightLightEnabled, enabled);
} }
void DeviceActions::OpenAndroidApp(AndroidAppInfoPtr app_info,
OpenAndroidAppCallback callback) {
app_info->status = GetAndroidAppStatus(app_info->package_name);
if (app_info->status != AppStatus::AVAILABLE) {
std::move(callback).Run(false);
return;
}
auto* helper = ARC_GET_INSTANCE_FOR_METHOD(
arc::ArcServiceManager::Get()->arc_bridge_service()->intent_helper(),
HandleIntent);
if (!helper) {
LOG(ERROR) << "Android container is not running.";
std::move(callback).Run(false);
return;
}
arc::mojom::ActivityNamePtr activity = arc::mojom::ActivityName::New();
activity->package_name = app_info->package_name;
auto intent = arc::mojom::IntentInfo::New();
if (!app_info->intent.empty()) {
intent->data = app_info->intent;
}
helper->HandleIntent(std::move(intent), std::move(activity));
std::move(callback).Run(true);
}
void DeviceActions::VerifyAndroidApp(
std::vector<chromeos::assistant::mojom::AndroidAppInfoPtr> apps_info,
VerifyAndroidAppCallback callback) {
for (const auto& app_info : apps_info) {
app_info->status = GetAndroidAppStatus(app_info->package_name);
}
std::move(callback).Run(std::move(apps_info));
}
...@@ -20,11 +20,6 @@ class DeviceActions : public chromeos::assistant::mojom::DeviceActions { ...@@ -20,11 +20,6 @@ class DeviceActions : public chromeos::assistant::mojom::DeviceActions {
GetScreenBrightnessLevelCallback callback) override; GetScreenBrightnessLevelCallback callback) override;
void SetScreenBrightnessLevel(double level, bool gradual) override; void SetScreenBrightnessLevel(double level, bool gradual) override;
void SetNightLightEnabled(bool enabled) override; void SetNightLightEnabled(bool enabled) override;
void OpenAndroidApp(chromeos::assistant::mojom::AndroidAppInfoPtr app_info,
OpenAndroidAppCallback callback) override;
void VerifyAndroidApp(
std::vector<chromeos::assistant::mojom::AndroidAppInfoPtr> apps_info,
VerifyAndroidAppCallback callback) override;
private: private:
DISALLOW_COPY_AND_ASSIGN(DeviceActions); DISALLOW_COPY_AND_ASSIGN(DeviceActions);
......
...@@ -98,21 +98,6 @@ void UpdateInternalOptions( ...@@ -98,21 +98,6 @@ void UpdateInternalOptions(
}); });
} }
action::AppStatus GetActionAppStatus(mojom::AppStatus status) {
switch (status) {
case mojom::AppStatus::UNKNOWN:
return action::UNKNOWN;
case mojom::AppStatus::AVAILABLE:
return action::AVAILABLE;
case mojom::AppStatus::UNAVAILABLE:
return action::UNAVAILABLE;
case mojom::AppStatus::VERSION_MISMATCH:
return action::VERSION_MISMATCH;
case mojom::AppStatus::DISABLED:
return action::DISABLED;
}
}
} // namespace } // namespace
AssistantManagerServiceImpl::AssistantManagerServiceImpl( AssistantManagerServiceImpl::AssistantManagerServiceImpl(
...@@ -548,33 +533,6 @@ void AssistantManagerServiceImpl::OnShowNotification( ...@@ -548,33 +533,6 @@ void AssistantManagerServiceImpl::OnShowNotification(
weak_factory_.GetWeakPtr(), std::move(notification_ptr))); weak_factory_.GetWeakPtr(), std::move(notification_ptr)));
} }
void AssistantManagerServiceImpl::OnOpenAndroidApp(
const action::AndroidAppInfo& app_info,
const action::InteractionInfo& interaction) {
mojom::AndroidAppInfoPtr app_info_ptr = mojom::AndroidAppInfo::New();
app_info_ptr->package_name = app_info.package_name;
service_->device_actions()->OpenAndroidApp(
std::move(app_info_ptr),
base::BindOnce(&AssistantManagerServiceImpl::HandleOpenAndroidAppResponse,
weak_factory_.GetWeakPtr(), interaction));
}
void AssistantManagerServiceImpl::OnVerifyAndroidApp(
const std::vector<action::AndroidAppInfo>& apps_info,
const action::InteractionInfo& interaction) {
std::vector<mojom::AndroidAppInfoPtr> apps_info_list;
for (auto app_info : apps_info) {
mojom::AndroidAppInfoPtr app_info_ptr = mojom::AndroidAppInfo::New();
app_info_ptr->package_name = app_info.package_name;
apps_info_list.push_back(std::move(app_info_ptr));
}
service_->device_actions()->VerifyAndroidApp(
std::move(apps_info_list),
base::BindOnce(
&AssistantManagerServiceImpl::HandleVerifyAndroidAppResponse,
weak_factory_.GetWeakPtr(), interaction));
}
void AssistantManagerServiceImpl::OnRecognitionStateChanged( void AssistantManagerServiceImpl::OnRecognitionStateChanged(
assistant_client::ConversationStateListener::RecognitionState state, assistant_client::ConversationStateListener::RecognitionState state,
const assistant_client::ConversationStateListener::RecognitionResult& const assistant_client::ConversationStateListener::RecognitionResult&
...@@ -936,38 +894,6 @@ void AssistantManagerServiceImpl::HandleStopSpeakerIdEnrollment( ...@@ -936,38 +894,6 @@ void AssistantManagerServiceImpl::HandleStopSpeakerIdEnrollment(
callback.Run(); callback.Run();
} }
void AssistantManagerServiceImpl::HandleOpenAndroidAppResponse(
const action::InteractionInfo& interaction,
bool app_opened) {
std::string interaction_proto = CreateOpenProviderResponseInteraction(
interaction.interaction_id, app_opened);
assistant_client::VoicelessOptions options;
options.obfuscated_gaia_id = interaction.user_id;
assistant_manager_internal_->SendVoicelessInteraction(
interaction_proto, "open_provider_response", options, [](auto) {});
}
void AssistantManagerServiceImpl::HandleVerifyAndroidAppResponse(
const action::InteractionInfo& interaction,
std::vector<mojom::AndroidAppInfoPtr> apps_info) {
std::vector<action::AndroidAppInfo> action_apps_info;
for (const auto& app_info : apps_info) {
action_apps_info.push_back({app_info->package_name, app_info->version,
app_info->localized_app_name, app_info->intent,
GetActionAppStatus(app_info->status)});
}
std::string interaction_proto = CreateVerifyProviderResponseInteraction(
interaction.interaction_id, action_apps_info);
assistant_client::VoicelessOptions options;
options.obfuscated_gaia_id = interaction.user_id;
assistant_manager_internal_->SendVoicelessInteraction(
interaction_proto, "verify_provider_response", options, [](auto) {});
}
// assistant_client::DeviceStateListener overrides // assistant_client::DeviceStateListener overrides
// Run on LibAssistant threads // Run on LibAssistant threads
void AssistantManagerServiceImpl::OnStartFinished() { void AssistantManagerServiceImpl::OnStartFinished() {
......
...@@ -139,10 +139,6 @@ class AssistantManagerServiceImpl ...@@ -139,10 +139,6 @@ class AssistantManagerServiceImpl
void OnShowText(const std::string& text) override; void OnShowText(const std::string& text) override;
void OnOpenUrl(const std::string& url) override; void OnOpenUrl(const std::string& url) override;
void OnShowNotification(const action::Notification& notification) override; void OnShowNotification(const action::Notification& notification) override;
void OnOpenAndroidApp(const action::AndroidAppInfo& app_info,
const action::InteractionInfo& interaction) override;
void OnVerifyAndroidApp(const std::vector<action::AndroidAppInfo>& apps_info,
const action::InteractionInfo& interaction) override;
// AssistantEventObserver overrides: // AssistantEventObserver overrides:
void OnSpeechLevelUpdated(float speech_level) override; void OnSpeechLevelUpdated(float speech_level) override;
...@@ -197,12 +193,6 @@ class AssistantManagerServiceImpl ...@@ -197,12 +193,6 @@ class AssistantManagerServiceImpl
const assistant_client::SpeakerIdEnrollmentUpdate& update); const assistant_client::SpeakerIdEnrollmentUpdate& update);
void HandleStopSpeakerIdEnrollment(base::RepeatingCallback<void()> callback); void HandleStopSpeakerIdEnrollment(base::RepeatingCallback<void()> callback);
void HandleOpenAndroidAppResponse(const action::InteractionInfo& interaction,
bool app_opened);
void HandleVerifyAndroidAppResponse(
const action::InteractionInfo& interaction,
std::vector<mojom::AndroidAppInfoPtr> apps_info);
void OnConversationTurnStartedOnMainThread(bool is_mic_open); void OnConversationTurnStartedOnMainThread(bool is_mic_open);
void OnConversationTurnFinishedOnMainThread( void OnConversationTurnFinishedOnMainThread(
assistant_client::ConversationStateListener::Resolution resolution); assistant_client::ConversationStateListener::Resolution resolution);
......
...@@ -162,13 +162,6 @@ interface DeviceActions { ...@@ -162,13 +162,6 @@ interface DeviceActions {
// Enables or disables Night Light. // Enables or disables Night Light.
SetNightLightEnabled(bool enabled); SetNightLightEnabled(bool enabled);
// Open the Android app if the app is available.
OpenAndroidApp(AndroidAppInfo app_info) => (bool app_opened);
// Verify the status of the Android apps.
VerifyAndroidApp(array<AndroidAppInfo> apps_info) => (array<AndroidAppInfo>
apps_info);
}; };
// Enumeration of possible completions for an Assistant interaction. // Enumeration of possible completions for an Assistant interaction.
...@@ -233,15 +226,3 @@ struct AssistantNotification { ...@@ -233,15 +226,3 @@ struct AssistantNotification {
// Obfuscated Gaia id of the intended recipient of the user. // Obfuscated Gaia id of the intended recipient of the user.
string obfuscated_gaia_id; string obfuscated_gaia_id;
}; };
// Models status of an app.
enum AppStatus { UNKNOWN, AVAILABLE, UNAVAILABLE, VERSION_MISMATCH, DISABLED };
// Models an Android app.
struct AndroidAppInfo {
string package_name;
int32 version;
string localized_app_name;
string intent;
AppStatus status;
};
...@@ -142,11 +142,6 @@ class FakeDeviceActions : mojom::DeviceActions { ...@@ -142,11 +142,6 @@ class FakeDeviceActions : mojom::DeviceActions {
} }
void SetScreenBrightnessLevel(double level, bool gradual) override {} void SetScreenBrightnessLevel(double level, bool gradual) override {}
void SetNightLightEnabled(bool enabled) override {} void SetNightLightEnabled(bool enabled) override {}
void OpenAndroidApp(chromeos::assistant::mojom::AndroidAppInfoPtr app_info,
OpenAndroidAppCallback callback) override {}
void VerifyAndroidApp(
std::vector<chromeos::assistant::mojom::AndroidAppInfoPtr> apps_info,
VerifyAndroidAppCallback callback) override {}
mojo::Binding<mojom::DeviceActions> binding_; mojo::Binding<mojom::DeviceActions> binding_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment