Telephony: Move uicc classes into uicc package
Alex Yakavenka [Tue, 31 Jul 2012 23:41:28 +0000 (16:41 -0700)]
Reduce constructor visibility to package where
possible

Dependent Changes:
    I3b718b9aea1f21c7906c8243b4ca0db6af495a08
    I80204a2f3dc57cac875abeab390bb9db7a636ff7
    Ib9c19e8b157dc7ec74eb14baca5bd3b5caf08c47

Change-Id: Ib4f43374c041cb5eaf2e3883e5ea28b2eb2c9a69

88 files changed:
src/java/android/telephony/SmsCbEtwsInfo.java
src/java/android/telephony/SmsManager.java
src/java/com/android/internal/telephony/CommandsInterface.java
src/java/com/android/internal/telephony/DataConnectionTracker.java
src/java/com/android/internal/telephony/IIccPhoneBook.aidl
src/java/com/android/internal/telephony/IccCard.java
src/java/com/android/internal/telephony/IccPhoneBookInterfaceManager.java
src/java/com/android/internal/telephony/IccPhoneBookInterfaceManagerProxy.java
src/java/com/android/internal/telephony/IccProvider.java
src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
src/java/com/android/internal/telephony/Phone.java
src/java/com/android/internal/telephony/PhoneBase.java
src/java/com/android/internal/telephony/PhoneProxy.java
src/java/com/android/internal/telephony/PhoneSubInfo.java
src/java/com/android/internal/telephony/RIL.java
src/java/com/android/internal/telephony/ServiceStateTracker.java
src/java/com/android/internal/telephony/WapPushOverSms.java
src/java/com/android/internal/telephony/cat/CatService.java
src/java/com/android/internal/telephony/cat/CommandParamsFactory.java
src/java/com/android/internal/telephony/cat/IconLoader.java
src/java/com/android/internal/telephony/cat/RilMessageDecoder.java
src/java/com/android/internal/telephony/cat/ValueParser.java
src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
src/java/com/android/internal/telephony/cdma/CDMAPhone.java
src/java/com/android/internal/telephony/cdma/CdmaConnection.java
src/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
src/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
src/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
src/java/com/android/internal/telephony/cdma/RuimPhoneBookInterfaceManager.java
src/java/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.java
src/java/com/android/internal/telephony/cdma/SmsMessage.java
src/java/com/android/internal/telephony/cdma/sms/BearerData.java
src/java/com/android/internal/telephony/gsm/GSMPhone.java
src/java/com/android/internal/telephony/gsm/GsmConnection.java
src/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
src/java/com/android/internal/telephony/gsm/SimPhoneBookInterfaceManager.java
src/java/com/android/internal/telephony/gsm/SimSmsInterfaceManager.java
src/java/com/android/internal/telephony/gsm/SmsMessage.java
src/java/com/android/internal/telephony/gsm/UsimDataDownloadHandler.java
src/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java
src/java/com/android/internal/telephony/sip/SipPhoneBase.java
src/java/com/android/internal/telephony/uicc/AdnRecord.aidl [moved from src/java/com/android/internal/telephony/AdnRecord.aidl with 93% similarity]
src/java/com/android/internal/telephony/uicc/AdnRecord.java [moved from src/java/com/android/internal/telephony/AdnRecord.java with 99% similarity]
src/java/com/android/internal/telephony/uicc/AdnRecordCache.java [moved from src/java/com/android/internal/telephony/AdnRecordCache.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/AdnRecordLoader.java [moved from src/java/com/android/internal/telephony/AdnRecordLoader.java with 99% similarity]
src/java/com/android/internal/telephony/uicc/CsimFileHandler.java [moved from src/java/com/android/internal/telephony/CsimFileHandler.java with 90% similarity]
src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java [moved from src/java/com/android/internal/telephony/IccCardApplicationStatus.java with 96% similarity]
src/java/com/android/internal/telephony/uicc/IccCardProxy.java [moved from src/java/com/android/internal/telephony/IccCardProxy.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/IccCardStatus.java [moved from src/java/com/android/internal/telephony/IccCardStatus.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/IccConstants.java [moved from src/java/com/android/internal/telephony/IccConstants.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/IccException.java [moved from src/java/com/android/internal/telephony/IccException.java with 94% similarity]
src/java/com/android/internal/telephony/uicc/IccFileHandler.java [moved from src/java/com/android/internal/telephony/IccFileHandler.java with 99% similarity]
src/java/com/android/internal/telephony/uicc/IccFileNotFound.java [moved from src/java/com/android/internal/telephony/IccFileNotFound.java with 95% similarity]
src/java/com/android/internal/telephony/uicc/IccFileTypeMismatch.java [moved from src/java/com/android/internal/telephony/IccFileTypeMismatch.java with 94% similarity]
src/java/com/android/internal/telephony/uicc/IccIoResult.java [moved from src/java/com/android/internal/telephony/IccIoResult.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/IccRecords.java [moved from src/java/com/android/internal/telephony/IccRecords.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/IccRefreshResponse.java [moved from src/java/com/android/internal/telephony/IccRefreshResponse.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/IccServiceTable.java [moved from src/java/com/android/internal/telephony/IccServiceTable.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/IccUtils.java [new file with mode: 0644]
src/java/com/android/internal/telephony/uicc/IccVmFixedException.java [moved from src/java/com/android/internal/telephony/IccVmFixedException.java with 94% similarity]
src/java/com/android/internal/telephony/uicc/IccVmNotSupportedException.java [moved from src/java/com/android/internal/telephony/IccVmNotSupportedException.java with 94% similarity]
src/java/com/android/internal/telephony/uicc/IsimFileHandler.java [moved from src/java/com/android/internal/telephony/ims/IsimFileHandler.java with 87% similarity]
src/java/com/android/internal/telephony/uicc/IsimRecords.java [moved from src/java/com/android/internal/telephony/ims/IsimRecords.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/IsimUiccRecords.java [moved from src/java/com/android/internal/telephony/ims/IsimUiccRecords.java with 93% similarity]
src/java/com/android/internal/telephony/uicc/RuimFileHandler.java [moved from src/java/com/android/internal/telephony/cdma/RuimFileHandler.java with 92% similarity]
src/java/com/android/internal/telephony/uicc/RuimRecords.java [moved from src/java/com/android/internal/telephony/cdma/RuimRecords.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/SIMFileHandler.java [moved from src/java/com/android/internal/telephony/gsm/SIMFileHandler.java with 91% similarity]
src/java/com/android/internal/telephony/uicc/SIMRecords.java [moved from src/java/com/android/internal/telephony/gsm/SIMRecords.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/SpnOverride.java [moved from src/java/com/android/internal/telephony/gsm/SpnOverride.java with 98% similarity]
src/java/com/android/internal/telephony/uicc/UiccCard.java [moved from src/java/com/android/internal/telephony/UiccCard.java with 95% similarity]
src/java/com/android/internal/telephony/uicc/UiccCardApplication.java [moved from src/java/com/android/internal/telephony/UiccCardApplication.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/UiccController.java
src/java/com/android/internal/telephony/uicc/UsimFileHandler.java [moved from src/java/com/android/internal/telephony/UsimFileHandler.java with 92% similarity]
src/java/com/android/internal/telephony/uicc/UsimServiceTable.java [moved from src/java/com/android/internal/telephony/gsm/UsimServiceTable.java with 97% similarity]
src/java/com/android/internal/telephony/uicc/VoiceMailConstants.java [moved from src/java/com/android/internal/telephony/gsm/VoiceMailConstants.java with 98% similarity]
tests/telephonytests/src/com/android/internal/telephony/AdnRecordTest.java
tests/telephonytests/src/com/android/internal/telephony/GsmAlphabetTest.java
tests/telephonytests/src/com/android/internal/telephony/IccServiceTableTest.java
tests/telephonytests/src/com/android/internal/telephony/SMSDispatcherTest.java
tests/telephonytests/src/com/android/internal/telephony/SimPhoneBookTest.java
tests/telephonytests/src/com/android/internal/telephony/SimUtilsTest.java
tests/telephonytests/src/com/android/internal/telephony/cdma/CdmaSmsCbTest.java
tests/telephonytests/src/com/android/internal/telephony/gsm/GsmSmsCbTest.java
tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java
tests/telephonytests/src/com/android/internal/telephony/gsm/UsimServiceTableTest.java

index 0890d52..f208fbf 100644 (file)
@@ -20,7 +20,7 @@ import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.format.Time;
 
-import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.util.Arrays;
 
index deffebc..da9d7e7 100644 (file)
@@ -22,8 +22,8 @@ import android.os.ServiceManager;
 import android.text.TextUtils;
 
 import com.android.internal.telephony.ISms;
-import com.android.internal.telephony.IccConstants;
 import com.android.internal.telephony.SmsRawData;
+import com.android.internal.telephony.uicc.IccConstants;
 
 import java.util.ArrayList;
 import java.util.Arrays;
index d1b39f6..d9c3dc7 100644 (file)
@@ -17,6 +17,7 @@
 package com.android.internal.telephony;
 
 import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
+import com.android.internal.telephony.uicc.IccCardStatus;
 
 import android.os.Message;
 import android.os.Handler;
index a01fd3a..347f00e 100644 (file)
@@ -49,6 +49,7 @@ import android.telephony.Rlog;
 import com.android.internal.R;
 import com.android.internal.telephony.DataConnection.FailCause;
 import com.android.internal.telephony.DctConstants;
+import com.android.internal.telephony.uicc.IccRecords;
 import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.util.AsyncChannel;
 
index f700dfe..95b3efb 100644 (file)
@@ -16,7 +16,7 @@
 
 package com.android.internal.telephony;
 
-import com.android.internal.telephony.AdnRecord;
+import com.android.internal.telephony.uicc.AdnRecord;
 
 
 
index f1ac581..1ec4f18 100644 (file)
@@ -20,6 +20,9 @@ import android.os.Handler;
 import android.os.Message;
 
 import com.android.internal.telephony.IccCardConstants.State;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccRecords;
 
 /**
  * {@hide}
index 9f561da..2bab4bb 100644 (file)
@@ -23,7 +23,12 @@ import android.os.Looper;
 import android.os.Message;
 import android.os.ServiceManager;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.uicc.AdnRecordCache;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.IccConstants;
+import com.android.internal.telephony.uicc.IccRecords;
 
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
index 2ba0ce1..6810fb0 100644 (file)
@@ -25,6 +25,9 @@ import android.os.ServiceManager;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.Rlog;
 
+import com.android.internal.telephony.uicc.AdnRecord;
+
+
 import java.util.ArrayList;
 import java.util.List;
 
index 4feffb8..77bfde2 100644 (file)
@@ -29,9 +29,9 @@ import android.telephony.Rlog;
 
 import java.util.List;
 
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.AdnRecord;
 import com.android.internal.telephony.IIccPhoneBook;
+import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.uicc.IccConstants;
 
 
 /**
index 45972e7..b911b10 100644 (file)
@@ -21,6 +21,7 @@ import android.content.Context;
 import android.telephony.Rlog;
 import android.util.Log;
 
+import com.android.internal.telephony.uicc.IccConstants;
 import com.android.internal.util.HexDump;
 
 import java.util.ArrayList;
index 71912b6..7502dc5 100644 (file)
@@ -29,9 +29,9 @@ import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 
 import com.android.internal.telephony.DataConnection;
-import com.android.internal.telephony.gsm.UsimServiceTable;
-import com.android.internal.telephony.ims.IsimRecords;
 import com.android.internal.telephony.test.SimulatedRadioControl;
+import com.android.internal.telephony.uicc.IsimRecords;
+import com.android.internal.telephony.uicc.UsimServiceTable;
 
 import com.android.internal.telephony.PhoneConstants.*; // ???? 
 
index e490d5b..c62f72f 100644 (file)
@@ -39,13 +39,16 @@ import android.text.TextUtils;
 import android.telephony.Rlog;
 
 import com.android.internal.R;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
-import com.android.internal.telephony.IccCardApplicationStatus.AppType;
-import com.android.internal.telephony.gsm.UsimServiceTable;
-import com.android.internal.telephony.ims.IsimRecords;
 import com.android.internal.telephony.test.SimulatedRadioControl;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.IsimRecords;
+import com.android.internal.telephony.uicc.SIMRecords;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
-import com.android.internal.telephony.gsm.SIMRecords;
+import com.android.internal.telephony.uicc.UsimServiceTable;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
index 75980fc..300529b 100644 (file)
@@ -35,9 +35,10 @@ import android.telephony.Rlog;
 
 import com.android.internal.telephony.cdma.CDMAPhone;
 import com.android.internal.telephony.gsm.GSMPhone;
-import com.android.internal.telephony.gsm.UsimServiceTable;
-import com.android.internal.telephony.ims.IsimRecords;
 import com.android.internal.telephony.test.SimulatedRadioControl;
+import com.android.internal.telephony.uicc.IccCardProxy;
+import com.android.internal.telephony.uicc.IsimRecords;
+import com.android.internal.telephony.uicc.UsimServiceTable;
 import com.android.internal.telephony.CallManager;
 
 import java.util.List;
index 5a3e9b7..cbab817 100755 (executable)
@@ -24,7 +24,7 @@ import android.os.Binder;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.ims.IsimRecords;
+import com.android.internal.telephony.uicc.IsimRecords;
 
 public class PhoneSubInfo extends IPhoneSubInfo.Stub {
     static final String LOG_TAG = "PHONE";
index ed936be..af81e04 100644 (file)
@@ -51,10 +51,13 @@ import android.telephony.Rlog;
 
 import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
 import com.android.internal.telephony.gsm.SuppServiceNotification;
-import com.android.internal.telephony.IccCardApplicationStatus;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus;
+import com.android.internal.telephony.uicc.IccCardStatus;
+import com.android.internal.telephony.uicc.IccIoResult;
+import com.android.internal.telephony.uicc.IccRefreshResponse;
+import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.telephony.cdma.CdmaCallWaitingNotification;
 import com.android.internal.telephony.cdma.CdmaInformationRecords;
-import com.android.internal.telephony.IccRefreshResponse;
 
 import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
index 0fa2ca1..988dc6e 100644 (file)
@@ -33,7 +33,9 @@ import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.List;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
 
 /**
index b04164b..1b174ab 100755 (executable)
@@ -28,6 +28,8 @@ import android.telephony.Rlog;
 import android.os.IBinder;
 import android.os.RemoteException;
 
+import com.android.internal.telephony.uicc.IccUtils;
+
 /**
  * WAP push handler class.
  *
index f327d31..52af89e 100644 (file)
@@ -26,12 +26,12 @@ import android.os.HandlerThread;
 import android.os.Message;
 import android.os.SystemProperties;
 
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccRecords;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.IccUtils;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 
 
 import java.io.ByteArrayOutputStream;
index 9de8399..bd06a75 100644 (file)
@@ -21,7 +21,7 @@ import android.os.Handler;
 import android.os.Message;
 
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccFileHandler;
+import com.android.internal.telephony.uicc.IccFileHandler;
 
 import java.util.Iterator;
 import java.util.List;
index 8808152..c339f5e 100644 (file)
@@ -16,7 +16,7 @@
 
 package com.android.internal.telephony.cat;
 
-import com.android.internal.telephony.IccFileHandler;
+import com.android.internal.telephony.uicc.IccFileHandler;
 
 import android.graphics.Bitmap;
 import android.graphics.Color;
index fb33a8e..d75c63d 100644 (file)
@@ -16,8 +16,8 @@
 
 package com.android.internal.telephony.cat;
 
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import android.os.Handler;
 import com.android.internal.util.State;
index 584d96c..5b1ae91 100644 (file)
@@ -17,8 +17,8 @@
 package com.android.internal.telephony.cat;
 
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.cat.Duration.TimeUnit;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
index fc4d356..632a24c 100644 (file)
@@ -34,12 +34,12 @@ import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneNotifier;
 import com.android.internal.telephony.PhoneProxy;
 import com.android.internal.telephony.SMSDispatcher;
-import com.android.internal.telephony.UiccCardApplication;
 import com.android.internal.telephony.gsm.GsmSMSDispatcher;
-import com.android.internal.telephony.gsm.SIMRecords;
 import com.android.internal.telephony.gsm.SmsMessage;
-import com.android.internal.telephony.ims.IsimRecords;
-import com.android.internal.telephony.ims.IsimUiccRecords;
+import com.android.internal.telephony.uicc.IsimRecords;
+import com.android.internal.telephony.uicc.IsimUiccRecords;
+import com.android.internal.telephony.uicc.SIMRecords;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
 
 import java.io.FileDescriptor;
index 3eebc2e..1465a17 100755 (executable)
@@ -48,10 +48,7 @@ import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.IccCard;
-import com.android.internal.telephony.IccException;
-import com.android.internal.telephony.IccFileHandler;
 import com.android.internal.telephony.IccPhoneBookInterfaceManager;
-import com.android.internal.telephony.IccRecords;
 import com.android.internal.telephony.IccSmsInterfaceManager;
 import com.android.internal.telephony.MccTable;
 import com.android.internal.telephony.MmiCode;
@@ -65,12 +62,16 @@ import com.android.internal.telephony.PhoneSubInfo;
 import com.android.internal.telephony.ServiceStateTracker;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
 import com.android.internal.telephony.UUSInfo;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
 import com.android.internal.telephony.cat.CatService;
+import com.android.internal.telephony.uicc.IccException;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.RuimRecords;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
index 4fe1dc0..b23f103 100755 (executable)
@@ -25,17 +25,14 @@ import android.os.Message;
 import android.os.PowerManager;
 import android.os.Registrant;
 import android.os.SystemClock;
-import android.os.SystemProperties;
 import android.telephony.Rlog;
 import android.text.TextUtils;
 
 import android.telephony.PhoneNumberUtils;
 import android.telephony.ServiceState;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
-import com.android.internal.telephony.TelephonyProperties;
-import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 /**
  * {@hide}
index 35e41c7..0e68125 100644 (file)
@@ -41,11 +41,11 @@ import com.android.internal.telephony.DataConnectionTracker;
 import com.android.internal.telephony.DctConstants;
 import com.android.internal.telephony.EventLogTags;
 import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.IccRecords;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.RetryManager;
 import com.android.internal.telephony.RILConstants;
-import com.android.internal.telephony.UiccCard;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.UiccCard;
 import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.util.AsyncChannel;
 
index 84d15fb..41e2dbf 100644 (file)
@@ -40,8 +40,9 @@ import android.text.TextUtils;
 import android.telephony.Rlog;
 import android.util.EventLog;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
 import com.android.internal.telephony.gsm.GsmDataConnectionTracker;
+import com.android.internal.telephony.uicc.RuimRecords;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 import com.android.internal.telephony.IccCardConstants;
 
 import java.io.FileDescriptor;
index 8cd9817..a6f5aaf 100755 (executable)
@@ -28,9 +28,9 @@ import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.ServiceStateTracker;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
 import com.android.internal.telephony.CommandsInterface.RadioState;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
 
 import android.app.AlarmManager;
index c844a0f..75b2f59 100644 (file)
@@ -21,8 +21,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccFileHandler;
 import com.android.internal.telephony.IccPhoneBookInterfaceManager;
+import com.android.internal.telephony.uicc.IccFileHandler;
 
 /**
  * RuimPhoneBookInterfaceManager to provide an inter-process communication to
index f170b94..75f2644 100644 (file)
@@ -23,12 +23,12 @@ import android.os.Handler;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccConstants;
 import com.android.internal.telephony.IccSmsInterfaceManager;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.PhoneProxy;
 import com.android.internal.telephony.SMSDispatcher;
 import com.android.internal.telephony.SmsRawData;
+import com.android.internal.telephony.uicc.IccConstants;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
index f536a60..ec155a2 100644 (file)
@@ -26,7 +26,6 @@ import android.telephony.Rlog;
 import android.util.Log;
 
 import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.SmsConstants;
 import com.android.internal.telephony.SmsHeader;
 import com.android.internal.telephony.SmsMessageBase;
@@ -36,6 +35,7 @@ import com.android.internal.telephony.cdma.sms.CdmaSmsAddress;
 import com.android.internal.telephony.cdma.sms.CdmaSmsSubaddress;
 import com.android.internal.telephony.cdma.sms.SmsEnvelope;
 import com.android.internal.telephony.cdma.sms.UserData;
+import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.util.BitwiseInputStream;
 import com.android.internal.util.HexDump;
 
index 35538f6..e781f13 100644 (file)
@@ -24,10 +24,10 @@ import android.text.format.Time;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.SmsConstants;
 import com.android.internal.telephony.SmsHeader;
 import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
+import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.util.BitwiseInputStream;
 import com.android.internal.util.BitwiseOutputStream;
 
index faa0b83..b930348 100644 (file)
@@ -50,16 +50,13 @@ import static com.android.internal.telephony.CommandsInterface.CF_REASON_UNCONDI
 import static com.android.internal.telephony.CommandsInterface.SERVICE_CLASS_VOICE;
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_BASEBAND_VERSION;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
 import com.android.internal.telephony.cat.CatService;
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallForwardInfo;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.Connection;
-import com.android.internal.telephony.IccFileHandler;
 import com.android.internal.telephony.IccPhoneBookInterfaceManager;
-import com.android.internal.telephony.IccRecords;
 import com.android.internal.telephony.IccSmsInterfaceManager;
 import com.android.internal.telephony.MmiCode;
 import com.android.internal.telephony.OperatorInfo;
@@ -71,11 +68,14 @@ import com.android.internal.telephony.PhoneProxy;
 import com.android.internal.telephony.PhoneSubInfo;
 import com.android.internal.telephony.TelephonyProperties;
 import com.android.internal.telephony.UUSInfo;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
 import com.android.internal.telephony.test.SimulatedRadioControl;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.IccVmNotSupportedException;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
-import com.android.internal.telephony.IccVmNotSupportedException;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 import com.android.internal.telephony.ServiceStateTracker;
 
 import java.io.FileDescriptor;
index 5499f2a..341cdf3 100644 (file)
@@ -29,8 +29,9 @@ import android.telephony.ServiceState;
 import android.text.TextUtils;
 
 import com.android.internal.telephony.*;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 /**
  * {@hide}
index 8a7ea45..e8b662c 100644 (file)
@@ -62,13 +62,13 @@ import com.android.internal.telephony.DataConnectionTracker;
 import com.android.internal.telephony.DctConstants;
 import com.android.internal.telephony.EventLogTags;
 import com.android.internal.telephony.IccCard;
-import com.android.internal.telephony.IccRecords;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.RetryManager;
-import com.android.internal.telephony.UiccCard;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.UiccCard;
 import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.util.AsyncChannel;
 
index 08a8b85..515d40f 100644 (file)
@@ -18,7 +18,9 @@ package com.android.internal.telephony.gsm;
 
 import android.content.Context;
 import com.android.internal.telephony.*;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.UiccCardApplication;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 import android.os.*;
 import android.telephony.PhoneNumberUtils;
index 16cff84..c73dbe6 100644 (file)
@@ -34,7 +34,6 @@ import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.SmsConstants;
 import com.android.internal.telephony.SMSDispatcher;
@@ -43,6 +42,8 @@ import com.android.internal.telephony.SmsMessageBase;
 import com.android.internal.telephony.SmsStorageMonitor;
 import com.android.internal.telephony.SmsUsageMonitor;
 import com.android.internal.telephony.TelephonyProperties;
+import com.android.internal.telephony.uicc.IccUtils;
+import com.android.internal.telephony.uicc.UsimServiceTable;
 
 import java.util.HashMap;
 import java.util.Iterator;
index b5ff551..bd13374 100644 (file)
@@ -22,8 +22,6 @@ import com.android.internal.telephony.DataConnectionTracker;
 import com.android.internal.telephony.EventLogTags;
 import com.android.internal.telephony.IccCard;
 import com.android.internal.telephony.IccCardConstants;
-import com.android.internal.telephony.IccCardStatus;
-import com.android.internal.telephony.IccRecords;
 import com.android.internal.telephony.MccTable;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.RestrictedState;
@@ -31,10 +29,13 @@ import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.ServiceStateTracker;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccCardStatus;
+import com.android.internal.telephony.uicc.IccRecords;
+import com.android.internal.telephony.uicc.SIMRecords;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
 
 import android.app.AlarmManager;
 import android.app.Notification;
index 509a0df..9c5ce3b 100644 (file)
@@ -21,8 +21,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccFileHandler;
 import com.android.internal.telephony.IccPhoneBookInterfaceManager;
+import com.android.internal.telephony.uicc.IccFileHandler;
 
 /**
  * SimPhoneBookInterfaceManager to provide an inter-process communication to
index d5f7140..4e51bfd 100644 (file)
@@ -24,12 +24,12 @@ import android.os.Handler;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccConstants;
 import com.android.internal.telephony.IccSmsInterfaceManager;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.IntRangeManager;
 import com.android.internal.telephony.SMSDispatcher;
 import com.android.internal.telephony.SmsRawData;
+import com.android.internal.telephony.uicc.IccConstants;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
index fd4d8c1..f23ec98 100644 (file)
@@ -23,7 +23,7 @@ import android.telephony.Rlog;
 import com.android.internal.telephony.EncodeException;
 import com.android.internal.telephony.GsmAlphabet;
 import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
-import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.telephony.SmsHeader;
 import com.android.internal.telephony.SmsMessageBase;
 
index 4d7fc9b..108cf5d 100644 (file)
@@ -24,9 +24,9 @@ import android.provider.Telephony.Sms.Intents;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccIoResult;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.cat.ComprehensionTlvTag;
+import com.android.internal.telephony.uicc.IccIoResult;
+import com.android.internal.telephony.uicc.IccUtils;
 
 /**
  * Handler for SMS-PP data download messages.
index c59aa34..f46b461 100755 (executable)
@@ -21,12 +21,12 @@ import android.os.Handler;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.AdnRecord;
-import com.android.internal.telephony.AdnRecordCache;
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.PhoneBase;
+import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.uicc.AdnRecordCache;
+import com.android.internal.telephony.uicc.IccConstants;
+import com.android.internal.telephony.uicc.IccFileHandler;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.util.ArrayList;
 import java.util.HashMap;
index 9c0c266..041ac79 100755 (executable)
@@ -35,7 +35,6 @@ import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.DataConnection;
 import com.android.internal.telephony.IccCard;
-import com.android.internal.telephony.IccFileHandler;
 import com.android.internal.telephony.IccPhoneBookInterfaceManager;
 import com.android.internal.telephony.IccSmsInterfaceManager;
 import com.android.internal.telephony.MmiCode;
@@ -47,6 +46,7 @@ import com.android.internal.telephony.PhoneNotifier;
 import com.android.internal.telephony.PhoneSubInfo;
 import com.android.internal.telephony.TelephonyProperties;
 import com.android.internal.telephony.UUSInfo;
+import com.android.internal.telephony.uicc.IccFileHandler;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -14,7 +14,7 @@
 ** limitations under the License.
 */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 parcelable AdnRecord;
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -22,6 +22,8 @@ import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.telephony.Rlog;
 
+import com.android.internal.telephony.GsmAlphabet;
+
 import java.util.Arrays;
 
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.os.AsyncResult;
 import android.os.Handler;
@@ -56,7 +56,7 @@ public final class AdnRecordCache extends Handler implements IccConstants {
 
 
 
-    public AdnRecordCache(IccFileHandler fh) {
+    AdnRecordCache(IccFileHandler fh) {
         mFh = fh;
         mUsimPhoneBookManager = new UsimPhoneBookManager(mFh, this);
     }
@@ -108,7 +108,7 @@ public final class AdnRecordCache extends Handler implements IccConstants {
      *
      * See 3GPP TS 51.011 for this mapping
      */
-    int extensionEfForEf(int efid) {
+    public int extensionEfForEf(int efid) {
         switch (efid) {
             case EF_MBDN: return EF_EXT6;
             case EF_ADN: return EF_EXT1;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import java.util.ArrayList;
 
@@ -24,7 +24,6 @@ import android.os.Looper;
 import android.os.Message;
 import android.telephony.Rlog;
 
-
 public class AdnRecordLoader extends Handler {
     final static String LOG_TAG = "RIL_AdnRecordLoader";
 
@@ -57,7 +56,7 @@ public class AdnRecordLoader extends Handler {
 
     //***** Constructor
 
-    public AdnRecordLoader(IccFileHandler fh) {
+    AdnRecordLoader(IccFileHandler fh) {
         // The telephony unit-test cases may create AdnRecords
         // in secondary threads
         super(Looper.getMainLooper());
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.UiccCardApplication;
 
 /**
  * {@hide}
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
-import com.android.internal.telephony.IccCardStatus.PinState;
+import com.android.internal.telephony.uicc.IccCardStatus.PinState;
 
 
 /**
@@ -109,7 +109,7 @@ public class IccCardApplicationStatus {
     public PinState            pin1;
     public PinState            pin2;
 
-    AppType AppTypeFromRILInt(int type) {
+    public AppType AppTypeFromRILInt(int type) {
         AppType newType;
         /* RIL_AppType ril.h */
         switch(type) {
@@ -126,7 +126,7 @@ public class IccCardApplicationStatus {
         return newType;
     }
 
-    AppState AppStateFromRILInt(int state) {
+    public AppState AppStateFromRILInt(int state) {
         AppState newState;
         /* RIL_AppState ril.h */
         switch(state) {
@@ -143,7 +143,7 @@ public class IccCardApplicationStatus {
         return newState;
     }
 
-    PersoSubState PersoSubstateFromRILInt(int substate) {
+    public PersoSubState PersoSubstateFromRILInt(int substate) {
         PersoSubState newSubState;
         /* RIL_PeroSubstate ril.h */
         switch(substate) {
@@ -179,7 +179,7 @@ public class IccCardApplicationStatus {
         return newSubState;
     }
 
-    PinState PinStateFromRILInt(int state) {
+    public PinState PinStateFromRILInt(int state) {
         PinState newPinState;
         switch(state) {
             case 0:
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import static android.Manifest.permission.READ_PHONE_STATE;
 import android.app.ActivityManagerNative;
@@ -31,14 +31,20 @@ import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.telephony.TelephonyManager;
 
+import com.android.internal.telephony.CommandsInterface;
+import com.android.internal.telephony.IccCard;
+import com.android.internal.telephony.IccCardConstants;
+import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.IccCardConstants.State;
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
-import com.android.internal.telephony.IccCardApplicationStatus.PersoSubState;
-import com.android.internal.telephony.IccCardStatus.CardState;
-import com.android.internal.telephony.IccCardStatus.PinState;
 import com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager;
-import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
+import com.android.internal.telephony.uicc.IccCardStatus.CardState;
+import com.android.internal.telephony.uicc.IccCardStatus.PinState;
+import com.android.internal.telephony.uicc.UiccController;
 
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_SIM_STATE;
 
@@ -14,7 +14,8 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
+
 
 import java.util.ArrayList;
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 /**
  * {@hide}
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.os.*;
 import android.telephony.Rlog;
+
+import com.android.internal.telephony.CommandsInterface;
+
 import java.util.ArrayList;
 
 /**
@@ -14,7 +14,8 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
+
 
 /**
  * {@hide}
@@ -14,7 +14,8 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
+
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.content.Context;
 import android.os.AsyncResult;
@@ -23,8 +23,7 @@ import android.os.Message;
 import android.os.Registrant;
 import android.os.RegistrantList;
 
-import com.android.internal.telephony.gsm.UsimServiceTable;
-import com.android.internal.telephony.ims.IsimRecords;
+import com.android.internal.telephony.CommandsInterface;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 /**
  * See also RIL_SimRefresh in include/telephony/ril.h
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.telephony.Rlog;
 
diff --git a/src/java/com/android/internal/telephony/uicc/IccUtils.java b/src/java/com/android/internal/telephony/uicc/IccUtils.java
new file mode 100644 (file)
index 0000000..8b84bfe
--- /dev/null
@@ -0,0 +1,530 @@
+/*
+ * Copyright (C) 2006 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.uicc;
+
+import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.telephony.Rlog;
+
+import com.android.internal.telephony.GsmAlphabet;
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+
+/**
+ * Various methods, useful for dealing with SIM data.
+ */
+public class IccUtils {
+    static final String LOG_TAG="IccUtils";
+
+    /**
+     * Many fields in GSM SIM's are stored as nibble-swizzled BCD
+     *
+     * Assumes left-justified field that may be padded right with 0xf
+     * values.
+     *
+     * Stops on invalid BCD value, returning string so far
+     */
+    public static String
+    bcdToString(byte[] data, int offset, int length) {
+        StringBuilder ret = new StringBuilder(length*2);
+
+        for (int i = offset ; i < offset + length ; i++) {
+            byte b;
+            int v;
+
+            v = data[i] & 0xf;
+            if (v > 9)  break;
+            ret.append((char)('0' + v));
+
+            v = (data[i] >> 4) & 0xf;
+            // Some PLMNs have 'f' as high nibble, ignore it
+            if (v == 0xf) continue;
+            if (v > 9)  break;
+            ret.append((char)('0' + v));
+        }
+
+        return ret.toString();
+    }
+
+    /**
+     * Decode cdma byte into String.
+     */
+    public static String
+    cdmaBcdToString(byte[] data, int offset, int length) {
+        StringBuilder ret = new StringBuilder(length);
+
+        int count = 0;
+        for (int i = offset; count < length; i++) {
+            int v;
+            v = data[i] & 0xf;
+            if (v > 9)  v = 0;
+            ret.append((char)('0' + v));
+
+            if (++count == length) break;
+
+            v = (data[i] >> 4) & 0xf;
+            if (v > 9)  v = 0;
+            ret.append((char)('0' + v));
+            ++count;
+        }
+        return ret.toString();
+    }
+
+    /**
+     * Decodes a GSM-style BCD byte, returning an int ranging from 0-99.
+     *
+     * In GSM land, the least significant BCD digit is stored in the most
+     * significant nibble.
+     *
+     * Out-of-range digits are treated as 0 for the sake of the time stamp,
+     * because of this:
+     *
+     * TS 23.040 section 9.2.3.11
+     * "if the MS receives a non-integer value in the SCTS, it shall
+     * assume the digit is set to 0 but shall store the entire field
+     * exactly as received"
+     */
+    public static int
+    gsmBcdByteToInt(byte b) {
+        int ret = 0;
+
+        // treat out-of-range BCD values as 0
+        if ((b & 0xf0) <= 0x90) {
+            ret = (b >> 4) & 0xf;
+        }
+
+        if ((b & 0x0f) <= 0x09) {
+            ret +=  (b & 0xf) * 10;
+        }
+
+        return ret;
+    }
+
+    /**
+     * Decodes a CDMA style BCD byte like {@link gsmBcdByteToInt}, but
+     * opposite nibble format. The least significant BCD digit
+     * is in the least significant nibble and the most significant
+     * is in the most significant nibble.
+     */
+    public static int
+    cdmaBcdByteToInt(byte b) {
+        int ret = 0;
+
+        // treat out-of-range BCD values as 0
+        if ((b & 0xf0) <= 0x90) {
+            ret = ((b >> 4) & 0xf) * 10;
+        }
+
+        if ((b & 0x0f) <= 0x09) {
+            ret +=  (b & 0xf);
+        }
+
+        return ret;
+    }
+
+    /**
+     * Decodes a string field that's formatted like the EF[ADN] alpha
+     * identifier
+     *
+     * From TS 51.011 10.5.1:
+     *   Coding:
+     *       this alpha tagging shall use either
+     *      -    the SMS default 7 bit coded alphabet as defined in
+     *          TS 23.038 [12] with bit 8 set to 0. The alpha identifier
+     *          shall be left justified. Unused bytes shall be set to 'FF'; or
+     *      -    one of the UCS2 coded options as defined in annex B.
+     *
+     * Annex B from TS 11.11 V8.13.0:
+     *      1)  If the first octet in the alpha string is '80', then the
+     *          remaining octets are 16 bit UCS2 characters ...
+     *      2)  if the first octet in the alpha string is '81', then the
+     *          second octet contains a value indicating the number of
+     *          characters in the string, and the third octet contains an
+     *          8 bit number which defines bits 15 to 8 of a 16 bit
+     *          base pointer, where bit 16 is set to zero and bits 7 to 1
+     *          are also set to zero.  These sixteen bits constitute a
+     *          base pointer to a "half page" in the UCS2 code space, to be
+     *          used with some or all of the remaining octets in the string.
+     *          The fourth and subsequent octets contain codings as follows:
+     *          If bit 8 of the octet is set to zero, the remaining 7 bits
+     *          of the octet contain a GSM Default Alphabet character,
+     *          whereas if bit 8 of the octet is set to one, then the
+     *          remaining seven bits are an offset value added to the
+     *          16 bit base pointer defined earlier...
+     *      3)  If the first octet of the alpha string is set to '82', then
+     *          the second octet contains a value indicating the number of
+     *          characters in the string, and the third and fourth octets
+     *          contain a 16 bit number which defines the complete 16 bit
+     *          base pointer to a "half page" in the UCS2 code space...
+     */
+    public static String
+    adnStringFieldToString(byte[] data, int offset, int length) {
+        if (length == 0) {
+            return "";
+        }
+        if (length >= 1) {
+            if (data[offset] == (byte) 0x80) {
+                int ucslen = (length - 1) / 2;
+                String ret = null;
+
+                try {
+                    ret = new String(data, offset + 1, ucslen * 2, "utf-16be");
+                } catch (UnsupportedEncodingException ex) {
+                    Rlog.e(LOG_TAG, "implausible UnsupportedEncodingException",
+                          ex);
+                }
+
+                if (ret != null) {
+                    // trim off trailing FFFF characters
+
+                    ucslen = ret.length();
+                    while (ucslen > 0 && ret.charAt(ucslen - 1) == '\uFFFF')
+                        ucslen--;
+
+                    return ret.substring(0, ucslen);
+                }
+            }
+        }
+
+        boolean isucs2 = false;
+        char base = '\0';
+        int len = 0;
+
+        if (length >= 3 && data[offset] == (byte) 0x81) {
+            len = data[offset + 1] & 0xFF;
+            if (len > length - 3)
+                len = length - 3;
+
+            base = (char) ((data[offset + 2] & 0xFF) << 7);
+            offset += 3;
+            isucs2 = true;
+        } else if (length >= 4 && data[offset] == (byte) 0x82) {
+            len = data[offset + 1] & 0xFF;
+            if (len > length - 4)
+                len = length - 4;
+
+            base = (char) (((data[offset + 2] & 0xFF) << 8) |
+                            (data[offset + 3] & 0xFF));
+            offset += 4;
+            isucs2 = true;
+        }
+
+        if (isucs2) {
+            StringBuilder ret = new StringBuilder();
+
+            while (len > 0) {
+                // UCS2 subset case
+
+                if (data[offset] < 0) {
+                    ret.append((char) (base + (data[offset] & 0x7F)));
+                    offset++;
+                    len--;
+                }
+
+                // GSM character set case
+
+                int count = 0;
+                while (count < len && data[offset + count] >= 0)
+                    count++;
+
+                ret.append(GsmAlphabet.gsm8BitUnpackedToString(data,
+                           offset, count));
+
+                offset += count;
+                len -= count;
+            }
+
+            return ret.toString();
+        }
+
+        Resources resource = Resources.getSystem();
+        String defaultCharset = "";
+        try {
+            defaultCharset =
+                    resource.getString(com.android.internal.R.string.gsm_alphabet_default_charset);
+        } catch (NotFoundException e) {
+            // Ignore Exception and defaultCharset is set to a empty string.
+        }
+        return GsmAlphabet.gsm8BitUnpackedToString(data, offset, length, defaultCharset.trim());
+    }
+
+    static int
+    hexCharToInt(char c) {
+        if (c >= '0' && c <= '9') return (c - '0');
+        if (c >= 'A' && c <= 'F') return (c - 'A' + 10);
+        if (c >= 'a' && c <= 'f') return (c - 'a' + 10);
+
+        throw new RuntimeException ("invalid hex char '" + c + "'");
+    }
+
+    /**
+     * Converts a hex String to a byte array.
+     *
+     * @param s A string of hexadecimal characters, must be an even number of
+     *          chars long
+     *
+     * @return byte array representation
+     *
+     * @throws RuntimeException on invalid format
+     */
+    public static byte[]
+    hexStringToBytes(String s) {
+        byte[] ret;
+
+        if (s == null) return null;
+
+        int sz = s.length();
+
+        ret = new byte[sz/2];
+
+        for (int i=0 ; i <sz ; i+=2) {
+            ret[i/2] = (byte) ((hexCharToInt(s.charAt(i)) << 4)
+                                | hexCharToInt(s.charAt(i+1)));
+        }
+
+        return ret;
+    }
+
+
+    /**
+     * Converts a byte array into a String of hexadecimal characters.
+     *
+     * @param bytes an array of bytes
+     *
+     * @return hex string representation of bytes array
+     */
+    public static String
+    bytesToHexString(byte[] bytes) {
+        if (bytes == null) return null;
+
+        StringBuilder ret = new StringBuilder(2*bytes.length);
+
+        for (int i = 0 ; i < bytes.length ; i++) {
+            int b;
+
+            b = 0x0f & (bytes[i] >> 4);
+
+            ret.append("0123456789abcdef".charAt(b));
+
+            b = 0x0f & bytes[i];
+
+            ret.append("0123456789abcdef".charAt(b));
+        }
+
+        return ret.toString();
+    }
+
+
+    /**
+     * Convert a TS 24.008 Section 10.5.3.5a Network Name field to a string
+     * "offset" points to "octet 3", the coding scheme byte
+     * empty string returned on decode error
+     */
+    public static String
+    networkNameToString(byte[] data, int offset, int length) {
+        String ret;
+
+        if ((data[offset] & 0x80) != 0x80 || length < 1) {
+            return "";
+        }
+
+        switch ((data[offset] >>> 4) & 0x7) {
+            case 0:
+                // SMS character set
+                int countSeptets;
+                int unusedBits = data[offset] & 7;
+                countSeptets = (((length - 1) * 8) - unusedBits) / 7 ;
+                ret =  GsmAlphabet.gsm7BitPackedToString(data, offset + 1, countSeptets);
+            break;
+            case 1:
+                // UCS2
+                try {
+                    ret = new String(data,
+                            offset + 1, length - 1, "utf-16");
+                } catch (UnsupportedEncodingException ex) {
+                    ret = "";
+                    Rlog.e(LOG_TAG,"implausible UnsupportedEncodingException", ex);
+                }
+            break;
+
+            // unsupported encoding
+            default:
+                ret = "";
+            break;
+        }
+
+        // "Add CI"
+        // "The MS should add the letters for the Country's Initials and
+        //  a separator (e.g. a space) to the text string"
+
+        if ((data[offset] & 0x40) != 0) {
+            // FIXME(mkf) add country initials here
+
+        }
+
+        return ret;
+    }
+
+    /**
+     * Convert a TS 131.102 image instance of code scheme '11' into Bitmap
+     * @param data The raw data
+     * @param length The length of image body
+     * @return The bitmap
+     */
+    public static Bitmap parseToBnW(byte[] data, int length){
+        int valueIndex = 0;
+        int width = data[valueIndex++] & 0xFF;
+        int height = data[valueIndex++] & 0xFF;
+        int numOfPixels = width*height;
+
+        int[] pixels = new int[numOfPixels];
+
+        int pixelIndex = 0;
+        int bitIndex = 7;
+        byte currentByte = 0x00;
+        while (pixelIndex < numOfPixels) {
+            // reassign data and index for every byte (8 bits).
+            if (pixelIndex % 8 == 0) {
+                currentByte = data[valueIndex++];
+                bitIndex = 7;
+            }
+            pixels[pixelIndex++] = bitToRGB((currentByte >> bitIndex-- ) & 0x01);
+        };
+
+        if (pixelIndex != numOfPixels) {
+            Rlog.e(LOG_TAG, "parse end and size error");
+        }
+        return Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888);
+    }
+
+    private static int bitToRGB(int bit){
+        if(bit == 1){
+            return Color.WHITE;
+        } else {
+            return Color.BLACK;
+        }
+    }
+
+    /**
+     * a TS 131.102 image instance of code scheme '11' into color Bitmap
+     *
+     * @param data The raw data
+     * @param length the length of image body
+     * @param transparency with or without transparency
+     * @return The color bitmap
+     */
+    public static Bitmap parseToRGB(byte[] data, int length,
+            boolean transparency) {
+        int valueIndex = 0;
+        int width = data[valueIndex++] & 0xFF;
+        int height = data[valueIndex++] & 0xFF;
+        int bits = data[valueIndex++] & 0xFF;
+        int colorNumber = data[valueIndex++] & 0xFF;
+        int clutOffset = ((data[valueIndex++] & 0xFF) << 8)
+                | (data[valueIndex++] & 0xFF);
+
+        int[] colorIndexArray = getCLUT(data, clutOffset, colorNumber);
+        if (true == transparency) {
+            colorIndexArray[colorNumber - 1] = Color.TRANSPARENT;
+        }
+
+        int[] resultArray = null;
+        if (0 == (8 % bits)) {
+            resultArray = mapTo2OrderBitColor(data, valueIndex,
+                    (width * height), colorIndexArray, bits);
+        } else {
+            resultArray = mapToNon2OrderBitColor(data, valueIndex,
+                    (width * height), colorIndexArray, bits);
+        }
+
+        return Bitmap.createBitmap(resultArray, width, height,
+                Bitmap.Config.RGB_565);
+    }
+
+    private static int[] mapTo2OrderBitColor(byte[] data, int valueIndex,
+            int length, int[] colorArray, int bits) {
+        if (0 != (8 % bits)) {
+            Rlog.e(LOG_TAG, "not event number of color");
+            return mapToNon2OrderBitColor(data, valueIndex, length, colorArray,
+                    bits);
+        }
+
+        int mask = 0x01;
+        switch (bits) {
+        case 1:
+            mask = 0x01;
+            break;
+        case 2:
+            mask = 0x03;
+            break;
+        case 4:
+            mask = 0x0F;
+            break;
+        case 8:
+            mask = 0xFF;
+            break;
+        }
+
+        int[] resultArray = new int[length];
+        int resultIndex = 0;
+        int run = 8 / bits;
+        while (resultIndex < length) {
+            byte tempByte = data[valueIndex++];
+            for (int runIndex = 0; runIndex < run; ++runIndex) {
+                int offset = run - runIndex - 1;
+                resultArray[resultIndex++] = colorArray[(tempByte >> (offset * bits))
+                        & mask];
+            }
+        }
+        return resultArray;
+    }
+
+    private static int[] mapToNon2OrderBitColor(byte[] data, int valueIndex,
+            int length, int[] colorArray, int bits) {
+        if (0 == (8 % bits)) {
+            Rlog.e(LOG_TAG, "not odd number of color");
+            return mapTo2OrderBitColor(data, valueIndex, length, colorArray,
+                    bits);
+        }
+
+        int[] resultArray = new int[length];
+        // TODO fix me:
+        return resultArray;
+    }
+
+    private static int[] getCLUT(byte[] rawData, int offset, int number) {
+        if (null == rawData) {
+            return null;
+        }
+
+        int[] result = new int[number];
+        int endIndex = offset + (number * 3); // 1 color use 3 bytes
+        int valueIndex = offset;
+        int colorIndex = 0;
+        int alpha = 0xff << 24;
+        do {
+            result[colorIndex++] = alpha
+                    | ((rawData[valueIndex++] & 0xFF) << 16)
+                    | ((rawData[valueIndex++] & 0xFF) << 8)
+                    | ((rawData[valueIndex++] & 0xFF));
+        } while (valueIndex < endIndex);
+        return result;
+    }
+}
  * limitations under the License.
  */
 
-package com.android.internal.telephony.ims;
+package com.android.internal.telephony.uicc;
 
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.UiccCardApplication;
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.ims;
+package com.android.internal.telephony.uicc;
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.ims;
+package com.android.internal.telephony.uicc;
 
 import android.content.Context;
 import android.os.AsyncResult;
@@ -22,22 +22,16 @@ import android.os.Handler;
 import android.os.Message;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.AdnRecord;
-import com.android.internal.telephony.AdnRecordCache;
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccRecords;
-import com.android.internal.telephony.UiccCardApplication;
 import com.android.internal.telephony.gsm.SimTlv;
-import com.android.internal.telephony.gsm.SpnOverride;
 //import com.android.internal.telephony.gsm.VoiceMailConstants;
 
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 
-import static com.android.internal.telephony.IccConstants.EF_DOMAIN;
-import static com.android.internal.telephony.IccConstants.EF_IMPI;
-import static com.android.internal.telephony.IccConstants.EF_IMPU;
+import static com.android.internal.telephony.uicc.IccConstants.EF_DOMAIN;
+import static com.android.internal.telephony.uicc.IccConstants.EF_IMPI;
+import static com.android.internal.telephony.uicc.IccConstants.EF_IMPU;
 
 /**
  * {@hide}
  * limitations under the License.
  */
 
-package com.android.internal.telephony.cdma;
+package com.android.internal.telephony.uicc;
 
 import android.os.*;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.UiccCardApplication;
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.cdma;
+package com.android.internal.telephony.uicc;
 
 
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ISO_COUNTRY;
@@ -33,27 +33,18 @@ import android.os.Registrant;
 import android.os.SystemProperties;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.AdnRecord;
-import com.android.internal.telephony.AdnRecordCache;
-import com.android.internal.telephony.AdnRecordLoader;
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccRefreshResponse;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.TelephonyProperties;
 import com.android.internal.telephony.MccTable;
-import com.android.internal.telephony.UiccCardApplication;
 
 // can't be used since VoiceMailConstants is not public
 //import com.android.internal.telephony.gsm.VoiceMailConstants;
-import com.android.internal.telephony.IccException;
-import com.android.internal.telephony.IccRecords;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.PhoneProxy;
-import com.android.internal.telephony.IccCardApplicationStatus.AppType;
-import com.android.internal.telephony.IccRecords.IccRecordLoaded;
 import com.android.internal.telephony.cdma.sms.UserData;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
 
 
 /**
  * limitations under the License.
  */
 
-package com.android.internal.telephony.gsm;
+package com.android.internal.telephony.uicc;
 
 import android.os.Message;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.UiccCardApplication;
 
 /**
  * {@hide}
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.gsm;
+package com.android.internal.telephony.uicc;
 
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ALPHA;
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ISO_COUNTRY;
@@ -27,23 +27,15 @@ import android.os.SystemProperties;
 import android.text.TextUtils;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.AdnRecord;
-import com.android.internal.telephony.AdnRecordCache;
-import com.android.internal.telephony.AdnRecordLoader;
 import com.android.internal.telephony.BaseCommands;
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.IccCardConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccRecords;
-import com.android.internal.telephony.IccUtils;
-import com.android.internal.telephony.IccVmFixedException;
-import com.android.internal.telephony.IccVmNotSupportedException;
 import com.android.internal.telephony.MccTable;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.SmsMessageBase;
-import com.android.internal.telephony.IccRefreshResponse;
-import com.android.internal.telephony.UiccCardApplication;
+import com.android.internal.telephony.gsm.SimTlv;
+import com.android.internal.telephony.gsm.SmsMessage;
 
 import java.util.ArrayList;
 
@@ -100,8 +92,8 @@ public class SIMRecords extends IccRecords {
     // ***** Constants
 
     // Bitmasks for SPN display rules.
-    static final int SPN_RULE_SHOW_SPN  = 0x01;
-    static final int SPN_RULE_SHOW_PLMN = 0x02;
+    public static final int SPN_RULE_SHOW_SPN  = 0x01;
+    public static final int SPN_RULE_SHOW_PLMN = 0x02;
 
     // From TS 51.011 EF[SPDI] section
     static final int TAG_SPDI = 0xA3;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.gsm;
+package com.android.internal.telephony.uicc;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import static android.Manifest.permission.READ_PHONE_STATE;
 import android.app.ActivityManagerNative;
@@ -32,23 +32,18 @@ import android.os.RegistrantList;
 import android.telephony.Rlog;
 import android.view.WindowManager;
 
+import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.CommandsInterface.RadioState;
 import com.android.internal.telephony.IccCardConstants.State;
-import com.android.internal.telephony.IccCardApplicationStatus;
-import com.android.internal.telephony.IccCardApplicationStatus.AppType;
-import com.android.internal.telephony.IccCardStatus.CardState;
-import com.android.internal.telephony.IccCardStatus.PinState;
 import com.android.internal.telephony.gsm.GSMPhone;
-import com.android.internal.telephony.gsm.SIMFileHandler;
-import com.android.internal.telephony.gsm.SIMRecords;
-import com.android.internal.telephony.uicc.UiccController;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.IccCardStatus.CardState;
+import com.android.internal.telephony.uicc.IccCardStatus.PinState;
 import com.android.internal.telephony.cat.CatService;
 import com.android.internal.telephony.cdma.CDMALTEPhone;
 import com.android.internal.telephony.cdma.CDMAPhone;
 import com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager;
-import com.android.internal.telephony.cdma.RuimFileHandler;
-import com.android.internal.telephony.cdma.RuimRecords;
 
 import android.os.SystemProperties;
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.content.Context;
 import android.os.AsyncResult;
@@ -24,16 +24,11 @@ import android.os.Registrant;
 import android.os.RegistrantList;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccCardApplicationStatus.AppState;
-import com.android.internal.telephony.IccCardApplicationStatus.AppType;
-import com.android.internal.telephony.IccCardApplicationStatus.PersoSubState;
-import com.android.internal.telephony.IccCardStatus.PinState;
-import com.android.internal.telephony.cdma.RuimFileHandler;
-import com.android.internal.telephony.cdma.RuimRecords;
-import com.android.internal.telephony.gsm.SIMFileHandler;
-import com.android.internal.telephony.gsm.SIMRecords;
-import com.android.internal.telephony.ims.IsimFileHandler;
-import com.android.internal.telephony.ims.IsimUiccRecords;
+import com.android.internal.telephony.CommandsInterface;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
+import com.android.internal.telephony.uicc.IccCardStatus.PinState;
 
 /**
  * {@hide}
index d0ebb3d..d486743 100644 (file)
@@ -25,12 +25,6 @@ import android.os.RegistrantList;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccCardStatus;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.IccRecords;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.UiccCard;
-import com.android.internal.telephony.UiccCardApplication;
 
 /**
  * This class is responsible for keeping all knowledge about
  * limitations under the License.
  */
 
-package com.android.internal.telephony;
+package com.android.internal.telephony.uicc;
 
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.IccConstants;
-import com.android.internal.telephony.IccFileHandler;
-import com.android.internal.telephony.UiccCardApplication;
+import com.android.internal.telephony.uicc.UiccCardApplication;
 
 /**
  * {@hide}
@@ -14,9 +14,8 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.gsm;
+package com.android.internal.telephony.uicc;
 
-import com.android.internal.telephony.IccServiceTable;
 
 /**
  * Wrapper class for the USIM Service Table EF.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.internal.telephony.gsm;
+package com.android.internal.telephony.uicc;
 
 import android.os.Environment;
 import android.util.Xml;
index 8a4a285..d647ae1 100644 (file)
@@ -19,6 +19,9 @@ package com.android.internal.telephony;
 import junit.framework.TestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
+import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.uicc.IccUtils;
+
 /**
  * {@hide}
  */
index f9dc3a9..5a90f4e 100644 (file)
@@ -17,6 +17,7 @@
 package com.android.internal.telephony;
 
 import com.android.internal.telephony.GsmAlphabet;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import junit.framework.TestCase;
 
index c89f33a..f715266 100644 (file)
@@ -19,6 +19,8 @@ package com.android.internal.telephony;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
+import com.android.internal.telephony.uicc.IccServiceTable;
+
 /**
  * Test IccServiceTable class.
  */
index 8a66614..80cd9f1 100644 (file)
@@ -21,6 +21,8 @@ import com.android.internal.telephony.TestPhoneNotifier;
 import com.android.internal.telephony.gsm.SmsMessage;
 import com.android.internal.telephony.test.SimulatedCommands;
 import com.android.internal.telephony.test.SimulatedRadioControl;
+import com.android.internal.telephony.uicc.IccUtils;
+
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.Suppress;
 
index 609e768..9d5c680 100644 (file)
@@ -19,6 +19,9 @@ package com.android.internal.telephony;
 import android.os.ServiceManager;
 import android.test.suitebuilder.annotation.Suppress;
 
+import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.uicc.IccConstants;
+
 import java.util.List;
 
 import junit.framework.TestCase;
index ef62d85..c79f17f 100644 (file)
@@ -17,7 +17,8 @@
 package com.android.internal.telephony;
 
 import com.android.internal.telephony.gsm.SimTlv;
-import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.uicc.IccUtils;
+
 import junit.framework.TestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
index f74400c..8f84bdc 100644 (file)
@@ -24,11 +24,11 @@ import android.test.AndroidTestCase;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.GsmAlphabet;
-import com.android.internal.telephony.IccUtils;
 import com.android.internal.telephony.cdma.sms.BearerData;
 import com.android.internal.telephony.cdma.sms.CdmaSmsAddress;
 import com.android.internal.telephony.cdma.sms.SmsEnvelope;
 import com.android.internal.telephony.cdma.sms.UserData;
+import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.util.BitwiseOutputStream;
 
 import java.util.Arrays;
index 8aa718a..943e36d 100644 (file)
@@ -22,7 +22,7 @@ import android.telephony.SmsCbMessage;
 import android.test.AndroidTestCase;
 import android.telephony.Rlog;
 
-import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.uicc.IccUtils;
 
 import java.util.Random;
 
index a858806..f001977 100644 (file)
@@ -23,8 +23,8 @@ import android.os.SystemClock;
 import android.telephony.Rlog;
 
 import com.android.internal.telephony.BaseCommands;
-import com.android.internal.telephony.IccIoResult;
 import com.android.internal.telephony.UUSInfo;
+import com.android.internal.telephony.uicc.IccIoResult;
 
 import junit.framework.Assert;
 
index 56854ed..a2965c6 100644 (file)
@@ -19,6 +19,8 @@ package com.android.internal.telephony.gsm;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
+import com.android.internal.telephony.uicc.UsimServiceTable;
+
 /**
  * Test UsimServiceTable class.
  */