Home | History | Annotate | Download | only in telephony
      1 /*
      2  * Copyright (C) 2006 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.internal.telephony;
     18 
     19 import java.io.FileDescriptor;
     20 import java.io.PrintWriter;
     21 
     22 import android.os.ServiceManager;
     23 
     24 
     25 public class PhoneSubInfoProxy extends IPhoneSubInfo.Stub {
     26     private PhoneSubInfo mPhoneSubInfo;
     27 
     28     public PhoneSubInfoProxy(PhoneSubInfo phoneSubInfo) {
     29         mPhoneSubInfo = phoneSubInfo;
     30         if(ServiceManager.getService("iphonesubinfo") == null) {
     31             ServiceManager.addService("iphonesubinfo", this);
     32         }
     33     }
     34 
     35     public void setmPhoneSubInfo(PhoneSubInfo phoneSubInfo) {
     36         mPhoneSubInfo = phoneSubInfo;
     37     }
     38 
     39     @Override
     40     public String getDeviceId() {
     41         return mPhoneSubInfo.getDeviceId();
     42     }
     43 
     44     @Override
     45     public String getDeviceSvn() {
     46         return mPhoneSubInfo.getDeviceSvn();
     47     }
     48 
     49     /**
     50      * Retrieves the unique subscriber ID, e.g., IMSI for GSM phones.
     51      */
     52     @Override
     53     public String getSubscriberId() {
     54         return mPhoneSubInfo.getSubscriberId();
     55     }
     56 
     57     /**
     58      * Retrieves the Group Identifier Level1 for GSM phones.
     59      */
     60     public String getGroupIdLevel1() {
     61         return mPhoneSubInfo.getGroupIdLevel1();
     62     }
     63 
     64     /**
     65      * Retrieves the serial number of the ICC, if applicable.
     66      */
     67     @Override
     68     public String getIccSerialNumber() {
     69         return mPhoneSubInfo.getIccSerialNumber();
     70     }
     71 
     72     /**
     73      * Retrieves the phone number string for line 1.
     74      */
     75     @Override
     76     public String getLine1Number() {
     77         return mPhoneSubInfo.getLine1Number();
     78     }
     79 
     80     /**
     81      * Retrieves the alpha identifier for line 1.
     82      */
     83     @Override
     84     public String getLine1AlphaTag() {
     85         return mPhoneSubInfo.getLine1AlphaTag();
     86     }
     87 
     88     /**
     89      * Retrieves the MSISDN Number.
     90      */
     91     @Override
     92     public String getMsisdn() {
     93         return mPhoneSubInfo.getMsisdn();
     94     }
     95 
     96     /**
     97      * Retrieves the voice mail number.
     98      */
     99     @Override
    100     public String getVoiceMailNumber() {
    101         return mPhoneSubInfo.getVoiceMailNumber();
    102     }
    103 
    104     /**
    105      * Retrieves the complete voice mail number.
    106      */
    107     @Override
    108     public String getCompleteVoiceMailNumber() {
    109         return mPhoneSubInfo.getCompleteVoiceMailNumber();
    110     }
    111 
    112     /**
    113      * Retrieves the alpha identifier associated with the voice mail number.
    114      */
    115     @Override
    116     public String getVoiceMailAlphaTag() {
    117         return mPhoneSubInfo.getVoiceMailAlphaTag();
    118     }
    119 
    120     /**
    121      * Returns the IMS private user identity (IMPI) that was loaded from the ISIM.
    122      * @return the IMPI, or null if not present or not loaded
    123      */
    124     @Override
    125     public String getIsimImpi() {
    126         return mPhoneSubInfo.getIsimImpi();
    127     }
    128 
    129     /**
    130      * Returns the IMS home network domain name that was loaded from the ISIM.
    131      * @return the IMS domain name, or null if not present or not loaded
    132      */
    133     @Override
    134     public String getIsimDomain() {
    135         return mPhoneSubInfo.getIsimDomain();
    136     }
    137 
    138     /**
    139      * Returns the IMS public user identities (IMPU) that were loaded from the ISIM.
    140      * @return an array of IMPU strings, with one IMPU per string, or null if
    141      *      not present or not loaded
    142      */
    143     @Override
    144     public String[] getIsimImpu() {
    145         return mPhoneSubInfo.getIsimImpu();
    146     }
    147 
    148     @Override
    149     protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
    150         mPhoneSubInfo.dump(fd, pw, args);
    151     }
    152 }
    153