IMS: Fixes the crash in dialer settings.
Restricts showing up of "Call Settings" option and falls back
to default behavior if the module is not available.
Change-Id: I33486fe0b3dcd731e764a22472904c70f53386f4
CRs-Fixed: 2001524
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
index 3c6c66c..b6dc5bc 100644
--- a/src/com/android/dialer/settings/DialerSettingsActivity.java
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -87,7 +87,8 @@
target.add(quickResponseSettingsHeader);
}
- if (!QtiImsExtUtils.isCarrierOneSupported()) {
+ if (!(QtiImsExtUtils.isCarrierOneSupported()
+ && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(this))) {
Header speedDialSettingsHeader = new Header();
Intent speedDialSettingsIntent = new Intent(this, SpeedDialListActivity.class);
speedDialSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -106,7 +107,8 @@
// "Call Settings" is not shown.
boolean isPrimaryUser = isPrimaryUser();
- if (QtiImsExtUtils.isCarrierOneSupported()) {
+ if (QtiImsExtUtils.isCarrierOneSupported()
+ && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(this)) {
if (isPrimaryUser) {
Header callSettingsHeader = new Header();
Intent callSettingsIntent = new Intent(ACTION_LAUNCH_CALL_SETTINGS);
diff --git a/src/com/android/dialer/settings/SoundSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
index 3736512..c00772e 100644
--- a/src/com/android/dialer/settings/SoundSettingsFragment.java
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -142,7 +142,8 @@
mVibrateWhenRinging.setChecked(shouldVibrateWhenRinging());
}
- if (QtiImsExtUtils.isCarrierOneSupported()) {
+ if (QtiImsExtUtils.isCarrierOneSupported()
+ && QtiImsExtUtils.isCarrierOneCallSettingsAvailable(getContext())) {
getPreferenceScreen().removePreference(mRingtonePreference);
mRingtonePreference = null;
}