Migrating more code to read config from CarrierConfigManager.

The following variables are now being read through the carrier config API.
config_voice_privacy_disable
config_show_onscreen_dial_button
config_enable_dialer_key_vibration
sim_network_unlock_allow_dismiss
voicemail_notification_persistent

Bug: 20270007
Change-Id: I4dc909ae32c23fc3f62c5d151ac2b19ef49dffe5
diff --git a/src/com/android/phone/CdmaCallOptions.java b/src/com/android/phone/CdmaCallOptions.java
index 8f7b1b1..9247173 100644
--- a/src/com/android/phone/CdmaCallOptions.java
+++ b/src/com/android/phone/CdmaCallOptions.java
@@ -28,6 +28,7 @@
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
+import android.telephony.CarrierConfigManager;
 import android.util.Log;
 import android.view.MenuItem;
 
@@ -49,9 +50,16 @@
                 getActionBar(), getResources(), R.string.labelCdmaMore_with_label);
 
         mButtonVoicePrivacy = (CheckBoxPreference) findPreference(BUTTON_VP_KEY);
+        Bundle carrierConfig;
+        if (subInfoHelper.hasSubId()) {
+            carrierConfig = PhoneGlobals.getInstance().getCarrierConfigForSubId(
+                    subInfoHelper.getSubId());
+        } else {
+            carrierConfig = PhoneGlobals.getInstance().getCarrierConfig();
+        }
         if (subInfoHelper.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_CDMA
-                || getResources().getBoolean(R.bool.config_voice_privacy_disable)) {
-            //disable the entire screen
+                || carrierConfig.getBoolean(CarrierConfigManager.BOOL_VOICE_PRIVACY_DISABLE)) {
+            // disable the entire screen
             getPreferenceScreen().setEnabled(false);
         }
     }
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index c7dd1e9..e25d91f 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -31,6 +31,7 @@
 import android.os.Bundle;
 import android.provider.Settings;
 import android.telecom.PhoneAccount;
+import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneNumberUtils;
 import android.text.Editable;
 import android.text.TextUtils;
@@ -198,8 +199,8 @@
         mDialButton = findViewById(R.id.floating_action_button);
 
         // Check whether we should show the onscreen "Dial" button and co.
-        Resources res = getResources();
-        if (res.getBoolean(R.bool.config_show_onscreen_dial_button)) {
+        Bundle carrierConfig = PhoneGlobals.getInstance().getCarrierConfig();
+        if (carrierConfig.getBoolean(CarrierConfigManager.BOOL_SHOW_ONSCREEN_DIAL_BUTTON)) {
             mDialButton.setOnClickListener(this);
         } else {
             mDialButton.setVisibility(View.GONE);
@@ -238,7 +239,7 @@
         registerReceiver(mBroadcastReceiver, intentFilter);
 
         try {
-            mHaptic.init(this, res.getBoolean(R.bool.config_enable_dialer_key_vibration));
+            mHaptic.init(this, carrierConfig.getBoolean(CarrierConfigManager.BOOL_ENABLE_DIALER_KEY_VIBRATION));
         } catch (Resources.NotFoundException nfe) {
              Log.e(LOG_TAG, "Vibrate control bool missing.", nfe);
         }
diff --git a/src/com/android/phone/IccNetworkDepersonalizationPanel.java b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
index aa582a1..5f448a3 100644
--- a/src/com/android/phone/IccNetworkDepersonalizationPanel.java
+++ b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
@@ -21,6 +21,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.telephony.CarrierConfigManager;
 import android.text.Editable;
 import android.text.Spannable;
 import android.text.TextUtils;
@@ -135,7 +136,8 @@
         // The "Dismiss" button is present in some (but not all) products,
         // based on the "sim_network_unlock_allow_dismiss" resource.
         mDismissButton = (Button) findViewById(R.id.ndp_dismiss);
-        if (getContext().getResources().getBoolean(R.bool.sim_network_unlock_allow_dismiss)) {
+        Bundle carrierConfig = PhoneGlobals.getInstance().getCarrierConfig();
+        if (carrierConfig.getBoolean(CarrierConfigManager.BOOL_SIM_NETWORK_UNLOCK_ALLOW_DISMISS)) {
             if (DBG) log("Enabling 'Dismiss' button...");
             mDismissButton.setVisibility(View.VISIBLE);
             mDismissButton.setOnClickListener(mDismissListener);
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 1460d63..a6ccca9 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -27,6 +27,7 @@
 import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.net.Uri;
+import android.os.Bundle;
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -36,6 +37,7 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
@@ -372,7 +374,7 @@
                 }
                 intent = new Intent(
                         Intent.ACTION_CALL, Uri.fromParts(PhoneAccount.SCHEME_VOICEMAIL, "",
-                        null));
+                                null));
                 intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
             }
 
@@ -385,6 +387,8 @@
             }
 
             Resources res = mContext.getResources();
+            Bundle carrierConfig = PhoneGlobals.getInstance().getCarrierConfigForSubId(
+                    mPhone.getSubId());
             Notification.Builder builder = new Notification.Builder(mContext);
             builder.setSmallIcon(resId)
                     .setWhen(System.currentTimeMillis())
@@ -394,7 +398,8 @@
                     .setContentIntent(pendingIntent)
                     .setSound(ringtoneUri)
                     .setColor(res.getColor(R.color.dialer_theme_color))
-                    .setOngoing(res.getBoolean(R.bool.voicemail_notification_persistent));
+                    .setOngoing(carrierConfig.getBoolean(
+                            CarrierConfigManager.BOOL_VOICEMAIL_NOTIFICATION_PERSISTENT));
 
             if (VoicemailNotificationSettingsUtil.isVibrationEnabled(phone)) {
                 builder.setDefaults(Notification.DEFAULT_VIBRATE);
@@ -407,7 +412,7 @@
                 final UserHandle userHandle = user.getUserHandle();
                 if (!mUserManager.hasUserRestriction(
                         UserManager.DISALLOW_OUTGOING_CALLS, userHandle)
-                            && !user.isManagedProfile()) {
+                        && !user.isManagedProfile()) {
                     mNotificationManager.notifyAsUser(
                             Integer.toString(subId) /* tag */,
                             VOICEMAIL_NOTIFICATION,