Sami Kalliomäki 78498cf5ee Implements JavaToNativeStringMap and adds tests for native API.
Implements JavaToNativeStringMap that is a replacement for
JavaToStdMapStrings. It uses a new template method JavaToNativeMap. Also
adds testing support for native API and a test for JavaToNativeStringMap.

Bug: webrtc:8769
Change-Id: I580d4992a899ebe02da39af450fa51d52ee9b88b
Reviewed-on: https://webrtc-review.googlesource.com/48060
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21967}
2018-02-09 10:34:44 +00:00

49 lines
1.3 KiB
Java

/*
* Copyright 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
package org.webrtc;
import java.io.UnsupportedEncodingException;
import java.util.Map;
/**
* This class is only used from jni_helper.cc to give some Java functionality that were not possible
* to generate in other ways due to bugs.webrtc.org/8606 and bugs.webrtc.org/8632.
*/
class JniHelper {
// TODO(bugs.webrtc.org/8632): Remove.
@CalledByNative
static byte[] getStringBytes(String s) {
try {
return s.getBytes("ISO-8859-1");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("ISO-8859-1 is unsupported");
}
}
// TODO(bugs.webrtc.org/8632): Remove.
@CalledByNative
static Object getStringClass() {
return String.class;
}
// TODO(bugs.webrtc.org/8606): Remove.
@CalledByNative
static Object getKey(Map.Entry entry) {
return entry.getKey();
}
// TODO(bugs.webrtc.org/8606): Remove.
@CalledByNative
static Object getValue(Map.Entry entry) {
return entry.getValue();
}
}