tree 695099207ec27730aaf1fcbe22dcd6dca2af1acf
parent b187571a1f168da007de9d8ec14dd2d6984e86f4
author Ta-wei Yen <twyen@google.com> 1464133512 -0700
committer Ta-wei Yen <twyen@google.com> 1464136054 -0700

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
