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