OSDN Git Service

Correctly compose activity name of add-printer and print-settings
authorPhilip P. Moltmann <moltmann@google.com>
Wed, 9 Mar 2016 20:42:33 +0000 (12:42 -0800)
committerPhilip P. Moltmann <moltmann@google.com>
Wed, 9 Mar 2016 20:42:33 +0000 (12:42 -0800)
activity

Previously we were missing to specify the service's package name, hence
we did not have a complete component name.

Bug: 27567031
Change-Id: I88c515a0b8a9defd6329309574aaa8a8e053fddb

src/com/android/settings/print/PrintServiceSettingsFragment.java

index 6d6967b..e54241c 100644 (file)
@@ -341,8 +341,12 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         mServiceEnabled = service.isEnabled();
 
         if (service.getSettingsActivityName() != null) {
-            Intent settingsIntent = new Intent(Intent.ACTION_MAIN).setComponent(
-                    ComponentName.unflattenFromString(service.getSettingsActivityName()));
+            Intent settingsIntent = new Intent(Intent.ACTION_MAIN);
+
+            settingsIntent.setComponent(
+                    new ComponentName(service.getComponentName().getPackageName(),
+                            service.getSettingsActivityName()));
+
             List<ResolveInfo> resolvedActivities = getPackageManager().queryIntentActivities(
                     settingsIntent, 0);
             if (!resolvedActivities.isEmpty()) {
@@ -356,9 +360,12 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         }
 
         if (service.getAddPrintersActivityName() != null) {
-            Intent addPrintersIntent = new Intent(Intent.ACTION_MAIN)
-                    .setComponent(ComponentName.unflattenFromString(
+            Intent addPrintersIntent = new Intent(Intent.ACTION_MAIN);
+
+            addPrintersIntent.setComponent(
+                    new ComponentName(service.getComponentName().getPackageName(),
                             service.getAddPrintersActivityName()));
+
             List<ResolveInfo> resolvedActivities = getPackageManager().queryIntentActivities(
                     addPrintersIntent, 0);
             if (!resolvedActivities.isEmpty()) {