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")