19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savillepackage com.android.internal.telephony.cdma;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savilleimport com.android.internal.telephony.IccCard;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
2204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Note: this class shares common code with SimCard, consider a base class to minimize code
2304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * duplication.
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide}
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
26cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganeshpublic final class RuimCard extends IccCard {
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville    RuimCard(CDMAPhone phone) {
29cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        super(phone, "CDMA", true);
30cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.registerForRUIMLockedOrAbsent(mHandler, EVENT_ICC_LOCKED_OR_ABSENT, null);
31cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.registerForOffOrNotAvailable(mHandler, EVENT_RADIO_OFF_OR_NOT_AVAILABLE, null);
32cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.registerForRUIMReady(mHandler, EVENT_ICC_READY, null);
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        updateStateProperty();
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
3504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville
36cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh    @Override
3704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville    public void dispose() {
3804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville        //Unregister for all events
39cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.unregisterForRUIMLockedOrAbsent(mHandler);
40cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
41cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        mPhone.mCM.unregisterForRUIMReady(mHandler);
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @Override
45cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh    public String getServiceProviderName () {
46cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh        return ((CDMAPhone)mPhone).mRuimRecords.getServiceProviderName();
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48cdadaad0e4e76a69eba144d3501cca9765cee80cJaikumar Ganesh }
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50