Reuse kArcIntentHelperPackageName in c/b/

Reusing kArcIntentHelperPackageName where needed. Also adding a method
to reuse such package name + a custom string appended to it, this is
AppendStringToIntentHelperPackageName.

Bug: None
Test: Build.
Change-Id: I1b9115b808533e1e5ed3339b7f3747496ca2f0c3
Reviewed-on: https://chromium-review.googlesource.com/764396
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Yusuke Sato <yusukes@chromium.org>
Commit-Queue: David Jacobo <djacobo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516326}
diff --git a/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc b/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc
index 933efe3..50a4dd2 100644
--- a/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc
+++ b/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc
@@ -31,6 +31,7 @@
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_browser_context_keyed_service_factory_base.h"
 #include "components/arc/bluetooth/bluetooth_type_converters.h"
+#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
 #include "components/device_event_log/device_event_log.h"
 #include "components/prefs/pref_service.h"
 #include "components/user_manager/user_manager.h"
@@ -1494,9 +1495,12 @@
   DCHECK(write_success);
 
   intent_instance->SendBroadcast(
-      "org.chromium.arc.intent_helper.SET_BLUETOOTH_STATE",
-      "org.chromium.arc.intent_helper",
-      "org.chromium.arc.intent_helper.SettingsReceiver", extras_json);
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          "SET_BLUETOOTH_STATE"),
+      ArcIntentHelperBridge::kArcIntentHelperPackageName,
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          "SettingsReceiver"),
+      extras_json);
 }
 
 void ArcBluetoothBridge::ReadGattCharacteristic(
diff --git a/chrome/browser/chromeos/arc/intent_helper/arc_settings_service.cc b/chrome/browser/chromeos/arc/intent_helper/arc_settings_service.cc
index 1baed49..2f664a6 100644
--- a/chrome/browser/chromeos/arc/intent_helper/arc_settings_service.cc
+++ b/chrome/browser/chromeos/arc/intent_helper/arc_settings_service.cc
@@ -32,6 +32,7 @@
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_browser_context_keyed_service_factory_base.h"
 #include "components/arc/arc_prefs.h"
+#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
 #include "components/arc/intent_helper/font_size_util.h"
 #include "components/onc/onc_pref_names.h"
 #include "components/prefs/pref_change_registrar.h"
@@ -691,9 +692,11 @@
   bool write_success = base::JSONWriter::Write(extras, &extras_json);
   DCHECK(write_success);
 
-  instance->SendBroadcast(action, "org.chromium.arc.intent_helper",
-                          "org.chromium.arc.intent_helper.SettingsReceiver",
-                          extras_json);
+  instance->SendBroadcast(
+      action, ArcIntentHelperBridge::kArcIntentHelperPackageName,
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          "SettingsReceiver"),
+      extras_json);
 }
 
 // InstanceHolder<mojom::AppInstance>::Observer:
