Telephony: Implementation of DATA+MMS

- New base id for DdsScheduler async channel events

Change-Id: Ib5c4cae7b8471a8d0d2230354eb7cf2ea315ee67
diff --git a/core/java/com/android/internal/util/Protocol.java b/core/java/com/android/internal/util/Protocol.java
index d9ebc25..bd60ddb 100644
--- a/core/java/com/android/internal/util/Protocol.java
+++ b/core/java/com/android/internal/util/Protocol.java
@@ -63,5 +63,6 @@
     public static final int BASE_NETWORK_AGENT                                      = 0x00081000;
     public static final int BASE_NETWORK_MONITOR                                    = 0x00082000;
     public static final int BASE_NETWORK_FACTORY                                    = 0x00083000;
+    public static final int BASE_DDS_SCHEDULER                                      = 0x00084000;
     //TODO: define all used protocols
 }
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index e7a16c6..372b2fc 100755
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -1090,5 +1090,18 @@
          // ignore it
         }
     }
+
+    public static long getOnDemandDataSubId() {
+        try {
+            ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
+            if (iSub != null) {
+                return iSub.getOnDemandDataSubId();
+            } else {
+                return INVALID_SUB_ID;
+            }
+        } catch (RemoteException ex) {
+            return INVALID_SUB_ID;
+        }
+    }
 }
 
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index 7eb53af..c41492f 100755
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -167,4 +167,6 @@
     int setSubState(long subId, int subStatus);
 
     int getSubState(long subId);
+
+    long getOnDemandDataSubId();
 }