Index: components/arc/test/fake_arc_bridge_service.cc |
diff --git a/components/arc/test/fake_arc_bridge_service.cc b/components/arc/test/fake_arc_bridge_service.cc |
index b80aee0d0effe56db1855aa0f7d3af130b02f5b0..a73bfb4cfb84d6073fb11eb71f68605fc184268f 100644 |
--- a/components/arc/test/fake_arc_bridge_service.cc |
+++ b/components/arc/test/fake_arc_bridge_service.cc |
@@ -3,6 +3,10 @@ |
// found in the LICENSE file. |
#include "components/arc/test/fake_arc_bridge_service.h" |
+ |
+#include "base/files/file_path.h" |
+#include "base/files/file_util.h" |
+#include "base/path_service.h" |
namespace arc { |
@@ -24,6 +28,47 @@ |
void FakeArcBridgeService::Shutdown() { |
} |
+bool FakeArcBridgeService::RegisterInputDevice(const std::string& name, |
+ const std::string& device_type, |
+ base::ScopedFD fd) { |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::SendBroadcast(const std::string& action, |
+ const std::string& package, |
+ const std::string& clazz, |
+ const base::DictionaryValue& extras) { |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::SendNotificationEventToAndroid( |
+ const std::string& key, |
+ ArcNotificationEvent event) { |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::RefreshAppList() { |
+ ++refresh_app_list_count_; |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::LaunchApp(const std::string& package, |
+ const std::string& activity) { |
+ launch_requests_.push_back(new Request(package, activity)); |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::RequestAppIcon(const std::string& package, |
+ const std::string& activity, |
+ ScaleFactor scale_factor) { |
+ icon_requests_.push_back(new IconRequest(package, activity, scale_factor)); |
+ return true; |
+} |
+ |
+bool FakeArcBridgeService::RequestProcessList() { |
+ return true; |
+} |
+ |
void FakeArcBridgeService::SetReady() { |
SetState(State::READY); |
} |
@@ -36,4 +81,76 @@ |
return observer_list().HasObserver(observer); |
} |
+bool FakeArcBridgeService::HasAppObserver(const AppObserver* observer) { |
+ return app_observer_list().HasObserver(observer); |
+} |
+ |
+void FakeArcBridgeService::SendRefreshAppList( |
+ const std::vector<AppInfo>& apps) { |
+ FOR_EACH_OBSERVER(AppObserver, app_observer_list(), OnAppListRefreshed(apps)); |
+} |
+ |
+bool FakeArcBridgeService::GenerateAndSendIcon( |
+ const AppInfo& app, |
+ ScaleFactor scale_factor, |
+ std::string* png_data_as_string) { |
+ CHECK(png_data_as_string != nullptr); |
+ std::string icon_file_name; |
+ switch (scale_factor) { |
+ case SCALE_FACTOR_SCALE_FACTOR_100P: |
+ icon_file_name = "icon_100p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_125P: |
+ icon_file_name = "icon_125p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_133P: |
+ icon_file_name = "icon_133p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_140P: |
+ icon_file_name = "icon_140p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_150P: |
+ icon_file_name = "icon_150p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_180P: |
+ icon_file_name = "icon_180p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_200P: |
+ icon_file_name = "icon_200p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_250P: |
+ icon_file_name = "icon_250p.png"; |
+ break; |
+ case SCALE_FACTOR_SCALE_FACTOR_300P: |
+ icon_file_name = "icon_300p.png"; |
+ break; |
+ default: |
+ NOTREACHED(); |
+ return false; |
+ } |
+ |
+ base::FilePath base_path; |
+ CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &base_path)); |
+ base::FilePath icon_file_path = base_path |
+ .AppendASCII("components") |
+ .AppendASCII("test") |
+ .AppendASCII("data") |
+ .AppendASCII("arc") |
+ .AppendASCII(icon_file_name); |
+ CHECK(base::PathExists(icon_file_path)); |
+ CHECK(base::ReadFileToString(icon_file_path, png_data_as_string)); |
+ |
+ std::vector<uint8_t> png_data(png_data_as_string->begin(), |
+ png_data_as_string->end()); |
+ |
+ FOR_EACH_OBSERVER(AppObserver, |
+ app_observer_list(), |
+ OnAppIcon(app.package, |
+ app.activity, |
+ scale_factor, |
+ png_data)); |
+ |
+ return true; |
+} |
+ |
} // namespace arc |