diff --git a/webrtc/api/android/java/src/org/webrtc/DataChannel.java b/webrtc/api/android/java/src/org/webrtc/DataChannel.java index 1820822c6a..dc64ccc048 100644 --- a/webrtc/api/android/java/src/org/webrtc/DataChannel.java +++ b/webrtc/api/android/java/src/org/webrtc/DataChannel.java @@ -98,6 +98,8 @@ public class DataChannel { public native String label(); + public native int id(); + public native State state(); /** diff --git a/webrtc/api/android/jni/peerconnection_jni.cc b/webrtc/api/android/jni/peerconnection_jni.cc index 3ca2fa3ee9..e76444e8f3 100644 --- a/webrtc/api/android/jni/peerconnection_jni.cc +++ b/webrtc/api/android/jni/peerconnection_jni.cc @@ -856,6 +856,13 @@ JOW(jstring, DataChannel_label)(JNIEnv* jni, jobject j_dc) { return JavaStringFromStdString(jni, ExtractNativeDC(jni, j_dc)->label()); } +JOW(jint, DataChannel_id)(JNIEnv* jni, jobject j_dc) { + int id = ExtractNativeDC(jni, j_dc)->id(); + RTC_CHECK_LE(id, std::numeric_limits::max()) + << "id overflowed jint!"; + return static_cast(id); +} + JOW(jobject, DataChannel_state)(JNIEnv* jni, jobject j_dc) { return JavaEnumFromIndex( jni, "DataChannel$State", ExtractNativeDC(jni, j_dc)->state());