Centralize VVM error Processing

To prepare for vendor specific error codes every error that is written to
the voicemail status table is centralized to the VoicemailProtocol,
which determines what error code will be actually written.

+ Use PhoneAccountHandleConverter to convert subId instead of PhoneUtils.
  PhoneAccountHandleConverter still uses PhoneUtils under the hood but
  it will be changed to using public API in the future.

Bug:28968317
Bug:28977379
Change-Id: I69232b276ec0d456fb9ca1fb08f25b2d51d89462
diff --git a/src/com/android/phone/VoicemailStatus.java b/src/com/android/phone/VoicemailStatus.java
index ca01de8..062e734 100644
--- a/src/com/android/phone/VoicemailStatus.java
+++ b/src/com/android/phone/VoicemailStatus.java
@@ -23,7 +23,8 @@
 import android.provider.VoicemailContract;
 import android.provider.VoicemailContract.Status;
 import android.telecom.PhoneAccountHandle;
-import android.telephony.SubscriptionManager;
+
+import com.android.phone.vvm.omtp.utils.PhoneAccountHandleConverter;
 
 public class VoicemailStatus {
 
@@ -86,8 +87,6 @@
     }
 
     public static Editor edit(Context context, int subId) {
-        PhoneAccountHandle phone = PhoneUtils.makePstnPhoneAccountHandle(
-                SubscriptionManager.getPhoneId(subId));
-        return new Editor(context, phone);
+        return new Editor(context, PhoneAccountHandleConverter.fromSubId(subId));
     }
 }