blob: 7e4faac183cd3c641e562a310b163b1973a2e3a9 [file] [log] [blame]
/*
* Copyright (C) 2015 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*/
package com.android.phone.vvm.omtp.sms;
import android.telecom.Log;
import com.android.phone.vvm.omtp.OmtpConstants;
/**
* Structured data representation of OMTP STATUS message.
*
* The getters will return null if the field was not set in the message body or it could not be
* parsed.
*/
public class StatusMessage {
// NOTE: Following Status SMS fields are not yet parsed, as they do not seem
// to be useful for initial omtp source implementation.
// lang, g_len, vs_len, pw_len, pm, gm, vtc, vt
private final String mProvisioningStatus;
private final String mStatusReturnCode;
private final String mSubscriptionUrl;
private final String mServerAddress;
private final String mTuiAccessNumber;
private final String mClientSmsDestinationNumber;
private final String mImapPort;
private final String mImapUserName;
private final String mImapPassword;
private final String mSmtpPort;
private final String mSmtpUserName;
private final String mSmtpPassword;
@Override
public String toString() {
return "StatusMessage [mProvisioningStatus=" + mProvisioningStatus
+ ", mStatusReturnCode=" + mStatusReturnCode
+ ", mSubscriptionUrl=" + mSubscriptionUrl
+ ", mServerAddress=" + mServerAddress
+ ", mTuiAccessNumber=" + mTuiAccessNumber
+ ", mClientSmsDestinationNumber=" + mClientSmsDestinationNumber
+ ", mImapPort=" + mImapPort
+ ", mImapUserName=" + mImapUserName
+ ", mImapPassword=" + Log.pii(mImapPassword)
+ ", mSmtpPort=" + mSmtpPort
+ ", mSmtpUserName=" + mSmtpUserName
+ ", mSmtpPassword=" + Log.pii(mSmtpPassword) + "]";
}
public StatusMessage(WrappedMessageData wrappedData) {
mProvisioningStatus = wrappedData.extractString(OmtpConstants.PROVISIONING_STATUS);
mStatusReturnCode = wrappedData.extractString(OmtpConstants.RETURN_CODE);
mSubscriptionUrl = wrappedData.extractString(OmtpConstants.SUBSCRIPTION_URL);
mServerAddress = wrappedData.extractString(OmtpConstants.SERVER_ADDRESS);
mTuiAccessNumber = wrappedData.extractString(OmtpConstants.TUI_ACCESS_NUMBER);
mClientSmsDestinationNumber = wrappedData.extractString(
OmtpConstants.CLIENT_SMS_DESTINATION_NUMBER);
mImapPort = wrappedData.extractString(OmtpConstants.IMAP_PORT);
mImapUserName = wrappedData.extractString(OmtpConstants.IMAP_USER_NAME);
mImapPassword = wrappedData.extractString(OmtpConstants.IMAP_PASSWORD);
mSmtpPort = wrappedData.extractString(OmtpConstants.SMTP_PORT);
mSmtpUserName = wrappedData.extractString(OmtpConstants.SMTP_USER_NAME);
mSmtpPassword = wrappedData.extractString(OmtpConstants.SMTP_PASSWORD);
}
/**
* @return the subscriber's VVM provisioning status.
*/
public String getProvisioningStatus() {
return mProvisioningStatus;
}
/**
* @return the return-code of the status SMS.
*/
public String getReturnCode() {
return mStatusReturnCode;
}
/**
* @return the URL of the voicemail server. This is the URL to send the users to for subscribing
* to the visual voicemail service.
*/
public String getSubscriptionUrl() {
return mSubscriptionUrl;
}
/**
* @return the voicemail server address. Either server IP address or fully qualified domain
* name.
*/
public String getServerAddress() {
return mServerAddress;
}
/**
* @return the Telephony User Interface number to call to access voicemails directly from the
* IVR.
*/
public String getTuiAccessNumber() {
return mTuiAccessNumber;
}
/**
* @return the number to which client originated SMSes should be sent to.
*/
public String getClientSmsDestinationNumber() {
return mClientSmsDestinationNumber;
}
/**
* @return the IMAP server port to talk to.
*/
public String getImapPort() {
return mImapPort;
}
/**
* @return the IMAP user name to be used for authentication.
*/
public String getImapUserName() {
return mImapUserName;
}
/**
* @return the IMAP password to be used for authentication.
*/
public String getImapPassword() {
return mImapPassword;
}
/**
* @return the SMTP server port to talk to.
*/
public String getSmtpPort() {
return mSmtpPort;
}
/**
* @return the SMTP user name to be used for SMTP authentication.
*/
public String getSmtpUserName() {
return mSmtpUserName;
}
/**
* @return the SMTP password to be used for SMTP authentication.
*/
public String getSmtpPassword() {
return mSmtpPassword;
}
}