diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/java/com/android/internal/telephony/SamsungQualcommRIL.java | 57 |
1 files changed, 49 insertions, 8 deletions
diff --git a/src/java/com/android/internal/telephony/SamsungQualcommRIL.java b/src/java/com/android/internal/telephony/SamsungQualcommRIL.java index 027af5a..8aa988b 100644 --- a/src/java/com/android/internal/telephony/SamsungQualcommRIL.java +++ b/src/java/com/android/internal/telephony/SamsungQualcommRIL.java @@ -289,10 +289,6 @@ public class SamsungQualcommRIL extends RIL implements CommandsInterface { @Override protected void processSolicited (Parcel p) { - if (isGSM){ - super.processSolicited(p); - return; - } int serial, error; boolean found = false; @@ -498,15 +494,57 @@ public class SamsungQualcommRIL extends RIL implements CommandsInterface { } - // CDMA FIXES, this fixes bogus values in nv/sim on d2/jf/t0 cdma family + // CDMA FIXES, this fixes bogus values in nv/sim on d2/jf/t0 cdma family or bogus information from sim card private Object operatorCheck(Parcel p) { String response[] = (String[])responseStrings(p); for(int i=0; i<response.length; i++){ if (response[i]!= null){ - if (response[i].equals(" Empty") || (response[i].equals("")&& i<2)) - response[i]=operator; - if (response[i].equals("31000")|| response[i].equals("11111") || response[i].equals("123456") || response[i].equals("31099") || (response[i].equals("")&& i>=2) ) + if (i<2){ + if (response[i].equals(" Empty") || (response[i].equals("") && !isGSM)) + response[i]=operator; + else if (response[i].equals("23410")||response[i].equals("26207")) + response[i]="O2"; + else if (response[i].equals("310260") || response[i].equals("23430")|| response[i].equals("23203")||response[i].equals("26201")) + response[i]="T-Mobile"; + else if (response[i].equals("23201")) + response[i]="A1"; + else if (response[i].equals("22210")) + response[i]="Vodafone Italia"; + else if (response[i].equals("20810")) + response[i]="SFR"; + else if (response[i].equals("20801")||response[i].equals("23205")) + response[i]="Orange"; + else if (response[i].equals("24201")) + response[i]="N Telenor"; + else if (response[i].equals("24202")) + response[i]="N NetCom"; + else if (response[i].equals("24205")) + response[i]="Mobile Norway"; + else if (response[i].equals("23433")) + response[i]="EE"; + else if (response[i].equals("50212")) + response[i]="Maxis"; + else if (response[i].equals("23210")) + response[i]="3"; + else if (response[i].equals("26203")) + response[i]="E-Plus"; + else if (response[i].equals("24412")||response[i].equals("24403")) + response[i]="DNA"; + else if (response[i].equals("24414")) + response[i]="AMT"; + else if (response[i].equals("24405")) + response[i]="Elisa"; + else if (response[i].equals("24421")) + response[i]="Saunalahti"; + else if (response[i].equals("24491")) + response[i]="Sonera"; + else if (response[i].equals("26803")) + response[i]="Optimus"; + else if (response[i].equals("21910")) + response[i]="VIPnet"; + } + else if (response[i].equals("31000")|| response[i].equals("11111") || response[i].equals("123456") || response[i].equals("31099") || (response[i].equals("") && !isGSM)) response[i]=homeOperator; } } @@ -516,6 +554,9 @@ public class SamsungQualcommRIL extends RIL implements CommandsInterface { private Object responseVoiceDataRegistrationState(Parcel p) { String response[] = (String[])responseStrings(p); + if (isGSM){ + return response; + } if ( response.length>=10){ for(int i=6; i<=9; i++){ if (response[i]== null){ |