webrtc/sdk/android/api/org/webrtc/IceCandidate.java
Byoungchan Lee 02334e07c5 Replace the android support annotation library with androidx's one.
This change does not affect downstream dependencies as androidx.annotation
is fully compatible with android.support.annotation.

Bug: webrtc:11962
Change-Id: I714b473df8d0fee8000ddf3a9beca7c5613db5ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226881
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34839}
2021-08-24 16:02:17 +00:00

86 lines
2.3 KiB
Java

/*
* Copyright 2013 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 androidx.annotation.Nullable;
import java.util.Arrays;
import org.webrtc.PeerConnection;
/**
* Representation of a single ICE Candidate, mirroring
* {@code IceCandidateInterface} in the C++ API.
*/
public class IceCandidate {
public final String sdpMid;
public final int sdpMLineIndex;
public final String sdp;
public final String serverUrl;
public final PeerConnection.AdapterType adapterType;
public IceCandidate(String sdpMid, int sdpMLineIndex, String sdp) {
this.sdpMid = sdpMid;
this.sdpMLineIndex = sdpMLineIndex;
this.sdp = sdp;
this.serverUrl = "";
this.adapterType = PeerConnection.AdapterType.UNKNOWN;
}
@CalledByNative
IceCandidate(String sdpMid, int sdpMLineIndex, String sdp, String serverUrl,
PeerConnection.AdapterType adapterType) {
this.sdpMid = sdpMid;
this.sdpMLineIndex = sdpMLineIndex;
this.sdp = sdp;
this.serverUrl = serverUrl;
this.adapterType = adapterType;
}
@Override
public String toString() {
return sdpMid + ":" + sdpMLineIndex + ":" + sdp + ":" + serverUrl + ":"
+ adapterType.toString();
}
@CalledByNative
String getSdpMid() {
return sdpMid;
}
@CalledByNative
String getSdp() {
return sdp;
}
/** equals() checks sdpMid, sdpMLineIndex, and sdp for equality. */
@Override
public boolean equals(@Nullable Object object) {
if (!(object instanceof IceCandidate)) {
return false;
}
IceCandidate that = (IceCandidate) object;
return objectEquals(this.sdpMid, that.sdpMid) && this.sdpMLineIndex == that.sdpMLineIndex
&& objectEquals(this.sdp, that.sdp);
}
@Override
public int hashCode() {
Object[] values = {sdpMid, sdpMLineIndex, sdp};
return Arrays.hashCode(values);
}
private static boolean objectEquals(Object o1, Object o2) {
if (o1 == null) {
return o2 == null;
}
return o1.equals(o2);
}
}