Loading src/java/com/android/internal/telephony/cdma/CDMAPhone.java +30 −8 Original line number Diff line number Diff line Loading @@ -906,14 +906,36 @@ public class CDMAPhone extends PhoneBase { public String getVoiceMailNumber() { String number = null; SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); // TODO: The default value of voicemail number should be read from a system property number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), null); if (TextUtils.isEmpty(number)) { String[] listArray = getContext().getResources() .getStringArray(com.android.internal.R.array.config_default_vm_number); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] defaultVMNumberArray = listArray[i].split(";"); if (defaultVMNumberArray != null && defaultVMNumberArray.length > 0) { if (defaultVMNumberArray.length == 1) { number = defaultVMNumberArray[0]; } else if (defaultVMNumberArray.length == 2 && !TextUtils.isEmpty(defaultVMNumberArray[1]) && defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) { number = defaultVMNumberArray[0]; break; } } } } } } if (TextUtils.isEmpty(number)) { // Read platform settings for dynamic voicemail number if (getContext().getResources().getBoolean(com.android.internal .R.bool.config_telephony_use_own_number_for_voicemail)) { number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), getLine1Number()); number = getLine1Number(); } else { number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), "*86"); number = "*86"; } } return number; } Loading src/java/com/android/internal/telephony/gsm/GSMPhone.java +22 −0 Original line number Diff line number Diff line Loading @@ -952,6 +952,28 @@ public class GSMPhone extends PhoneBase { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); number = sp.getString(VM_NUMBER + getPhoneId(), null); } if (TextUtils.isEmpty(number)) { String[] listArray = getContext().getResources() .getStringArray(com.android.internal.R.array.config_default_vm_number); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] defaultVMNumberArray = listArray[i].split(";"); if (defaultVMNumberArray != null && defaultVMNumberArray.length > 0) { if (defaultVMNumberArray.length == 1) { number = defaultVMNumberArray[0]; } else if (defaultVMNumberArray.length == 2 && !TextUtils.isEmpty(defaultVMNumberArray[1]) && defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) { number = defaultVMNumberArray[0]; break; } } } } } } return number; } Loading Loading
src/java/com/android/internal/telephony/cdma/CDMAPhone.java +30 −8 Original line number Diff line number Diff line Loading @@ -906,14 +906,36 @@ public class CDMAPhone extends PhoneBase { public String getVoiceMailNumber() { String number = null; SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); // TODO: The default value of voicemail number should be read from a system property number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), null); if (TextUtils.isEmpty(number)) { String[] listArray = getContext().getResources() .getStringArray(com.android.internal.R.array.config_default_vm_number); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] defaultVMNumberArray = listArray[i].split(";"); if (defaultVMNumberArray != null && defaultVMNumberArray.length > 0) { if (defaultVMNumberArray.length == 1) { number = defaultVMNumberArray[0]; } else if (defaultVMNumberArray.length == 2 && !TextUtils.isEmpty(defaultVMNumberArray[1]) && defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) { number = defaultVMNumberArray[0]; break; } } } } } } if (TextUtils.isEmpty(number)) { // Read platform settings for dynamic voicemail number if (getContext().getResources().getBoolean(com.android.internal .R.bool.config_telephony_use_own_number_for_voicemail)) { number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), getLine1Number()); number = getLine1Number(); } else { number = sp.getString(VM_NUMBER_CDMA + getPhoneId(), "*86"); number = "*86"; } } return number; } Loading
src/java/com/android/internal/telephony/gsm/GSMPhone.java +22 −0 Original line number Diff line number Diff line Loading @@ -952,6 +952,28 @@ public class GSMPhone extends PhoneBase { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); number = sp.getString(VM_NUMBER + getPhoneId(), null); } if (TextUtils.isEmpty(number)) { String[] listArray = getContext().getResources() .getStringArray(com.android.internal.R.array.config_default_vm_number); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] defaultVMNumberArray = listArray[i].split(";"); if (defaultVMNumberArray != null && defaultVMNumberArray.length > 0) { if (defaultVMNumberArray.length == 1) { number = defaultVMNumberArray[0]; } else if (defaultVMNumberArray.length == 2 && !TextUtils.isEmpty(defaultVMNumberArray[1]) && defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) { number = defaultVMNumberArray[0]; break; } } } } } } return number; } Loading