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