diff options
author | twyen <twyen@google.com> | 2017-09-05 12:22:56 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-09-11 10:57:00 -0700 |
commit | 1d6cd6dd54251ee100e0f105bbcd299fbb609712 (patch) | |
tree | 6ae765731cb0060bc45218f5525cb361e893893d /java | |
parent | 6a80c8282d5dcb3749573baa2f3769204859307a (diff) |
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
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/voicemail/impl/OmtpVvmCarrierConfigHelper.java | 29 | ||||
-rw-r--r-- | java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java | 3 |
2 files changed, 22 insertions, 10 deletions
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. * * <p>The current hidden configs are: {@link #getSslPort()} {@link #getDisabledCapabilities()} + * + * <p>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<String> getCarrierVvmPackageNames() { Assert.checkArgument(isValid()); - Set<String> names = getCarrierVvmPackageNames(mCarrierConfig); + Set<String> 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<String> getDisabledCapabilities() { Assert.checkArgument(isValid()); - Set<String> disabledCapabilities = getDisabledCapabilities(mCarrierConfig); + Set<String> disabledCapabilities; + disabledCapabilities = getDisabledCapabilities(mOverrideConfig); + if (disabledCapabilities != null) { + return disabledCapabilities; + } + disabledCapabilities = getDisabledCapabilities(mCarrierConfig); if (disabledCapabilities != null) { return disabledCapabilities; } diff --git a/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java b/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java index 1624ce579..caf33df13 100644 --- a/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java +++ b/java/com/android/voicemail/impl/configui/ConfigOverrideFragment.java @@ -49,7 +49,8 @@ public class ConfigOverrideFragment extends PreferenceFragment * Any preference with key that starts with this prefix will be written to the dialer carrier * config. */ - @VisibleForTesting static final String CONFIG_OVERRIDE_KEY_PREFIX = "vvm_config_override_key_"; + @VisibleForTesting + public static final String CONFIG_OVERRIDE_KEY_PREFIX = "vvm_config_override_key_"; @Override public void onCreate(@Nullable Bundle savedInstanceState) { |