Android: Generate JNI code for RTCStats

Bug: webrtc:8278
Change-Id: I183cec54ec3e97894db7f26e365eb9941a1ab458
Reviewed-on: https://webrtc-review.googlesource.com/25660
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20879}
diff --git a/sdk/android/api/org/webrtc/RTCStats.java b/sdk/android/api/org/webrtc/RTCStats.java
index 7a73376..7ad7634 100644
--- a/sdk/android/api/org/webrtc/RTCStats.java
+++ b/sdk/android/api/org/webrtc/RTCStats.java
@@ -103,4 +103,11 @@
       builder.append(value);
     }
   }
+
+  // TODO(bugs.webrtc.org/8557) Use ctor directly with full Map type.
+  @SuppressWarnings("unchecked")
+  @CalledByNative
+  static RTCStats create(long timestampUs, String type, String id, Map members) {
+    return new RTCStats(timestampUs, type, id, members);
+  }
 }
diff --git a/sdk/android/api/org/webrtc/RTCStatsCollectorCallback.java b/sdk/android/api/org/webrtc/RTCStatsCollectorCallback.java
index 027c158..dc8902c 100644
--- a/sdk/android/api/org/webrtc/RTCStatsCollectorCallback.java
+++ b/sdk/android/api/org/webrtc/RTCStatsCollectorCallback.java
@@ -13,5 +13,5 @@
 /** Interface for receiving stats reports (see webrtc::RTCStatsCollectorCallback). */
 public interface RTCStatsCollectorCallback {
   /** Called when the stats report is ready. */
-  public void onStatsDelivered(RTCStatsReport report);
+  @CalledByNative public void onStatsDelivered(RTCStatsReport report);
 }
diff --git a/sdk/android/api/org/webrtc/RTCStatsReport.java b/sdk/android/api/org/webrtc/RTCStatsReport.java
index d4a9784..d4d90db 100644
--- a/sdk/android/api/org/webrtc/RTCStatsReport.java
+++ b/sdk/android/api/org/webrtc/RTCStatsReport.java
@@ -52,4 +52,11 @@
     builder.append(" ] }");
     return builder.toString();
   }
+
+  // TODO(bugs.webrtc.org/8557) Use ctor directly with full Map type.
+  @SuppressWarnings("unchecked")
+  @CalledByNative
+  private static RTCStatsReport create(long timestampUs, Map stats) {
+    return new RTCStatsReport(timestampUs, stats);
+  }
 }