Enforce VisualVoicemailService to require BIND_VISUAL_VOICEMAIL_SERVICE

Also fixes NPE in enforceVisualVoicemailPackage()

Change-Id: I6a9a6ea33fc939cf0926e9d5ec4beeb0f312e24c
Fixes: 35854031
Test: CTS - VisualVoicemailServiceTest
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 5cd1d85..d2e635e 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -3537,8 +3537,12 @@
      * @throws SecurityException if the caller is not the visual voicemail package.
      */
     private void enforceVisualVoicemailPackage(String callingPackage, int subId) {
-        String vvmPackage = RemoteVvmTaskManager.getRemotePackage(mPhone.getContext(), subId)
-                .getPackageName();
+        ComponentName componentName =
+                RemoteVvmTaskManager.getRemotePackage(mPhone.getContext(), subId);
+        if(componentName == null) {
+            throw new SecurityException("Caller not current active visual voicemail package[null]");
+        }
+        String vvmPackage = componentName.getPackageName();
         if (!callingPackage.equals(vvmPackage)) {
             throw new SecurityException("Caller not current active visual voicemail package[" +
                     vvmPackage + "]");