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; 20eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yenimport android.content.res.Resources; 21ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenimport android.telephony.TelephonyManager; 2299282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yen 23eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yenimport com.android.phone.R; 2499282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yenimport com.android.phone.vvm.omtp.VvmLog; 25ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 26ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yenpublic class VisualVoicemailProtocolFactory { 27ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 28ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen private static final String TAG = "VvmProtocolFactory"; 29ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 30ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen private static final String VVM_TYPE_VVM3 = "vvm_type_vvm3"; 31ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen 32ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen @Nullable 33eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen public static VisualVoicemailProtocol create(Resources resources, String type) { 34ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen if (type == null) { 35ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return null; 36ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 37ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen switch (type) { 38ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case TelephonyManager.VVM_TYPE_OMTP: 39ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return new OmtpProtocol(); 40ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case TelephonyManager.VVM_TYPE_CVVM: 41ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return new CvvmProtocol(); 42ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen case VVM_TYPE_VVM3: 43eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen if (resources.getBoolean(R.bool.vvm3_enabled)) { 44eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen return new Vvm3Protocol(); 45eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen } else { 46eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen VvmLog.e(TAG, "VVM3 is disabled"); 47eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen return null; 48eb6ee5f75d09e7ac6fe5dad3b3be0dccec6310faTa-wei Yen } 49ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen default: 5099282e0eb8f04d03c9464bea94fa2d8959edbd13Ta-wei Yen VvmLog.e(TAG, "Unexpected visual voicemail type: " + type); 51ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 52ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen return null; 53ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen } 54ce8d0fff0de34c3d982486dd8e92dbfa7b637e2bTa-wei Yen} 55