Add a SubId to getDataState and getDataActivity

Both getDataState and getDataActivity should work
on multiple data subIds rather than just the default.
This fix will make the data state explicit by subId
and avoid any potential ambiguity during windows where
data is changing between subIds.

(This CL is an un-revert of aosp/984735)

Bug: 135205433
Test: manual (automated testing for PIM infeasible)
Change-Id: I5fe30bd1f3819f256883b48adccbe6d42ed03ec9
Merged-In: I5fe30bd1f3819f256883b48adccbe6d42ed03ec9
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index d0ed9bd..a948cbf 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -1872,9 +1872,14 @@
 
     @Override
     public int getDataState() {
+        return getDataStateForSubId(mSubscriptionController.getDefaultDataSubId());
+    }
+
+    @Override
+    public int getDataStateForSubId(int subId) {
         final long identity = Binder.clearCallingIdentity();
         try {
-            Phone phone = getPhone(mSubscriptionController.getDefaultDataSubId());
+            final Phone phone = getPhone(subId);
             if (phone != null) {
                 return PhoneConstantConversions.convertDataState(phone.getDataConnectionState());
             } else {
@@ -1888,9 +1893,14 @@
 
     @Override
     public int getDataActivity() {
+        return getDataActivityForSubId(mSubscriptionController.getDefaultDataSubId());
+    }
+
+    @Override
+    public int getDataActivityForSubId(int subId) {
         final long identity = Binder.clearCallingIdentity();
         try {
-            Phone phone = getPhone(mSubscriptionController.getDefaultDataSubId());
+            final Phone phone = getPhone(subId);
             if (phone != null) {
                 return DefaultPhoneNotifier.convertDataActivityState(phone.getDataActivityState());
             } else {