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);
+ }
+ }
}