1e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka/*
2e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Copyright (C) 2006, 2012 The Android Open Source Project
3e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka *
4e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Licensed under the Apache License, Version 2.0 (the "License");
5e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * you may not use this file except in compliance with the License.
6e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * You may obtain a copy of the License at
7e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka *
8e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka *      http://www.apache.org/licenses/LICENSE-2.0
9e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka *
10e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Unless required by applicable law or agreed to in writing, software
11e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * distributed under the License is distributed on an "AS IS" BASIS,
12e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * See the License for the specific language governing permissions and
14e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * limitations under the License.
15e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */
16e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
17d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkapackage com.android.internal.telephony.uicc;
18e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
19ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Savilleimport android.telephony.Rlog;
20e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
21e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.CommandsInterface;
22e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
23e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka/**
24e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * {@hide}
25e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * This class should be used to access files in ISIM ADF
26e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */
27e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkapublic final class IsimFileHandler extends IccFileHandler implements IccConstants {
28cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    static final String LOG_TAG = "IsimFH";
29e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
30e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    public IsimFileHandler(UiccCardApplication app, String aid, CommandsInterface ci) {
31e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        super(app, aid, ci);
32e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
33e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
34e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
35e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected String getEFPath(int efid) {
36e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        switch(efid) {
37e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_IMPI:
38e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_IMPU:
39e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_DOMAIN:
40a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        case EF_IST:
41a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        case EF_PCSCF:
42e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka            return MF_SIM + DF_ADF;
43e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        }
44e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        String path = getCommonIccEFPath(efid);
45e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        return path;
46e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
47e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
48e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
49e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected void logd(String msg) {
50ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Saville        Rlog.d(LOG_TAG, msg);
51e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
52e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
53e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
54e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected void loge(String msg) {
55ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Saville        Rlog.e(LOG_TAG, msg);
56e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
57e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka}
58