Android: Simplify GetJavaEnumName
We can call name() on the base class java.lang.Enum instead of the specific enum subclass. Bug: webrtc:8278 Change-Id: I12f8354d99e48b4a5e3d3eaff74a85ac417df0b3 Reviewed-on: https://webrtc-review.googlesource.com/24440 Commit-Queue: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20790}
This commit is contained in:
committed by
Commit Bot
parent
ae02609645
commit
c6a003c192
@ -311,16 +311,13 @@ jobject JavaEnumFromIndexAndClassName(JNIEnv* jni,
|
|||||||
state_class, index);
|
state_class, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetJavaEnumName(JNIEnv* jni,
|
std::string GetJavaEnumName(JNIEnv* jni, jobject j_enum) {
|
||||||
const std::string& className,
|
jclass enum_class = GetClass(jni, "java/lang/Enum");
|
||||||
jobject j_enum) {
|
|
||||||
jclass enumClass = FindClass(jni, className.c_str());
|
|
||||||
jmethodID nameMethod =
|
jmethodID nameMethod =
|
||||||
GetMethodID(jni, enumClass, "name", "()Ljava/lang/String;");
|
GetMethodID(jni, enum_class, "name", "()Ljava/lang/String;");
|
||||||
jstring name =
|
jstring name =
|
||||||
reinterpret_cast<jstring>(jni->CallObjectMethod(j_enum, nameMethod));
|
reinterpret_cast<jstring>(jni->CallObjectMethod(j_enum, nameMethod));
|
||||||
CHECK_EXCEPTION(jni) << "error during CallObjectMethod for " << className
|
CHECK_EXCEPTION(jni);
|
||||||
<< ".name";
|
|
||||||
return JavaToStdString(jni, name);
|
return JavaToStdString(jni, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -130,9 +130,7 @@ std::map<std::string, std::string> JavaToStdMapStrings(JNIEnv* jni,
|
|||||||
jobject j_map);
|
jobject j_map);
|
||||||
|
|
||||||
// Returns the name of a Java enum.
|
// Returns the name of a Java enum.
|
||||||
std::string GetJavaEnumName(JNIEnv* jni,
|
std::string GetJavaEnumName(JNIEnv* jni, jobject j_enum);
|
||||||
const std::string& className,
|
|
||||||
jobject j_enum);
|
|
||||||
|
|
||||||
jobject NewGlobalRef(JNIEnv* jni, jobject o);
|
jobject NewGlobalRef(JNIEnv* jni, jobject o);
|
||||||
|
|
||||||
|
|||||||
@ -31,9 +31,7 @@ enum AndroidSdkVersion {
|
|||||||
int AndroidNetworkMonitor::android_sdk_int_ = 0;
|
int AndroidNetworkMonitor::android_sdk_int_ = 0;
|
||||||
|
|
||||||
static NetworkType GetNetworkTypeFromJava(JNIEnv* jni, jobject j_network_type) {
|
static NetworkType GetNetworkTypeFromJava(JNIEnv* jni, jobject j_network_type) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_network_type);
|
||||||
GetJavaEnumName(jni, "org/webrtc/NetworkMonitorAutoDetect$ConnectionType",
|
|
||||||
j_network_type);
|
|
||||||
if (enum_name == "CONNECTION_UNKNOWN") {
|
if (enum_name == "CONNECTION_UNKNOWN") {
|
||||||
return NetworkType::NETWORK_UNKNOWN;
|
return NetworkType::NETWORK_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -208,9 +208,7 @@ JavaToNativePeerConnectionFactoryOptions(JNIEnv* jni, jobject options) {
|
|||||||
PeerConnectionInterface::IceTransportsType JavaToNativeIceTransportsType(
|
PeerConnectionInterface::IceTransportsType JavaToNativeIceTransportsType(
|
||||||
JNIEnv* jni,
|
JNIEnv* jni,
|
||||||
jobject j_ice_transports_type) {
|
jobject j_ice_transports_type) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_ice_transports_type);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$IceTransportsType",
|
|
||||||
j_ice_transports_type);
|
|
||||||
|
|
||||||
if (enum_name == "ALL")
|
if (enum_name == "ALL")
|
||||||
return PeerConnectionInterface::kAll;
|
return PeerConnectionInterface::kAll;
|
||||||
@ -231,8 +229,7 @@ PeerConnectionInterface::IceTransportsType JavaToNativeIceTransportsType(
|
|||||||
PeerConnectionInterface::BundlePolicy JavaToNativeBundlePolicy(
|
PeerConnectionInterface::BundlePolicy JavaToNativeBundlePolicy(
|
||||||
JNIEnv* jni,
|
JNIEnv* jni,
|
||||||
jobject j_bundle_policy) {
|
jobject j_bundle_policy) {
|
||||||
std::string enum_name = GetJavaEnumName(
|
std::string enum_name = GetJavaEnumName(jni, j_bundle_policy);
|
||||||
jni, "org/webrtc/PeerConnection$BundlePolicy", j_bundle_policy);
|
|
||||||
|
|
||||||
if (enum_name == "BALANCED")
|
if (enum_name == "BALANCED")
|
||||||
return PeerConnectionInterface::kBundlePolicyBalanced;
|
return PeerConnectionInterface::kBundlePolicyBalanced;
|
||||||
@ -250,8 +247,7 @@ PeerConnectionInterface::BundlePolicy JavaToNativeBundlePolicy(
|
|||||||
PeerConnectionInterface::RtcpMuxPolicy JavaToNativeRtcpMuxPolicy(
|
PeerConnectionInterface::RtcpMuxPolicy JavaToNativeRtcpMuxPolicy(
|
||||||
JNIEnv* jni,
|
JNIEnv* jni,
|
||||||
jobject j_rtcp_mux_policy) {
|
jobject j_rtcp_mux_policy) {
|
||||||
std::string enum_name = GetJavaEnumName(
|
std::string enum_name = GetJavaEnumName(jni, j_rtcp_mux_policy);
|
||||||
jni, "org/webrtc/PeerConnection$RtcpMuxPolicy", j_rtcp_mux_policy);
|
|
||||||
|
|
||||||
if (enum_name == "NEGOTIATE")
|
if (enum_name == "NEGOTIATE")
|
||||||
return PeerConnectionInterface::kRtcpMuxPolicyNegotiate;
|
return PeerConnectionInterface::kRtcpMuxPolicyNegotiate;
|
||||||
@ -266,9 +262,7 @@ PeerConnectionInterface::RtcpMuxPolicy JavaToNativeRtcpMuxPolicy(
|
|||||||
PeerConnectionInterface::TcpCandidatePolicy JavaToNativeTcpCandidatePolicy(
|
PeerConnectionInterface::TcpCandidatePolicy JavaToNativeTcpCandidatePolicy(
|
||||||
JNIEnv* jni,
|
JNIEnv* jni,
|
||||||
jobject j_tcp_candidate_policy) {
|
jobject j_tcp_candidate_policy) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_tcp_candidate_policy);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$TcpCandidatePolicy",
|
|
||||||
j_tcp_candidate_policy);
|
|
||||||
|
|
||||||
if (enum_name == "ENABLED")
|
if (enum_name == "ENABLED")
|
||||||
return PeerConnectionInterface::kTcpCandidatePolicyEnabled;
|
return PeerConnectionInterface::kTcpCandidatePolicyEnabled;
|
||||||
@ -283,9 +277,7 @@ PeerConnectionInterface::TcpCandidatePolicy JavaToNativeTcpCandidatePolicy(
|
|||||||
PeerConnectionInterface::CandidateNetworkPolicy
|
PeerConnectionInterface::CandidateNetworkPolicy
|
||||||
JavaToNativeCandidateNetworkPolicy(JNIEnv* jni,
|
JavaToNativeCandidateNetworkPolicy(JNIEnv* jni,
|
||||||
jobject j_candidate_network_policy) {
|
jobject j_candidate_network_policy) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_candidate_network_policy);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$CandidateNetworkPolicy",
|
|
||||||
j_candidate_network_policy);
|
|
||||||
|
|
||||||
if (enum_name == "ALL")
|
if (enum_name == "ALL")
|
||||||
return PeerConnectionInterface::kCandidateNetworkPolicyAll;
|
return PeerConnectionInterface::kCandidateNetworkPolicyAll;
|
||||||
@ -299,8 +291,7 @@ JavaToNativeCandidateNetworkPolicy(JNIEnv* jni,
|
|||||||
}
|
}
|
||||||
|
|
||||||
rtc::KeyType JavaToNativeKeyType(JNIEnv* jni, jobject j_key_type) {
|
rtc::KeyType JavaToNativeKeyType(JNIEnv* jni, jobject j_key_type) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_key_type);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$KeyType", j_key_type);
|
|
||||||
|
|
||||||
if (enum_name == "RSA")
|
if (enum_name == "RSA")
|
||||||
return rtc::KT_RSA;
|
return rtc::KT_RSA;
|
||||||
@ -313,9 +304,7 @@ rtc::KeyType JavaToNativeKeyType(JNIEnv* jni, jobject j_key_type) {
|
|||||||
|
|
||||||
PeerConnectionInterface::ContinualGatheringPolicy
|
PeerConnectionInterface::ContinualGatheringPolicy
|
||||||
JavaToNativeContinualGatheringPolicy(JNIEnv* jni, jobject j_gathering_policy) {
|
JavaToNativeContinualGatheringPolicy(JNIEnv* jni, jobject j_gathering_policy) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_gathering_policy);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$ContinualGatheringPolicy",
|
|
||||||
j_gathering_policy);
|
|
||||||
if (enum_name == "GATHER_ONCE")
|
if (enum_name == "GATHER_ONCE")
|
||||||
return PeerConnectionInterface::GATHER_ONCE;
|
return PeerConnectionInterface::GATHER_ONCE;
|
||||||
|
|
||||||
@ -330,9 +319,7 @@ JavaToNativeContinualGatheringPolicy(JNIEnv* jni, jobject j_gathering_policy) {
|
|||||||
PeerConnectionInterface::TlsCertPolicy JavaToNativeTlsCertPolicy(
|
PeerConnectionInterface::TlsCertPolicy JavaToNativeTlsCertPolicy(
|
||||||
JNIEnv* jni,
|
JNIEnv* jni,
|
||||||
jobject j_ice_server_tls_cert_policy) {
|
jobject j_ice_server_tls_cert_policy) {
|
||||||
std::string enum_name =
|
std::string enum_name = GetJavaEnumName(jni, j_ice_server_tls_cert_policy);
|
||||||
GetJavaEnumName(jni, "org/webrtc/PeerConnection$TlsCertPolicy",
|
|
||||||
j_ice_server_tls_cert_policy);
|
|
||||||
|
|
||||||
if (enum_name == "TLS_CERT_POLICY_SECURE")
|
if (enum_name == "TLS_CERT_POLICY_SECURE")
|
||||||
return PeerConnectionInterface::kTlsCertPolicySecure;
|
return PeerConnectionInterface::kTlsCertPolicySecure;
|
||||||
|
|||||||
Reference in New Issue
Block a user