Do not attempt to configure null preferred activity
David Braun [Wed, 13 Nov 2013 23:01:24 +0000 (15:01 -0800)]
On non-phone devices the default SMS app is null. During the set/get paths
we would not try to configure the activity, but during the package update
path we called 'getDefaultSendToApplication" and configured it without
validating that it is non-null. This change adds the null check.

Bug: 11482259 When default SMS app changes we need to update the default app for the SEND intent
Change-Id: I227cfd803fd0667d78918a720b5a6eae9d57ea9d

src/java/com/android/internal/telephony/SmsApplication.java

index cc69cca..80ae2b8 100644 (file)
@@ -465,7 +465,9 @@ public final class SmsApplication {
             PackageManager packageManager = mContext.getPackageManager();
             // Ensure this component is still configured as the preferred activity
             ComponentName componentName = getDefaultSendToApplication(mContext, true);
-            configurePreferredActivity(packageManager, componentName);
+            if (componentName != null) {
+                configurePreferredActivity(packageManager, componentName);
+            }
         }
     }
 
@@ -480,7 +482,8 @@ public final class SmsApplication {
         replacePreferredActivity(packageManager, componentName, SCHEME_SMS);
         replacePreferredActivity(packageManager, componentName, SCHEME_SMSTO);
         replacePreferredActivity(packageManager, componentName, SCHEME_MMS);
-        replacePreferredActivity(packageManager, componentName, SCHEME_MMSTO);}
+        replacePreferredActivity(packageManager, componentName, SCHEME_MMSTO);
+    }
 
     /**
      * Updates the ACTION_SENDTO activity to the specified component for the specified scheme.