summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java b/telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java
index d3ea252..c45ab19 100644
--- a/telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java
+++ b/telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java
@@ -27,6 +27,8 @@ import android.text.TextUtils;
import android.util.Log;
import com.android.internal.telephony.RILConstants;
+import java.util.ArrayList;
+
/**
* Custom RIL to handle unique behavior of Hercules/Skyrocket/Note radio
*
@@ -106,6 +108,47 @@ public class SamsungQualcommUiccRIL extends QualcommSharedRIL implements Command
}
@Override
+ public void
+ setNetworkSelectionModeManual(String operatorNumeric, Message response) {
+ RILRequest rr
+ = RILRequest.obtain(RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL,
+ response);
+
+ if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)
+ + " " + operatorNumeric);
+
+ rr.mp.writeString(operatorNumeric);
+
+ send(rr);
+ }
+
+ @Override
+ protected Object
+ responseOperatorInfos(Parcel p) {
+ String strings[] = (String [])responseStrings(p);
+ ArrayList<OperatorInfo> ret;
+
+ if (strings.length % 4 != 0) {
+ throw new RuntimeException(
+ "RIL_REQUEST_QUERY_AVAILABLE_NETWORKS: invalid response. Got "
+ + strings.length + " strings, expected multible of 4");
+ }
+
+ ret = new ArrayList<OperatorInfo>(strings.length / 4);
+
+ for (int i = 0 ; i < strings.length ; i += 4) {
+ ret.add (
+ new OperatorInfo(
+ strings[i+0],
+ strings[i+1],
+ strings[i+2],
+ strings[i+3]));
+ }
+
+ return ret;
+ }
+
+ @Override
protected Object
responseIccCardStatus(Parcel p) {
IccCardApplication ca;