Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(433)

Unified Diff: chrome/browser/chromeos/file_manager/arc_file_tasks.cc

Issue 2398063003: chromeos: Update ARC file task code to use action strings. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/arc/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/file_manager/arc_file_tasks.cc
diff --git a/chrome/browser/chromeos/file_manager/arc_file_tasks.cc b/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
index 4ed9976320a66526a78863a9e3237ec1268bc220..892ff327a3ea34dc28be6468bf1323ec739fc402 100644
--- a/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
+++ b/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
@@ -24,6 +24,7 @@
#include "components/arc/common/intent_helper.mojom.h"
#include "components/arc/intent_helper/activity_icon_loader.h"
#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
+#include "components/arc/intent_helper/intent_constants.h"
#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/entry_info.h"
@@ -75,27 +76,31 @@ scoped_refptr<arc::ActivityIconLoader> GetArcActivityIconLoader() {
return arc_service_manager->icon_loader();
}
-std::string ArcActionTypeToString(arc::mojom::ActionType action_type) {
- switch (action_type) {
- case arc::mojom::ActionType::VIEW:
- return "view";
- case arc::mojom::ActionType::SEND:
- return "send";
- case arc::mojom::ActionType::SEND_MULTIPLE:
- return "send_multiple";
- }
- NOTREACHED();
+// Converts an Android intent action (see kIntentAction* in
+// components/arc/intent_helper/intent_constants.h) to a file task action ID
+// (see chrome/browser/chromeos/file_manager/file_tasks.h).
+std::string ArcActionToFileTaskActionId(const std::string& action) {
+ if (action == arc::kIntentActionView)
+ return "view";
+ else if (action == arc::kIntentActionSend)
+ return "send";
+ else if (action == arc::kIntentActionSendMultiple)
+ return "send_multiple";
+ NOTREACHED() << "Unhandled ARC action \"" << action << "\"";
return "";
}
-arc::mojom::ActionType StringToArcActionType(const std::string& str) {
- if (str == "view")
+// TODO(derat): Replace this with a FileTaskActionIdToArcAction method once
+// HandleUrlList has been updated to take a string action rather than an
+// ArcActionType.
+arc::mojom::ActionType FileTaskActionIdToArcActionType(const std::string& id) {
+ if (id == "view")
return arc::mojom::ActionType::VIEW;
- if (str == "send")
+ if (id == "send")
return arc::mojom::ActionType::SEND;
- if (str == "send_multiple")
+ if (id == "send_multiple")
return arc::mojom::ActionType::SEND_MULTIPLE;
- NOTREACHED();
+ NOTREACHED() << "Unhandled file task action ID \"" << id << "\"";
return arc::mojom::ActionType::VIEW;
}
@@ -253,8 +258,8 @@ void OnArcIconEncoded(
for (const arc::mojom::IntentHandlerInfoPtr& handler : handlers) {
std::string name(handler->name);
Verb handler_verb = Verb::VERB_NONE;
- if (handler->action_type == arc::mojom::ActionType::SEND ||
- handler->action_type == arc::mojom::ActionType::SEND_MULTIPLE) {
+ if (handler->action == arc::kIntentActionSend ||
+ handler->action == arc::kIntentActionSendMultiple) {
handler_verb = Verb::VERB_SHARE_WITH;
}
const GURL& icon_url = (*icons)[arc::ActivityIconLoader::ActivityName(
@@ -262,9 +267,9 @@ void OnArcIconEncoded(
result_list->push_back(FullTaskDescriptor(
TaskDescriptor(
ActivityNameToAppId(handler->package_name, handler->activity_name),
- TASK_TYPE_ARC_APP, ArcActionTypeToString(handler->action_type)),
+ TASK_TYPE_ARC_APP, ArcActionToFileTaskActionId(handler->action)),
name, handler_verb, icon_url, false /* is_default */,
- handler->action_type != arc::mojom::ActionType::VIEW /* is_generic */));
+ handler->action != arc::kIntentActionView /* is_generic */));
}
callback.Run(std::move(result_list));
}
@@ -337,9 +342,9 @@ bool ExecuteArcTask(Profile* profile,
urls.push_back(std::move(url_with_type));
}
- arc_intent_helper->HandleUrlList(std::move(urls),
- AppIdToActivityName(task.app_id),
- StringToArcActionType(task.action_id));
+ arc_intent_helper->HandleUrlList(
+ std::move(urls), AppIdToActivityName(task.app_id),
+ FileTaskActionIdToArcActionType(task.action_id));
return true;
}
« no previous file with comments | « no previous file | components/arc/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698