Fixed tethering failed when device is on CBRS

Fixed by using the correct sub id for CBRS subscription

Bug: 133852860
Test: Manual
Change-Id: I0b83d2d06580ea9f571dd1dd2608ba3a5d40d79e
diff --git a/src/java/com/android/internal/telephony/PhoneSwitcher.java b/src/java/com/android/internal/telephony/PhoneSwitcher.java
index 545ccc9..207e588 100644
--- a/src/java/com/android/internal/telephony/PhoneSwitcher.java
+++ b/src/java/com/android/internal/telephony/PhoneSwitcher.java
@@ -1083,6 +1083,13 @@
         }
     }
 
+    /**
+     * @return The active data subscription id
+     */
+    public int getActiveDataSubId() {
+        return mPreferredDataSubId;
+    }
+
     public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
         final IndentingPrintWriter pw = new IndentingPrintWriter(writer, "  ");
         pw.println("PhoneSwitcher:");
diff --git a/src/java/com/android/internal/telephony/SubscriptionController.java b/src/java/com/android/internal/telephony/SubscriptionController.java
index 1c86341..37d2ed8 100644
--- a/src/java/com/android/internal/telephony/SubscriptionController.java
+++ b/src/java/com/android/internal/telephony/SubscriptionController.java
@@ -3693,4 +3693,27 @@
         return TextUtils.emptyIfNull(getSubscriptionProperty(subId,
                 SubscriptionManager.DATA_ENABLED_OVERRIDE_RULES));
     }
+
+    /**
+     * Get active data subscription id.
+     *
+     * @return Active data subscription id
+     *
+     * @hide
+     */
+    @Override
+    public int getActiveDataSubscriptionId() {
+        enforceReadPrivilegedPhoneState("getActiveDataSubscriptionId");
+        final long token = Binder.clearCallingIdentity();
+
+        try {
+            int subId = PhoneSwitcher.getInstance().getActiveDataSubId();
+            if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
+                subId = getDefaultDataSubId();
+            }
+            return subId;
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
 }