| package com.android.internal.telephony; |
| |
| import android.content.Context; |
| import android.os.ServiceManager; |
| import com.android.internal.telephony.*; |
| |
| public class PhoneSubInfo extends IPhoneSubInfo.Stub { |
| private Phone mPhone; |
| private Context mContext; |
| private static final String READ_PHONE_STATE = |
| android.Manifest.permission.READ_PHONE_STATE; |
| |
| public PhoneSubInfo(Phone phone) { |
| mPhone = phone; |
| mContext = phone.getContext(); |
| ServiceManager.addService("iphonesubinfo", this); |
| } |
| /** |
| * Retrieves the unique device ID, e.g., IMEI for GSM phones. |
| */ |
| public String getDeviceId() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return mPhone.getDeviceId(); |
| } |
| |
| /** |
| * Retrieves the software version number for the device, e.g., IMEI/SV |
| * for GSM phones. |
| */ |
| public String getDeviceSvn() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return mPhone.getDeviceSvn(); |
| } |
| |
| /** |
| * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. |
| */ |
| public String getSubscriberId() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return mPhone.getSubscriberId(); |
| } |
| |
| /** |
| * Retrieves the serial number of the SIM, if applicable. |
| */ |
| public String getSimSerialNumber() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return mPhone.getSimSerialNumber(); |
| } |
| |
| /** |
| * Retrieves the phone number string for line 1. |
| */ |
| public String getLine1Number() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return mPhone.getLine1Number(); |
| } |
| |
| /** |
| * Retrieves the alpha identifier for line 1. |
| */ |
| public String getLine1AlphaTag() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return (String) mPhone.getLine1AlphaTag(); |
| } |
| |
| /** |
| * Retrieves the voice mail number. |
| */ |
| public String getVoiceMailNumber() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return (String) mPhone.getVoiceMailNumber(); |
| } |
| |
| /** |
| * Retrieves the alpha identifier associated with the voice mail number. |
| */ |
| public String getVoiceMailAlphaTag() { |
| mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE"); |
| return (String) mPhone.getVoiceMailAlphaTag(); |
| } |
| } |