OSDN Git Service

Adding validate before switch feature.
authorMalcolm Chen <refuhoo@google.com>
Fri, 25 Jan 2019 00:33:51 +0000 (16:33 -0800)
committerXiangyu/Malcolm Chen <refuhoo@google.com>
Wed, 20 Feb 2019 02:52:14 +0000 (02:52 +0000)
In CBRS DSDS mode, switching data to CBRS network will require
validation first. Adding a component of CellularNetworkValidator
to trigger the validation and pass the result back to PhoneSwitcher.

Bug: 118348832
Test: manual
Change-Id: I689aa494f031834b5cee76906922ebdafa9c77ed
Merged-In: I689aa494f031834b5cee76906922ebdafa9c77ed

telephony/java/android/telephony/SubscriptionManager.java
telephony/java/com/android/internal/telephony/ISub.aidl

index 5b9e232..52cab55 100644 (file)
@@ -2583,8 +2583,14 @@ public class SubscriptionManager {
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     public void setPreferredDataSubscriptionId(int subId) {
         if (VDBG) logd("[setPreferredDataSubscriptionId]+ subId:" + subId);
-        setSubscriptionPropertyHelper(DEFAULT_SUBSCRIPTION_ID, "setPreferredDataSubscriptionId",
-                (iSub)-> iSub.setPreferredDataSubscriptionId(subId));
+        try {
+            ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
+            if (iSub != null) {
+                iSub.setPreferredDataSubscriptionId(subId);
+            }
+        } catch (RemoteException ex) {
+            // ignore it
+        }
     }
 
     /**
index a49d2d9..6ce9de4 100755 (executable)
@@ -220,7 +220,7 @@ interface ISub {
      * @hide
      *
      */
-    int setPreferredDataSubscriptionId(int subId);
+    void setPreferredDataSubscriptionId(int subId);
 
     /**
      * Get which subscription is preferred for cellular data.