VisualVoicemailProtocolFactory.java revision 99282e0eb8f04d03c9464bea94fa2d8959edbd13
1ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen/* 2ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * Copyright (C) 2016 The Android Open Source Project 3ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * 4ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * Licensed under the Apache License, Version 2.0 (the "License"); 5ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * you may not use this file except in compliance with the License. 6ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * You may obtain a copy of the License at 7ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * 8ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * http://www.apache.org/licenses/LICENSE-2.0 9ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * 10ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * Unless required by applicable law or agreed to in writing, software 11ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * distributed under the License is distributed on an "AS IS" BASIS, 12ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * See the License for the specific language governing permissions and 14ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen * limitations under the License 15ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen */ 16ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 17ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenpackage com.android.phone.vvm.omtp.protocol; 18ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 19ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenimport android.annotation.Nullable; 20ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenimport android.telephony.TelephonyManager; 2199282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yen 2299282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yenimport com.android.phone.vvm.omtp.VvmLog; 23ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 24ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenpublic class VisualVoicemailProtocolFactory { 25ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 26ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen private static final String TAG = "VvmProtocolFactory"; 27ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 28ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen private static final String VVM_TYPE_VVM3 = "vvm_type_vvm3"; 29ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 30ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen @Nullable 31ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen public static VisualVoicemailProtocol create(String type) { 32ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen if (type == null) { 33ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return null; 34ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 35ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen switch (type) { 36ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case TelephonyManager.VVM_TYPE_OMTP: 37ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return new OmtpProtocol(); 38ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case TelephonyManager.VVM_TYPE_CVVM: 39ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return new CvvmProtocol(); 40ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case VVM_TYPE_VVM3: 41ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return new Vvm3Protocol(); 42ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen default: 4399282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yen VvmLog.e(TAG, "Unexpected visual voicemail type: " + type); 44ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 45ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return null; 46ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 47ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen} 48