From 1d6cd6dd54251ee100e0f105bbcd299fbb609712 Mon Sep 17 00:00:00 2001 From: twyen Date: Tue, 5 Sep 2017 12:22:56 -0700 Subject: Load VVM config override before loading anything else The override config is used by carriers to test out different configs using a prod dialer. Previously the type was loaded before the override config, causing carriers that is not currently supported never able to force enable VVM. This CL also fixes getCarrierPackageNames() and getDisabledCapabilities() not loading the override. Bug: 65370543 Test: revived OmtpVvmCarrierConfigHelperTest PiperOrigin-RevId: 167614182 Change-Id: Ibafdaf5fdc3e948bc65656f94c4bdc7d6e97046c --- .../voicemail/impl/OmtpVvmCarrierConfigHelper.java | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java') diff --git a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java index 700e1cbca..90303f59f 100644 --- a/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java +++ b/java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java @@ -50,6 +50,8 @@ import java.util.Set; * that may clutter CarrierConfigManager too much. * *

The current hidden configs are: {@link #getSslPort()} {@link #getDisabledCapabilities()} + * + *

TODO(twyen): refactor this to an interface. */ @TargetApi(VERSION_CODES.O) public class OmtpVvmCarrierConfigHelper { @@ -112,19 +114,19 @@ public class OmtpVvmCarrierConfigHelper { return; } - mCarrierConfig = getCarrierConfig(telephonyManager); - mTelephonyConfig = - new TelephonyVvmConfigManager(context).getConfig(telephonyManager.getSimOperator()); - - mVvmType = getVvmType(); - mProtocol = VisualVoicemailProtocolFactory.create(mContext.getResources(), mVvmType); - if (ConfigOverrideFragment.isOverridden(context)) { mOverrideConfig = ConfigOverrideFragment.getConfig(context); VvmLog.w(TAG, "Config override is activated: " + mOverrideConfig); } else { mOverrideConfig = null; } + + mCarrierConfig = getCarrierConfig(telephonyManager); + mTelephonyConfig = + new TelephonyVvmConfigManager(context).getConfig(telephonyManager.getSimOperator()); + + mVvmType = getVvmType(); + mProtocol = VisualVoicemailProtocolFactory.create(mContext.getResources(), mVvmType); } @VisibleForTesting @@ -187,7 +189,11 @@ public class OmtpVvmCarrierConfigHelper { @Nullable public Set getCarrierVvmPackageNames() { Assert.checkArgument(isValid()); - Set names = getCarrierVvmPackageNames(mCarrierConfig); + Set names = getCarrierVvmPackageNames(mOverrideConfig); + if (names != null) { + return names; + } + names = getCarrierVvmPackageNames(mCarrierConfig); if (names != null) { return names; } @@ -278,7 +284,12 @@ public class OmtpVvmCarrierConfigHelper { @Nullable public Set getDisabledCapabilities() { Assert.checkArgument(isValid()); - Set disabledCapabilities = getDisabledCapabilities(mCarrierConfig); + Set disabledCapabilities; + disabledCapabilities = getDisabledCapabilities(mOverrideConfig); + if (disabledCapabilities != null) { + return disabledCapabilities; + } + disabledCapabilities = getDisabledCapabilities(mCarrierConfig); if (disabledCapabilities != null) { return disabledCapabilities; } -- cgit v1.2.3