Support Verizon visual voicemail protocol
The VVM3 implementation differs with existing OMTP and CVVM,
especially it does not have the concept of activation/deactivation. VVM3
is activated once it is provisioned, and can not be turned off from
the client side.
To support none data driven features, We defined the
VisualVoicemailProtocol interface for methods that depends on the
implementation. The protocol will be selected based on the vvm_type_string
in the carrier config.
For VVM3 activation, instead of sending a ACTIVATE SMS which they do
not support, we will send a STATUS SMS to check the provisioning status
and get the server credentials. Provisioning is to be handled in a future
CL.
+ Carrier config values for VZW
+ VVM validity for a carrier is checked by
OmtpVvmCarrierConfigHelper.isValid() instead of getVvmType() matching.
A carrier is valid if a protocol for its' type is implemented.
+ All VVM type dependent code refactored into protocols.
+ StatusMessage.getProvisioningStatus() return unquoted status.
+ Fixed bug in ImapConnection that caused all capability to be rejected
if disabledCapability is null.
Change-Id: I512b954b3260138267cb5eeb2fcc5ae016ec0f2d
Fixes:27817303
Bug:27816386
Bug:28696525
16 files changed