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
17e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkapackage com.android.internal.telephony.ims;
18e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
19e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport android.util.Log;
20e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
21e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.CommandsInterface;
22e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.IccConstants;
23e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.IccFileHandler;
24e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.UiccCardApplication;
25e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
26e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka/**
27e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * {@hide}
28e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * This class should be used to access files in ISIM ADF
29e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */
30e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkapublic final class IsimFileHandler extends IccFileHandler implements IccConstants {
31e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    static final String LOG_TAG = "RIL_IsimFH";
32e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
33e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    public IsimFileHandler(UiccCardApplication app, String aid, CommandsInterface ci) {
34e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        super(app, aid, ci);
35e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
36e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
37e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
38e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected String getEFPath(int efid) {
39e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        switch(efid) {
40e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_IMPI:
41e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_IMPU:
42e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        case EF_DOMAIN:
43e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka            return MF_SIM + DF_ADF;
44e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        }
45e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        String path = getCommonIccEFPath(efid);
46e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        return path;
47e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
48e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
49e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
50e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected void logd(String msg) {
51e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        Log.d(LOG_TAG, msg);
52e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
53e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka
54e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    @Override
55e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    protected void loge(String msg) {
56e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka        Log.e(LOG_TAG, msg);
57e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka    }
58e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka}
59