Show voicemail number as the default number for call forwarding

If the call forwarding number is null, use voicemail number as
default number. Requests by TMO UK and Orange UK.
It's controlled by a new carrier config
KEY_DISPLAY_VOICEMAIL_NUMBER_AS_DEFAULT_CALL_FORWARDING_NUMBER_BOOL

Test: manual - checked the voicemail number shown as default
Bug: 67855679
Change-Id: If73bc5782bf39410710cac08fd786c962fbed097
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index 9e153b2..5243b8d 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -150,7 +150,18 @@
         if (DBG) Log.d(LOG_TAG, "handleGetCFResponse done, callForwardInfo=" + callForwardInfo);
 
         setToggled(callForwardInfo.status == 1);
-        setPhoneNumber(callForwardInfo.number);
+        boolean displayVoicemailNumber = false;
+        if (TextUtils.isEmpty(callForwardInfo.number)) {
+            PersistableBundle carrierConfig =
+                    PhoneGlobals.getInstance().getCarrierConfigForSubId(mPhone.getSubId());
+            if (carrierConfig != null) {
+                displayVoicemailNumber = carrierConfig.getBoolean(CarrierConfigManager
+                        .KEY_DISPLAY_VOICEMAIL_NUMBER_AS_DEFAULT_CALL_FORWARDING_NUMBER_BOOL);
+                Log.d(LOG_TAG, "display voicemail number as default");
+            }
+        }
+        String voicemailNumber = mPhone.getVoiceMailNumber();
+        setPhoneNumber(displayVoicemailNumber ? voicemailNumber : callForwardInfo.number);
     }
 
     private void updateSummaryText() {