diff --git a/chrome/browser/chromeos/arc/user_session/arc_user_session_service.cc b/chrome/browser/chromeos/arc/user_session/arc_user_session_service.cc
index ad83a07c..bcad51a 100644
--- a/chrome/browser/chromeos/arc/user_session/arc_user_session_service.cc
+++ b/chrome/browser/chromeos/arc/user_session/arc_user_session_service.cc
@@ -7,6 +7,7 @@
 #include "base/memory/singleton.h"
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_browser_context_keyed_service_factory_base.h"
+#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
 #include "components/session_manager/core/session_manager.h"
 
 namespace arc {
@@ -60,9 +61,12 @@
     return;
 
   instance->SendBroadcast(
-      "org.chromium.arc.intent_helper.USER_SESSION_ACTIVE",
-      "org.chromium.arc.intent_helper",
-      "org.chromium.arc.intent_helper.ArcIntentHelperService", "{}");
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          "USER_SESSION_ACTIVE"),
+      ArcIntentHelperBridge::kArcIntentHelperPackageName,
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          "ArcIntentHelperService"),
+      "{}");
 }
 
 void ArcUserSessionService::OnInstanceReady() {
diff --git a/chrome/browser/ui/app_list/arc/arc_app_utils.cc b/chrome/browser/ui/app_list/arc/arc_app_utils.cc
index df7f917..2db9be6 100644
--- a/chrome/browser/ui/app_list/arc/arc_app_utils.cc
+++ b/chrome/browser/ui/app_list/arc/arc_app_utils.cc
@@ -27,6 +27,7 @@
 #include "components/arc/arc_service_manager.h"
 #include "components/arc/arc_util.h"
 #include "components/arc/common/intent_helper.mojom.h"
+#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
 #include "components/crx_file/id_util.h"
 #include "ui/aura/window.h"
 #include "ui/display/display.h"
@@ -55,10 +56,11 @@
 
 namespace {
 
+// TODO(djacobo): Evaluate to build these strings by using
+// ArcIntentHelperBridge::AppendStringToIntentHelperPackageName.
 // Intent helper strings.
 constexpr char kIntentHelperClassName[] =
     "org.chromium.arc.intent_helper.SettingsReceiver";
-constexpr char kIntentHelperPackageName[] = "org.chromium.arc.intent_helper";
 constexpr char kSetInTouchModeIntent[] =
     "org.chromium.arc.intent_helper.SET_IN_TOUCH_MODE";
 constexpr char kShowTalkbackSettingsIntent[] =
@@ -118,8 +120,9 @@
     std::string extras_string;
     base::JSONWriter::Write(extras, &extras_string);
     intent_helper_instance->SendBroadcast(
-        kSetInTouchModeIntent, kIntentHelperPackageName, kIntentHelperClassName,
-        extras_string);
+        kSetInTouchModeIntent,
+        ArcIntentHelperBridge::kArcIntentHelperPackageName,
+        kIntentHelperClassName, extras_string);
   }
 
   if (app_info->shortcut || intent.has_value()) {
@@ -303,9 +306,10 @@
   if (!intent_helper_instance)
     return;
 
-  intent_helper_instance->SendBroadcast(kShowTalkbackSettingsIntent,
-                                        kIntentHelperPackageName,
-                                        kIntentHelperClassName, "{}");
+  intent_helper_instance->SendBroadcast(
+      kShowTalkbackSettingsIntent,
+      ArcIntentHelperBridge::kArcIntentHelperPackageName,
+      kIntentHelperClassName, "{}");
 }
 
 void StartPaiFlow() {
diff --git a/chrome/browser/ui/views/apps/app_info_dialog/arc_app_info_links_panel.cc b/chrome/browser/ui/views/apps/app_info_dialog/arc_app_info_links_panel.cc
index 1a687c3..1c6a9c46 100644
--- a/chrome/browser/ui/views/apps/app_info_dialog/arc_app_info_links_panel.cc
+++ b/chrome/browser/ui/views/apps/app_info_dialog/arc_app_info_links_panel.cc
@@ -4,11 +4,14 @@
 
 #include "chrome/browser/ui/views/apps/app_info_dialog/arc_app_info_links_panel.h"
 
+#include <memory>
+
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/app_list/arc/arc_app_utils.h"
 #include "chrome/browser/ui/views/harmony/chrome_layout_provider.h"
 #include "chrome/grit/generated_resources.h"
 #include "components/arc/common/app.mojom.h"
+#include "components/arc/intent_helper/arc_intent_helper_bridge.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/display/display.h"
 #include "ui/display/screen.h"
@@ -18,10 +21,6 @@
 #include "ui/views/view.h"
 #include "ui/views/widget/widget.h"
 
-namespace {
-constexpr char kArcChromePackageName[] = "org.chromium.arc.intent_helper";
-}
-
 ArcAppInfoLinksPanel::ArcAppInfoLinksPanel(Profile* profile,
                                            const extensions::Extension* app)
     : AppInfoPanel(profile, app),
@@ -55,9 +54,9 @@
       display::Screen::GetScreen()
           ->GetDisplayNearestView(source->GetWidget()->GetNativeView())
           .id();
-  if (arc::ShowPackageInfo(kArcChromePackageName,
-                           arc::mojom::ShowPackageInfoPage::MANAGE_LINKS,
-                           display_id)) {
+  if (arc::ShowPackageInfo(
+          arc::ArcIntentHelperBridge::kArcIntentHelperPackageName,
+          arc::mojom::ShowPackageInfoPage::MANAGE_LINKS, display_id)) {
     Close();
   }
 }
diff --git a/components/arc/intent_helper/arc_intent_helper_bridge.cc b/components/arc/intent_helper/arc_intent_helper_bridge.cc
index ff08dfaf..6e2a5d4f 100644
--- a/components/arc/intent_helper/arc_intent_helper_bridge.cc
+++ b/components/arc/intent_helper/arc_intent_helper_bridge.cc
@@ -12,6 +12,7 @@
 #include "ash/wallpaper/wallpaper_controller.h"
 #include "base/memory/singleton.h"
 #include "base/memory/weak_ptr.h"
+#include "base/strings/string_util.h"
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_browser_context_keyed_service_factory_base.h"
 #include "components/arc/arc_service_manager.h"
@@ -114,6 +115,12 @@
   return ArcIntentHelperBridgeFactory::GetInstance();
 }
 
+// static
+std::string ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+    const std::string& to_append) {
+  return base::JoinString({kArcIntentHelperPackageName, to_append}, ".");
+}
+
 ArcIntentHelperBridge::ArcIntentHelperBridge(content::BrowserContext* context,
                                              ArcBridgeService* bridge_service)
     : context_(context),
diff --git a/components/arc/intent_helper/arc_intent_helper_bridge.h b/components/arc/intent_helper/arc_intent_helper_bridge.h
index 1913f0e..3d8881d 100644
--- a/components/arc/intent_helper/arc_intent_helper_bridge.h
+++ b/components/arc/intent_helper/arc_intent_helper_bridge.h
@@ -46,6 +46,10 @@
   // Returns factory for the ArcIntentHelperBridge.
   static KeyedServiceBaseFactory* GetFactory();
 
+  // Appends '.' + |to_append| to the intent helper package name.
+  static std::string AppendStringToIntentHelperPackageName(
+      const std::string& to_append);
+
   ArcIntentHelperBridge(content::BrowserContext* context,
                         ArcBridgeService* bridge_service);
   ~ArcIntentHelperBridge() override;
diff --git a/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc b/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
index 740d9e7..ecbab26 100644
--- a/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
+++ b/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
@@ -350,4 +350,18 @@
             test_open_url_delegate_->TakeLastOpenedUrl());
 }
 
+// Tests that AppendStringToIntentHelperPackageName works.
+TEST_F(ArcIntentHelperTest, TestAppendStringToIntentHelperPackageName) {
+  std::string fake_activity = "this_is_a_fake_activity";
+  EXPECT_EQ(
+      ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+          fake_activity),
+      ArcIntentHelperBridge::kArcIntentHelperPackageName + "." + fake_activity);
+
+  std::string empty_string = "";
+  EXPECT_EQ(ArcIntentHelperBridge::AppendStringToIntentHelperPackageName(
+                empty_string),
+            ArcIntentHelperBridge::kArcIntentHelperPackageName + ".");
+}
+
 }  // namespace arc