Implement RemoteVvmTaskService

RemoteVvmTaskService manages the connection to the
VisualVoicemailService in the default dialer, notifying it service
connected, incoming VVM SMS and SIM removed events. It will held
resources for the dialer until it is signaled all events has been
processed.

Test: CTS / CTS verifier test
Change-Id: I713ace11c526a5ed838b6a85932c2588649cc14e
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7ab138c..64dc426 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -144,6 +144,7 @@
     <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
     <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
     <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
+    <uses-permission android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"/>
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
     <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
@@ -623,7 +624,9 @@
                 <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
             </intent-filter>
         </provider>
-        <receiver android:name="com.android.phone.vvm.omtp.sms.OmtpMessageReceiver"
+
+        <receiver
+          android:name="com.android.phone.vvm.VvmSmsReceiver"
             android:exported="false"
             androidprv:systemUserOnly="true">
             <intent-filter>
@@ -683,14 +686,21 @@
             </intent-filter>
         </receiver>
 
-        <service
-            android:name="com.android.phone.vvm.omtp.sms.OmtpProvisioningService"
-            android:exported="false" />
 
         <service
           android:name="com.android.phone.vvm.omtp.scheduling.TaskSchedulerService"
           android:exported="false" />
 
+        <receiver
+          android:name="com.android.phone.vvm.VvmSimStateTracker"
+          android:exported="false">
+            <intent-filter>
+                <action android:name="android.intent.action.BOOT_COMPLETED"/>
+                <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED"/>
+                <action android:name="android.intent.action.SIM_STATE_CHANGED"/>
+            </intent-filter>
+        </receiver>
+
         <receiver android:name="com.android.phone.vvm.omtp.VvmPackageInstallReceiver"
             androidprv:systemUserOnly="true">
             <intent-filter>
@@ -700,10 +710,15 @@
             </intent-filter>
         </receiver>
 
-        <activity android:name=".settings.VoicemailChangePinActivity"
-          android:exported="false"
-          android:theme="@style/DialerSettingsLight"
-          android:windowSoftInputMode="stateVisible|adjustResize">
-          </activity>
+        <activity
+            android:name="com.android.phone.settings.VoicemailChangePinActivity"
+            android:exported="false"
+            android:theme="@style/DialerSettingsLight"
+            android:windowSoftInputMode="stateVisible|adjustResize">
+        </activity>
+
+        <service
+            android:name="com.android.phone.vvm.RemoteVvmTaskManager"
+            android:exported="false"/>
     </application>
 </manifest>