Add SubId to TelephonyManager APIs.
Change-Id: I680d7f06d7097b487244c037f926cd23fdfa163c
diff --git a/Common/src/com/googlecode/android_scripting/facade/tele/PhoneFacade.java b/Common/src/com/googlecode/android_scripting/facade/tele/PhoneFacade.java
index ff63dea..ff234af 100644
--- a/Common/src/com/googlecode/android_scripting/facade/tele/PhoneFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/tele/PhoneFacade.java
@@ -260,9 +260,7 @@
}
Log.v("SL4A: Setting the preferred network setting of subId: "
+ subId +"to:" + networkType);
- mTelephonyManager.setPreferredNetworkType(networkType);
- // TODO No framework API for setPreferredNetworkType(int subId)
- // Need to find some other way to do this
+ mTelephonyManager.setPreferredNetworkType(subId, networkType);
return true;
}
@@ -277,9 +275,7 @@
"specified subscription ID .Return value is integer.")
public int phoneGetPreferredNetworkTypeIntegerForSubscription(
@RpcParameter(name = "subId") Integer subId) {
- // TODO No framework API for getPreferredNetworkType(int subId)
- // Need to find some other way to do this
- return mTelephonyManager.getPreferredNetworkType();
+ return mTelephonyManager.getPreferredNetworkType(subId);
}
@Rpc(description = "Get preferred network setting for " +
@@ -293,9 +289,7 @@
"specified subscription ID.Return value is String.")
public String phoneGetPreferredNetworkTypeForSubscription(
@RpcParameter(name = "subId") Integer subId) {
- // TODO No framework API for getPreferredNetworkType(int subId)
- // Need to find some other way to do this
- int mode = mTelephonyManager.getPreferredNetworkType();
+ int mode = mTelephonyManager.getPreferredNetworkType(subId);
int phoneType = mTelephonyManager.getPhoneType();
if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
switch (mode) {
@@ -1088,10 +1082,16 @@
@Rpc(description = "Sets the preferred Network type")
public void setPreferredNetwork(Integer networktype) {
+ Integer subId = SubscriptionManager.getDefaultSubId();
+ setPreferredNetworkForSubscription(subId, networktype);
+ }
+
+ @Rpc(description = "Sets the preferred network type for the given subId")
+ public void setPreferredNetworkForSubscription(Integer subId, Integer networktype) {
android.provider.Settings.Global.putInt(mService.getContentResolver(),
- android.provider.Settings.Global.PREFERRED_NETWORK_MODE,
+ android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId,
networktype );
- mTelephonyManager.setPreferredNetworkType(networktype);
+ mTelephonyManager.setPreferredNetworkType(subId, networktype);
}
@Rpc(description = "Returns the current data connection state")