Use android Nullable instead of javax Nullable
This is a propagation of upstream chromium change needed to
resume DEPS autorolls into WebRTC.
Original comment from upstream change:
> This change is made in preparation for an ErrorProne
> check to catch this at compile time. See bug for details.
Bug: chromium:771683
Change-Id: I56aed15f73a633dcadae7ece6c645cd3596f9257
Reviewed-on: https://webrtc-review.googlesource.com/c/113505
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25951}
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index be3ac53..3632811 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -153,7 +153,7 @@
"../sdk/android:video_api_java",
"../sdk/android:video_java",
"androidapp/third_party/autobanh:autobanh_java",
- "//third_party/jsr-305:jsr_305_javalib",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -884,7 +884,11 @@
java_files = [ "unityplugin/java/src/org/webrtc/UnityUtility.java" ]
deps = [
"../rtc_base:base_java",
+ "../sdk/android:camera_java",
"../sdk/android:libjingle_peerconnection_java",
+ "../sdk/android:peerconnection_java",
+ "../sdk/android:video_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -901,6 +905,7 @@
"../rtc_base:base_java",
"../sdk/android:libjingle_peerconnection_java",
"../sdk/android:libjingle_peerconnection_metrics_default_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
}
diff --git a/examples/aarproject/app/build.gradle b/examples/aarproject/app/build.gradle
index ca9793f..dde0707 100644
--- a/examples/aarproject/app/build.gradle
+++ b/examples/aarproject/app/build.gradle
@@ -46,7 +46,6 @@
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation fileTree(dir: '../../androidapp/third_party/autobanh/lib', include: ['autobanh.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
- implementation 'com.google.code.findbugs:jsr305:3.0.2'
implementation 'org.webrtc:google-webrtc:1.0.+'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
diff --git a/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java b/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java
index 5ec0246..9aee730 100644
--- a/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java
+++ b/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java
@@ -20,11 +20,11 @@
import android.media.AudioManager;
import android.os.Build;
import android.preference.PreferenceManager;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
-import javax.annotation.Nullable;
import org.appspot.apprtc.util.AppRTCUtils;
import org.webrtc.ThreadUtils;
diff --git a/examples/androidapp/src/org/appspot/apprtc/AppRTCBluetoothManager.java b/examples/androidapp/src/org/appspot/apprtc/AppRTCBluetoothManager.java
index 6720e92..936b549 100644
--- a/examples/androidapp/src/org/appspot/apprtc/AppRTCBluetoothManager.java
+++ b/examples/androidapp/src/org/appspot/apprtc/AppRTCBluetoothManager.java
@@ -24,7 +24,7 @@
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.util.List;
import java.util.Set;
diff --git a/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java b/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java
index 73cf343..a29b7ef 100644
--- a/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java
+++ b/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java
@@ -16,8 +16,8 @@
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Build;
+import android.support.annotation.Nullable;
import android.util.Log;
-import javax.annotation.Nullable;
import org.appspot.apprtc.util.AppRTCUtils;
import org.webrtc.ThreadUtils;
diff --git a/examples/androidapp/src/org/appspot/apprtc/CallActivity.java b/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
index 4396150..4cf1a60 100644
--- a/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
+++ b/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
@@ -24,6 +24,7 @@
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
+import android.support.annotation.Nullable;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
@@ -36,7 +37,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-import javax.annotation.Nullable;
import org.appspot.apprtc.AppRTCAudioManager.AudioDevice;
import org.appspot.apprtc.AppRTCAudioManager.AudioManagerEvents;
import org.appspot.apprtc.AppRTCClient.RoomConnectionParameters;
diff --git a/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java b/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
index 8e2881c..6268a4f 100644
--- a/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
+++ b/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java
@@ -17,6 +17,7 @@
import android.os.BatteryManager;
import android.os.Build;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.io.BufferedReader;
import java.io.FileInputStream;
@@ -31,7 +32,6 @@
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
/**
* Simple CPU monitor. The caller creates a CpuMonitor object which can then
diff --git a/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java b/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java
index 9762e79..ab3aafe2 100644
--- a/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java
@@ -10,9 +10,13 @@
package org.appspot.apprtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.util.Log;
-
+import java.util.ArrayList;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -20,12 +24,6 @@
import org.webrtc.PeerConnection;
import org.webrtc.SessionDescription;
-import java.util.ArrayList;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Implementation of AppRTCClient that uses direct TCP connection as the signaling channel.
* This eliminates the need for an external server. This class does not support loopback
diff --git a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
index f85a788..540797a 100644
--- a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -14,6 +14,7 @@
import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.preference.PreferenceManager;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.io.File;
import java.io.IOException;
@@ -34,7 +35,6 @@
import java.util.concurrent.Executors;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.annotation.Nullable;
import org.appspot.apprtc.AppRTCClient.SignalingParameters;
import org.appspot.apprtc.RecordedAudioToFileController;
import org.webrtc.AudioSource;
diff --git a/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java b/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
index 0b2a972..fee444a 100644
--- a/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
+++ b/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
@@ -12,6 +12,7 @@
import android.media.AudioFormat;
import android.os.Environment;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.io.File;
import java.io.FileNotFoundException;
@@ -19,7 +20,6 @@
import java.io.IOException;
import java.io.OutputStream;
import java.util.concurrent.ExecutorService;
-import javax.annotation.Nullable;
import org.webrtc.audio.JavaAudioDeviceModule;
import org.webrtc.audio.JavaAudioDeviceModule.SamplesReadyCallback;
import org.webrtc.voiceengine.WebRtcAudioRecord;
diff --git a/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java b/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
index e9fd7be..d3094e7 100644
--- a/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
@@ -10,7 +10,7 @@
package org.appspot.apprtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java b/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java
index 07b7847..af9a5f3 100644
--- a/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java
@@ -11,7 +11,7 @@
package org.appspot.apprtc;
import android.os.Handler;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.util.Log;
import de.tavendo.autobahn.WebSocket.WebSocketConnectionObserver;
import de.tavendo.autobahn.WebSocketConnection;
diff --git a/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java b/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java
index dbe34be..930f0ee 100644
--- a/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java
@@ -10,17 +10,15 @@
package org.appspot.apprtc;
-import javax.annotation.Nullable;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.support.annotation.Nullable;
+import android.util.Log;
import org.appspot.apprtc.RoomParametersFetcher.RoomParametersFetcherEvents;
import org.appspot.apprtc.WebSocketChannelClient.WebSocketChannelEvents;
import org.appspot.apprtc.WebSocketChannelClient.WebSocketConnectionState;
import org.appspot.apprtc.util.AsyncHttpURLConnection;
import org.appspot.apprtc.util.AsyncHttpURLConnection.AsyncHttpEvents;
-
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.util.Log;
-
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/examples/androidnativeapi/BUILD.gn b/examples/androidnativeapi/BUILD.gn
index 7928640..6fdd36c 100644
--- a/examples/androidnativeapi/BUILD.gn
+++ b/examples/androidnativeapi/BUILD.gn
@@ -18,6 +18,7 @@
"//sdk/android:surfaceviewrenderer_java",
"//sdk/android:video_api_java",
"//sdk/android:video_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
shared_libraries = [ ":examples_androidnativeapi_jni" ]
diff --git a/examples/androidnativeapi/java/org/webrtc/examples/androidnativeapi/MainActivity.java b/examples/androidnativeapi/java/org/webrtc/examples/androidnativeapi/MainActivity.java
index 801e238..1fb1728 100644
--- a/examples/androidnativeapi/java/org/webrtc/examples/androidnativeapi/MainActivity.java
+++ b/examples/androidnativeapi/java/org/webrtc/examples/androidnativeapi/MainActivity.java
@@ -13,8 +13,8 @@
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
+import android.support.annotation.Nullable;
import android.widget.Button;
-import javax.annotation.Nullable;
import org.webrtc.Camera1Enumerator;
import org.webrtc.Camera2Enumerator;
import org.webrtc.CameraEnumerator;
diff --git a/examples/unityplugin/java/src/org/webrtc/UnityUtility.java b/examples/unityplugin/java/src/org/webrtc/UnityUtility.java
index 5118bac..b89c0f0 100644
--- a/examples/unityplugin/java/src/org/webrtc/UnityUtility.java
+++ b/examples/unityplugin/java/src/org/webrtc/UnityUtility.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.content.Context;
+import android.support.annotation.Nullable;
import java.util.List;
-import javax.annotation.Nullable;
public class UnityUtility {
private static final String VIDEO_CAPTURER_THREAD_NAME = "VideoCapturerThread";
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 67495ac..976ea69 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -509,6 +509,7 @@
]
deps = [
"../../rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
}
diff --git a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java
index 7d09bf8..9d43b5b 100644
--- a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java
+++ b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java
@@ -16,9 +16,9 @@
import android.media.audiofx.AutomaticGainControl;
import android.media.audiofx.NoiseSuppressor;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.List;
import java.util.UUID;
-import javax.annotation.Nullable;
import org.webrtc.Logging;
// This class wraps control of three different platform effects. Supported
diff --git a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java
index c4d6176..2783a0d 100644
--- a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java
+++ b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java
@@ -17,9 +17,9 @@
import android.media.AudioRecord;
import android.media.AudioTrack;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.Timer;
import java.util.TimerTask;
-import javax.annotation.Nullable;
import org.webrtc.ContextUtils;
import org.webrtc.Logging;
diff --git a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
index a4fc62b..c712a32 100644
--- a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
+++ b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java
@@ -15,11 +15,11 @@
import android.media.MediaRecorder.AudioSource;
import android.os.Build;
import android.os.Process;
+import android.support.annotation.Nullable;
import java.lang.System;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.Logging;
import org.webrtc.ThreadUtils;
diff --git a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java
index 8b287ec..925d6bc 100644
--- a/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java
+++ b/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java
@@ -18,9 +18,9 @@
import android.media.AudioTrack;
import android.os.Build;
import android.os.Process;
+import android.support.annotation.Nullable;
import java.lang.Thread;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
import org.webrtc.ContextUtils;
import org.webrtc.Logging;
import org.webrtc.ThreadUtils;
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 9a4a5b4..829a5fe 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1506,5 +1506,8 @@
"java/src/org/webrtc/Size.java",
"java/src/org/webrtc/ThreadUtils.java",
]
+ deps = [
+ "//third_party/android_deps:android_support_annotations_java",
+ ]
}
}
diff --git a/rtc_base/java/src/org/webrtc/Logging.java b/rtc_base/java/src/org/webrtc/Logging.java
index aafdbe8..779f97e 100644
--- a/rtc_base/java/src/org/webrtc/Logging.java
+++ b/rtc_base/java/src/org/webrtc/Logging.java
@@ -10,12 +10,12 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.EnumSet;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.annotation.Nullable;
import org.webrtc.Loggable;
/**
diff --git a/rtc_base/java/src/org/webrtc/ThreadUtils.java b/rtc_base/java/src/org/webrtc/ThreadUtils.java
index a403870..d60230a 100644
--- a/rtc_base/java/src/org/webrtc/ThreadUtils.java
+++ b/rtc_base/java/src/org/webrtc/ThreadUtils.java
@@ -13,10 +13,10 @@
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
public class ThreadUtils {
/**
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index e301f01..638688d 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -203,6 +203,7 @@
deps = [
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -236,6 +237,7 @@
deps = [
":base_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -274,6 +276,7 @@
":base_java",
":video_api_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -336,6 +339,7 @@
":video_java",
"//modules/audio_device:audio_device_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -361,6 +365,7 @@
":video_api_java",
":video_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -375,6 +380,7 @@
":swcodecs_java",
":video_api_java",
":video_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -417,6 +423,7 @@
":video_api_java",
":video_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -435,6 +442,7 @@
":audio_api_java",
":base_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -456,6 +464,7 @@
":video_api_java",
":video_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
@@ -513,6 +522,7 @@
":video_api_java",
":video_java",
"//rtc_base:base_java",
+ "//third_party/android_deps:android_support_annotations_java",
]
}
diff --git a/sdk/android/api/org/webrtc/Camera1Capturer.java b/sdk/android/api/org/webrtc/Camera1Capturer.java
index f178a3d..37b8165 100644
--- a/sdk/android/api/org/webrtc/Camera1Capturer.java
+++ b/sdk/android/api/org/webrtc/Camera1Capturer.java
@@ -11,7 +11,7 @@
package org.webrtc;
import android.content.Context;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
public class Camera1Capturer extends CameraCapturer {
private final boolean captureToTexture;
diff --git a/sdk/android/api/org/webrtc/Camera1Enumerator.java b/sdk/android/api/org/webrtc/Camera1Enumerator.java
index b11da31..7f6435e 100644
--- a/sdk/android/api/org/webrtc/Camera1Enumerator.java
+++ b/sdk/android/api/org/webrtc/Camera1Enumerator.java
@@ -11,9 +11,9 @@
package org.webrtc;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Nullable;
import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
@SuppressWarnings("deprecation")
diff --git a/sdk/android/api/org/webrtc/Camera2Capturer.java b/sdk/android/api/org/webrtc/Camera2Capturer.java
index 3c04cdb..baf1e96 100644
--- a/sdk/android/api/org/webrtc/Camera2Capturer.java
+++ b/sdk/android/api/org/webrtc/Camera2Capturer.java
@@ -13,7 +13,7 @@
import android.annotation.TargetApi;
import android.content.Context;
import android.hardware.camera2.CameraManager;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
@TargetApi(21)
public class Camera2Capturer extends CameraCapturer {
diff --git a/sdk/android/api/org/webrtc/Camera2Enumerator.java b/sdk/android/api/org/webrtc/Camera2Enumerator.java
index 4c3fc9a..69c030d 100644
--- a/sdk/android/api/org/webrtc/Camera2Enumerator.java
+++ b/sdk/android/api/org/webrtc/Camera2Enumerator.java
@@ -20,13 +20,13 @@
import android.hardware.camera2.params.StreamConfigurationMap;
import android.os.Build;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.util.AndroidException;
import android.util.Range;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.annotation.Nullable;
import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
@TargetApi(21)
diff --git a/sdk/android/api/org/webrtc/CameraVideoCapturer.java b/sdk/android/api/org/webrtc/CameraVideoCapturer.java
index 2e9c11f..291627f 100644
--- a/sdk/android/api/org/webrtc/CameraVideoCapturer.java
+++ b/sdk/android/api/org/webrtc/CameraVideoCapturer.java
@@ -11,7 +11,7 @@
package org.webrtc;
import android.media.MediaRecorder;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/**
* Base interface for camera1 and camera2 implementations. Extends VideoCapturer with a
diff --git a/sdk/android/api/org/webrtc/DefaultVideoDecoderFactory.java b/sdk/android/api/org/webrtc/DefaultVideoDecoderFactory.java
index 4561a5e..44b5714 100644
--- a/sdk/android/api/org/webrtc/DefaultVideoDecoderFactory.java
+++ b/sdk/android/api/org/webrtc/DefaultVideoDecoderFactory.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
diff --git a/sdk/android/api/org/webrtc/DefaultVideoEncoderFactory.java b/sdk/android/api/org/webrtc/DefaultVideoEncoderFactory.java
index 029b2f9..1f59afa 100644
--- a/sdk/android/api/org/webrtc/DefaultVideoEncoderFactory.java
+++ b/sdk/android/api/org/webrtc/DefaultVideoEncoderFactory.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
diff --git a/sdk/android/api/org/webrtc/EglBase.java b/sdk/android/api/org/webrtc/EglBase.java
index 4122684..43baee7 100644
--- a/sdk/android/api/org/webrtc/EglBase.java
+++ b/sdk/android/api/org/webrtc/EglBase.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.graphics.SurfaceTexture;
+import android.support.annotation.Nullable;
import android.view.Surface;
-import javax.annotation.Nullable;
import javax.microedition.khronos.egl.EGL10;
/**
diff --git a/sdk/android/api/org/webrtc/EglRenderer.java b/sdk/android/api/org/webrtc/EglRenderer.java
index 42a07c0..c56798b 100644
--- a/sdk/android/api/org/webrtc/EglRenderer.java
+++ b/sdk/android/api/org/webrtc/EglRenderer.java
@@ -18,6 +18,7 @@
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.nio.ByteBuffer;
import java.text.DecimalFormat;
@@ -25,7 +26,6 @@
import java.util.Iterator;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
/**
* Implements VideoSink by displaying the video stream on an EGL Surface. This class is intended to
diff --git a/sdk/android/api/org/webrtc/HardwareVideoDecoderFactory.java b/sdk/android/api/org/webrtc/HardwareVideoDecoderFactory.java
index 6907143..ac3b1b9 100644
--- a/sdk/android/api/org/webrtc/HardwareVideoDecoderFactory.java
+++ b/sdk/android/api/org/webrtc/HardwareVideoDecoderFactory.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.media.MediaCodecInfo;
+import android.support.annotation.Nullable;
import java.util.Arrays;
-import javax.annotation.Nullable;
/** Factory for Android hardware VideoDecoders. */
public class HardwareVideoDecoderFactory extends MediaCodecVideoDecoderFactory {
diff --git a/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java b/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java
index 2f78126..418c2aa 100644
--- a/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java
+++ b/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java
@@ -17,11 +17,11 @@
import android.media.MediaCodecInfo;
import android.media.MediaCodecList;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import javax.annotation.Nullable;
/** Factory for android hardware video encoders. */
@SuppressWarnings("deprecation") // API 16 requires the use of deprecated methods.
diff --git a/sdk/android/api/org/webrtc/JavaI420Buffer.java b/sdk/android/api/org/webrtc/JavaI420Buffer.java
index dce6a4c..0deb38f 100644
--- a/sdk/android/api/org/webrtc/JavaI420Buffer.java
+++ b/sdk/android/api/org/webrtc/JavaI420Buffer.java
@@ -10,8 +10,8 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
import org.webrtc.VideoFrame.I420Buffer;
/** Implementation of VideoFrame.I420Buffer backed by Java direct byte buffers. */
diff --git a/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java b/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
index ec65475..0206ae7 100644
--- a/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
+++ b/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
@@ -18,6 +18,7 @@
import android.media.MediaFormat;
import android.os.Build;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.nio.ByteBuffer;
import java.util.ArrayDeque;
@@ -30,7 +31,6 @@
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.EglBase;
import org.webrtc.VideoFrame;
diff --git a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
index 38054c6..8ffe1e2 100644
--- a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
+++ b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
@@ -20,6 +20,7 @@
import android.opengl.GLES20;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -30,7 +31,6 @@
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.EglBase;
import org.webrtc.EglBase14;
import org.webrtc.VideoFrame;
diff --git a/sdk/android/api/org/webrtc/MediaConstraints.java b/sdk/android/api/org/webrtc/MediaConstraints.java
index 76f0483..28cf8d1 100644
--- a/sdk/android/api/org/webrtc/MediaConstraints.java
+++ b/sdk/android/api/org/webrtc/MediaConstraints.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/sdk/android/api/org/webrtc/MediaStreamTrack.java b/sdk/android/api/org/webrtc/MediaStreamTrack.java
index 142a87a..0249ffb 100644
--- a/sdk/android/api/org/webrtc/MediaStreamTrack.java
+++ b/sdk/android/api/org/webrtc/MediaStreamTrack.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/** Java wrapper for a C++ MediaStreamTrackInterface. */
public class MediaStreamTrack {
diff --git a/sdk/android/api/org/webrtc/NetworkMonitor.java b/sdk/android/api/org/webrtc/NetworkMonitor.java
index 9764a0c..364bb4d 100644
--- a/sdk/android/api/org/webrtc/NetworkMonitor.java
+++ b/sdk/android/api/org/webrtc/NetworkMonitor.java
@@ -14,9 +14,9 @@
import android.content.Context;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Nullable;
import org.webrtc.NetworkMonitorAutoDetect;
/**
diff --git a/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java b/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java
index 179f83d..4ae2762 100644
--- a/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java
+++ b/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java
@@ -28,6 +28,7 @@
import android.net.wifi.p2p.WifiP2pGroup;
import android.net.wifi.p2p.WifiP2pManager;
import android.os.Build;
+import android.support.annotation.Nullable;
import android.telephony.TelephonyManager;
import java.net.InetAddress;
import java.net.NetworkInterface;
@@ -35,7 +36,6 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import javax.annotation.Nullable;
/**
* Borrowed from Chromium's
diff --git a/sdk/android/api/org/webrtc/PeerConnection.java b/sdk/android/api/org/webrtc/PeerConnection.java
index 47c54ee..db973f2 100644
--- a/sdk/android/api/org/webrtc/PeerConnection.java
+++ b/sdk/android/api/org/webrtc/PeerConnection.java
@@ -10,10 +10,10 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import javax.annotation.Nullable;
import org.webrtc.DataChannel;
import org.webrtc.MediaStreamTrack;
import org.webrtc.RtpTransceiver;
diff --git a/sdk/android/api/org/webrtc/PeerConnectionDependencies.java b/sdk/android/api/org/webrtc/PeerConnectionDependencies.java
index fd765b1..eb09168 100644
--- a/sdk/android/api/org/webrtc/PeerConnectionDependencies.java
+++ b/sdk/android/api/org/webrtc/PeerConnectionDependencies.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/**
* PeerConnectionDependencies holds all PeerConnection dependencies that are
diff --git a/sdk/android/api/org/webrtc/PeerConnectionFactory.java b/sdk/android/api/org/webrtc/PeerConnectionFactory.java
index f5d1ee1..c66b16b 100644
--- a/sdk/android/api/org/webrtc/PeerConnectionFactory.java
+++ b/sdk/android/api/org/webrtc/PeerConnectionFactory.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.content.Context;
+import android.support.annotation.Nullable;
import java.util.List;
-import javax.annotation.Nullable;
import org.webrtc.Logging.Severity;
import org.webrtc.PeerConnection;
import org.webrtc.audio.AudioDeviceModule;
diff --git a/sdk/android/api/org/webrtc/PlatformSoftwareVideoDecoderFactory.java b/sdk/android/api/org/webrtc/PlatformSoftwareVideoDecoderFactory.java
index 1cb52ac..82417fd 100644
--- a/sdk/android/api/org/webrtc/PlatformSoftwareVideoDecoderFactory.java
+++ b/sdk/android/api/org/webrtc/PlatformSoftwareVideoDecoderFactory.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.media.MediaCodecInfo;
+import android.support.annotation.Nullable;
import java.util.Arrays;
-import javax.annotation.Nullable;
/** Factory for Android platform software VideoDecoders. */
public class PlatformSoftwareVideoDecoderFactory extends MediaCodecVideoDecoderFactory {
diff --git a/sdk/android/api/org/webrtc/RtpParameters.java b/sdk/android/api/org/webrtc/RtpParameters.java
index 77a76dd..5158c13 100644
--- a/sdk/android/api/org/webrtc/RtpParameters.java
+++ b/sdk/android/api/org/webrtc/RtpParameters.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
diff --git a/sdk/android/api/org/webrtc/RtpReceiver.java b/sdk/android/api/org/webrtc/RtpReceiver.java
index 8be494f..8564d47 100644
--- a/sdk/android/api/org/webrtc/RtpReceiver.java
+++ b/sdk/android/api/org/webrtc/RtpReceiver.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import org.webrtc.MediaStreamTrack;
/** Java wrapper for a C++ RtpReceiverInterface. */
diff --git a/sdk/android/api/org/webrtc/RtpSender.java b/sdk/android/api/org/webrtc/RtpSender.java
index 9d7451d..168f927 100644
--- a/sdk/android/api/org/webrtc/RtpSender.java
+++ b/sdk/android/api/org/webrtc/RtpSender.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/** Java wrapper for a C++ RtpSenderInterface. */
public class RtpSender {
diff --git a/sdk/android/api/org/webrtc/ScreenCapturerAndroid.java b/sdk/android/api/org/webrtc/ScreenCapturerAndroid.java
index fef28f5..bff5ad7 100644
--- a/sdk/android/api/org/webrtc/ScreenCapturerAndroid.java
+++ b/sdk/android/api/org/webrtc/ScreenCapturerAndroid.java
@@ -18,8 +18,8 @@
import android.hardware.display.VirtualDisplay;
import android.media.projection.MediaProjection;
import android.media.projection.MediaProjectionManager;
+import android.support.annotation.Nullable;
import android.view.Surface;
-import javax.annotation.Nullable;
/**
* An implementation of VideoCapturer to capture the screen content as a video stream.
diff --git a/sdk/android/api/org/webrtc/SoftwareVideoDecoderFactory.java b/sdk/android/api/org/webrtc/SoftwareVideoDecoderFactory.java
index f421f16..7abe350 100644
--- a/sdk/android/api/org/webrtc/SoftwareVideoDecoderFactory.java
+++ b/sdk/android/api/org/webrtc/SoftwareVideoDecoderFactory.java
@@ -10,10 +10,10 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-import javax.annotation.Nullable;
public class SoftwareVideoDecoderFactory implements VideoDecoderFactory {
@Deprecated
diff --git a/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java b/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
index 3c36c4d..ed70d22 100644
--- a/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
+++ b/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
diff --git a/sdk/android/api/org/webrtc/SurfaceTextureHelper.java b/sdk/android/api/org/webrtc/SurfaceTextureHelper.java
index 29df688..f1abb28 100644
--- a/sdk/android/api/org/webrtc/SurfaceTextureHelper.java
+++ b/sdk/android/api/org/webrtc/SurfaceTextureHelper.java
@@ -18,9 +18,9 @@
import android.os.Build;
import android.os.Handler;
import android.os.HandlerThread;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
import java.util.concurrent.Callable;
-import javax.annotation.Nullable;
import org.webrtc.EglBase;
import org.webrtc.VideoFrame.TextureBuffer;
diff --git a/sdk/android/api/org/webrtc/TextureBufferImpl.java b/sdk/android/api/org/webrtc/TextureBufferImpl.java
index 82f308c..988519a 100644
--- a/sdk/android/api/org/webrtc/TextureBufferImpl.java
+++ b/sdk/android/api/org/webrtc/TextureBufferImpl.java
@@ -11,8 +11,8 @@
package org.webrtc;
import android.graphics.Matrix;
-import javax.annotation.Nullable;
import android.os.Handler;
+import android.support.annotation.Nullable;
/**
* Android texture buffer that glues together the necessary information together with a generic
diff --git a/sdk/android/api/org/webrtc/VideoCodecInfo.java b/sdk/android/api/org/webrtc/VideoCodecInfo.java
index 3ee51f0..8dd9295 100644
--- a/sdk/android/api/org/webrtc/VideoCodecInfo.java
+++ b/sdk/android/api/org/webrtc/VideoCodecInfo.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import java.util.Arrays;
import java.util.Locale;
import java.util.Map;
diff --git a/sdk/android/api/org/webrtc/VideoDecoderFactory.java b/sdk/android/api/org/webrtc/VideoDecoderFactory.java
index c54f61d..2dd0967 100644
--- a/sdk/android/api/org/webrtc/VideoDecoderFactory.java
+++ b/sdk/android/api/org/webrtc/VideoDecoderFactory.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/** Factory for creating VideoDecoders. */
public interface VideoDecoderFactory {
diff --git a/sdk/android/api/org/webrtc/VideoEncoder.java b/sdk/android/api/org/webrtc/VideoEncoder.java
index afc5cd0..b37f5aa 100644
--- a/sdk/android/api/org/webrtc/VideoEncoder.java
+++ b/sdk/android/api/org/webrtc/VideoEncoder.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import org.webrtc.EncodedImage;
/**
diff --git a/sdk/android/api/org/webrtc/VideoEncoderFactory.java b/sdk/android/api/org/webrtc/VideoEncoderFactory.java
index fdf1309..7c00d8d 100644
--- a/sdk/android/api/org/webrtc/VideoEncoderFactory.java
+++ b/sdk/android/api/org/webrtc/VideoEncoderFactory.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/** Factory for creating VideoEncoders. */
public interface VideoEncoderFactory {
diff --git a/sdk/android/api/org/webrtc/VideoFrame.java b/sdk/android/api/org/webrtc/VideoFrame.java
index fb733af..5d98a29 100644
--- a/sdk/android/api/org/webrtc/VideoFrame.java
+++ b/sdk/android/api/org/webrtc/VideoFrame.java
@@ -13,8 +13,8 @@
import android.graphics.Matrix;
import android.opengl.GLES11Ext;
import android.opengl.GLES20;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
/**
* Java version of webrtc::VideoFrame and webrtc::VideoFrameBuffer. A difference from the C++
diff --git a/sdk/android/api/org/webrtc/VideoFrameDrawer.java b/sdk/android/api/org/webrtc/VideoFrameDrawer.java
index 1e8a04d..0dd22ad 100644
--- a/sdk/android/api/org/webrtc/VideoFrameDrawer.java
+++ b/sdk/android/api/org/webrtc/VideoFrameDrawer.java
@@ -13,8 +13,8 @@
import android.graphics.Matrix;
import android.graphics.Point;
import android.opengl.GLES20;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
/**
* Helper class to draw VideoFrames. Calls either drawer.drawOes, drawer.drawRgb, or
diff --git a/sdk/android/api/org/webrtc/VideoSource.java b/sdk/android/api/org/webrtc/VideoSource.java
index a8ef662..8863092 100644
--- a/sdk/android/api/org/webrtc/VideoSource.java
+++ b/sdk/android/api/org/webrtc/VideoSource.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
/**
* Java wrapper of native AndroidVideoTrackSource.
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/AndroidVideoDecoderInstrumentationTest.java b/sdk/android/instrumentationtests/src/org/webrtc/AndroidVideoDecoderInstrumentationTest.java
index 62e6022..f31d710 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/AndroidVideoDecoderInstrumentationTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/AndroidVideoDecoderInstrumentationTest.java
@@ -14,6 +14,7 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import android.support.annotation.Nullable;
import android.support.test.filters.SmallTest;
import java.util.ArrayList;
import java.util.HashMap;
@@ -21,7 +22,6 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.chromium.base.test.params.BaseJUnit4RunnerDelegate;
import org.chromium.base.test.params.ParameterAnnotations.ClassParameter;
import org.chromium.base.test.params.ParameterAnnotations.UseRunnerDelegate;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java b/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java
index fba9431..b9123fb 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java
@@ -21,13 +21,13 @@
import android.hardware.camera2.CameraManager;
import android.os.Handler;
import android.os.Looper;
+import android.support.annotation.Nullable;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.junit.After;
import org.junit.Before;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java b/sdk/android/instrumentationtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
index b47fee0..de8d292 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java
@@ -19,12 +19,12 @@
import android.content.Context;
import android.media.CamcorderProfile;
import android.os.Environment;
+import android.support.annotation.Nullable;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.junit.runner.RunWith;
import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java b/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
index 4d2fe5c..30b0d54 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
@@ -12,13 +12,13 @@
import static org.junit.Assert.assertEquals;
+import android.support.annotation.Nullable;
import android.support.test.filters.SmallTest;
import android.util.Log;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.junit.Before;
import org.junit.Test;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/HardwareVideoEncoderTest.java b/sdk/android/instrumentationtests/src/org/webrtc/HardwareVideoEncoderTest.java
index 729dcbb..5af9ea2 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/HardwareVideoEncoderTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/HardwareVideoEncoderTest.java
@@ -18,6 +18,7 @@
import android.annotation.TargetApi;
import android.graphics.Matrix;
import android.opengl.GLES11Ext;
+import android.support.annotation.Nullable;
import android.support.test.filters.SmallTest;
import android.util.Log;
import java.nio.ByteBuffer;
@@ -26,7 +27,6 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.chromium.base.test.params.BaseJUnit4RunnerDelegate;
import org.chromium.base.test.params.ParameterAnnotations.ClassParameter;
import org.chromium.base.test.params.ParameterAnnotations.UseRunnerDelegate;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/NetworkMonitorTest.java b/sdk/android/instrumentationtests/src/org/webrtc/NetworkMonitorTest.java
index c40c75e..d96205c 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/NetworkMonitorTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/NetworkMonitorTest.java
@@ -30,12 +30,12 @@
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
+import android.support.annotation.Nullable;
import android.support.test.InstrumentationRegistry;
import android.support.test.annotation.UiThreadTest;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
import android.support.test.rule.UiThreadTestRule;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.junit.Before;
import org.junit.Rule;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java b/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
index 5855322..21dcd15 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
@@ -11,13 +11,14 @@
package org.webrtc;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import android.support.annotation.Nullable;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
@@ -36,7 +37,6 @@
import java.util.TreeSet;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.DisabledTest;
import org.junit.Before;
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/SurfaceTextureHelperTest.java b/sdk/android/instrumentationtests/src/org/webrtc/SurfaceTextureHelperTest.java
index 837bd6e..6a92700 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/SurfaceTextureHelperTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/SurfaceTextureHelperTest.java
@@ -18,11 +18,11 @@
import android.graphics.SurfaceTexture;
import android.opengl.GLES20;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
import java.nio.ByteBuffer;
import java.util.concurrent.CountDownLatch;
-import javax.annotation.Nullable;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.junit.Before;
import org.junit.Test;
diff --git a/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java b/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java
index 9956c38..cc44063 100644
--- a/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java
+++ b/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java
@@ -15,13 +15,13 @@
import android.media.MediaCodecInfo.CodecCapabilities;
import android.media.MediaFormat;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.ThreadUtils.ThreadChecker;
/**
diff --git a/sdk/android/src/java/org/webrtc/Camera1Session.java b/sdk/android/src/java/org/webrtc/Camera1Session.java
index ad2b9bf..18c8b50 100644
--- a/sdk/android/src/java/org/webrtc/Camera1Session.java
+++ b/sdk/android/src/java/org/webrtc/Camera1Session.java
@@ -11,16 +11,16 @@
package org.webrtc;
import android.content.Context;
+import android.graphics.Matrix;
import android.os.Handler;
import android.os.SystemClock;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
-import android.graphics.Matrix;
@SuppressWarnings("deprecation")
class Camera1Session implements CameraSession {
diff --git a/sdk/android/src/java/org/webrtc/Camera2Session.java b/sdk/android/src/java/org/webrtc/Camera2Session.java
index 717c23d..41949eb 100644
--- a/sdk/android/src/java/org/webrtc/Camera2Session.java
+++ b/sdk/android/src/java/org/webrtc/Camera2Session.java
@@ -23,7 +23,7 @@
import android.hardware.camera2.CaptureFailure;
import android.hardware.camera2.CaptureRequest;
import android.os.Handler;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.util.Range;
import android.view.Surface;
import java.util.Arrays;
diff --git a/sdk/android/src/java/org/webrtc/CameraCapturer.java b/sdk/android/src/java/org/webrtc/CameraCapturer.java
index 6addd36..7d65e6f 100644
--- a/sdk/android/src/java/org/webrtc/CameraCapturer.java
+++ b/sdk/android/src/java/org/webrtc/CameraCapturer.java
@@ -13,8 +13,8 @@
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
+import android.support.annotation.Nullable;
import java.util.Arrays;
-import javax.annotation.Nullable;
@SuppressWarnings("deprecation")
abstract class CameraCapturer implements CameraVideoCapturer {
diff --git a/sdk/android/src/java/org/webrtc/EglBase10.java b/sdk/android/src/java/org/webrtc/EglBase10.java
index ab840f7..c213ee7 100644
--- a/sdk/android/src/java/org/webrtc/EglBase10.java
+++ b/sdk/android/src/java/org/webrtc/EglBase10.java
@@ -13,7 +13,7 @@
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.SurfaceTexture;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.view.Surface;
import android.view.SurfaceHolder;
import javax.microedition.khronos.egl.EGL10;
diff --git a/sdk/android/src/java/org/webrtc/EglBase14.java b/sdk/android/src/java/org/webrtc/EglBase14.java
index 404c3a6..547731c 100644
--- a/sdk/android/src/java/org/webrtc/EglBase14.java
+++ b/sdk/android/src/java/org/webrtc/EglBase14.java
@@ -19,7 +19,7 @@
import android.opengl.EGLExt;
import android.opengl.EGLSurface;
import android.os.Build;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import android.view.Surface;
import org.webrtc.EglBase;
diff --git a/sdk/android/src/java/org/webrtc/GlGenericDrawer.java b/sdk/android/src/java/org/webrtc/GlGenericDrawer.java
index 20d71c0..92b4245 100644
--- a/sdk/android/src/java/org/webrtc/GlGenericDrawer.java
+++ b/sdk/android/src/java/org/webrtc/GlGenericDrawer.java
@@ -12,8 +12,8 @@
import android.opengl.GLES11Ext;
import android.opengl.GLES20;
+import android.support.annotation.Nullable;
import java.nio.FloatBuffer;
-import javax.annotation.Nullable;
import org.webrtc.GlShader;
import org.webrtc.GlUtil;
import org.webrtc.RendererCommon;
diff --git a/sdk/android/src/java/org/webrtc/HardwareVideoEncoder.java b/sdk/android/src/java/org/webrtc/HardwareVideoEncoder.java
index c36a68c..e2c9035 100644
--- a/sdk/android/src/java/org/webrtc/HardwareVideoEncoder.java
+++ b/sdk/android/src/java/org/webrtc/HardwareVideoEncoder.java
@@ -17,6 +17,7 @@
import android.media.MediaFormat;
import android.opengl.GLES20;
import android.os.Bundle;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -25,7 +26,6 @@
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.ThreadUtils.ThreadChecker;
/**
diff --git a/sdk/android/src/java/org/webrtc/MediaCodecUtils.java b/sdk/android/src/java/org/webrtc/MediaCodecUtils.java
index 13e2d06..4d9e101 100644
--- a/sdk/android/src/java/org/webrtc/MediaCodecUtils.java
+++ b/sdk/android/src/java/org/webrtc/MediaCodecUtils.java
@@ -15,9 +15,9 @@
import android.media.MediaCodecInfo;
import android.media.MediaCodecInfo.CodecCapabilities;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.HashMap;
import java.util.Map;
-import javax.annotation.Nullable;
/** Container class for static constants and helpers used with MediaCodec. */
// We are forced to use the old API because we want to support API level < 21.
diff --git a/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java b/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java
index f27d700..8748ff7 100644
--- a/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java
+++ b/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java
@@ -17,10 +17,10 @@
import android.media.MediaCodecInfo.CodecCapabilities;
import android.media.MediaCodecList;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.annotation.Nullable;
/** Factory for decoders backed by Android MediaCodec API. */
@SuppressWarnings("deprecation") // API level 16 requires use of deprecated methods.
diff --git a/sdk/android/src/java/org/webrtc/NV12Buffer.java b/sdk/android/src/java/org/webrtc/NV12Buffer.java
index 7fe7f58..79f6f72 100644
--- a/sdk/android/src/java/org/webrtc/NV12Buffer.java
+++ b/sdk/android/src/java/org/webrtc/NV12Buffer.java
@@ -10,8 +10,8 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
public class NV12Buffer implements VideoFrame.Buffer {
private final int width;
diff --git a/sdk/android/src/java/org/webrtc/NV21Buffer.java b/sdk/android/src/java/org/webrtc/NV21Buffer.java
index a2a7743..acd6b81 100644
--- a/sdk/android/src/java/org/webrtc/NV21Buffer.java
+++ b/sdk/android/src/java/org/webrtc/NV21Buffer.java
@@ -10,9 +10,9 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicInteger;
-import javax.annotation.Nullable;
public class NV21Buffer implements VideoFrame.Buffer {
private final byte[] data;
diff --git a/sdk/android/src/java/org/webrtc/NativeCapturerObserver.java b/sdk/android/src/java/org/webrtc/NativeCapturerObserver.java
index f673b24..b5f8ae4 100644
--- a/sdk/android/src/java/org/webrtc/NativeCapturerObserver.java
+++ b/sdk/android/src/java/org/webrtc/NativeCapturerObserver.java
@@ -10,7 +10,7 @@
package org.webrtc;
-import javax.annotation.Nullable;
+import android.support.annotation.Nullable;
import org.webrtc.VideoFrame;
/**
diff --git a/sdk/android/src/java/org/webrtc/RefCountDelegate.java b/sdk/android/src/java/org/webrtc/RefCountDelegate.java
index 6ea8824..fc8a191 100644
--- a/sdk/android/src/java/org/webrtc/RefCountDelegate.java
+++ b/sdk/android/src/java/org/webrtc/RefCountDelegate.java
@@ -10,8 +10,8 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.util.concurrent.atomic.AtomicInteger;
-import javax.annotation.Nullable;
/**
* Implementation of RefCounted that executes a Runnable once the ref count reaches zero.
diff --git a/sdk/android/src/java/org/webrtc/VideoEncoderWrapper.java b/sdk/android/src/java/org/webrtc/VideoEncoderWrapper.java
index 207d7d0..e167b89 100644
--- a/sdk/android/src/java/org/webrtc/VideoEncoderWrapper.java
+++ b/sdk/android/src/java/org/webrtc/VideoEncoderWrapper.java
@@ -11,9 +11,9 @@
package org.webrtc;
// Explicit imports necessary for JNI generation.
-import javax.annotation.Nullable;
-import org.webrtc.VideoEncoder;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
+import org.webrtc.VideoEncoder;
/**
* This class contains the Java glue code for JNI generation of VideoEncoder.
diff --git a/sdk/android/src/java/org/webrtc/audio/VolumeLogger.java b/sdk/android/src/java/org/webrtc/audio/VolumeLogger.java
index 859d7c1..5d95007 100644
--- a/sdk/android/src/java/org/webrtc/audio/VolumeLogger.java
+++ b/sdk/android/src/java/org/webrtc/audio/VolumeLogger.java
@@ -11,9 +11,9 @@
package org.webrtc.audio;
import android.media.AudioManager;
+import android.support.annotation.Nullable;
import java.util.Timer;
import java.util.TimerTask;
-import javax.annotation.Nullable;
import org.webrtc.Logging;
// TODO(magjed): Do we really need to spawn a new thread just to log volume? Can we re-use the
diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java
index 51048ea..6045f34 100644
--- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java
+++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java
@@ -16,9 +16,9 @@
import android.media.audiofx.AutomaticGainControl;
import android.media.audiofx.NoiseSuppressor;
import android.os.Build;
+import android.support.annotation.Nullable;
import java.util.List;
import java.util.UUID;
-import javax.annotation.Nullable;
import org.webrtc.Logging;
// This class wraps control of three different platform effects. Supported
diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
index 864a2b1..debe597 100644
--- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
+++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
@@ -17,11 +17,11 @@
import android.media.MediaRecorder.AudioSource;
import android.os.Build;
import android.os.Process;
+import android.support.annotation.Nullable;
import java.lang.System;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
-import javax.annotation.Nullable;
import org.webrtc.CalledByNative;
import org.webrtc.Logging;
import org.webrtc.ThreadUtils;
diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
index 1318a1b..16a6fcf 100644
--- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
+++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
@@ -18,9 +18,9 @@
import android.media.AudioTrack;
import android.os.Build;
import android.os.Process;
+import android.support.annotation.Nullable;
import java.lang.Thread;
import java.nio.ByteBuffer;
-import javax.annotation.Nullable;
import org.webrtc.CalledByNative;
import org.webrtc.Logging;
import org.webrtc.ThreadUtils;
diff --git a/sdk/android/tests/src/org/webrtc/FakeMediaCodecWrapper.java b/sdk/android/tests/src/org/webrtc/FakeMediaCodecWrapper.java
index c07cfc6..3625faa 100644
--- a/sdk/android/tests/src/org/webrtc/FakeMediaCodecWrapper.java
+++ b/sdk/android/tests/src/org/webrtc/FakeMediaCodecWrapper.java
@@ -16,11 +16,11 @@
import android.media.MediaCrypto;
import android.media.MediaFormat;
import android.os.Bundle;
+import android.support.annotation.Nullable;
import android.view.Surface;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Nullable;
/**
* Fake MediaCodec that implements the basic state machine.
diff --git a/tools_webrtc/android/templates/pom.jinja b/tools_webrtc/android/templates/pom.jinja
index 0236772..90ca51ca 100644
--- a/tools_webrtc/android/templates/pom.jinja
+++ b/tools_webrtc/android/templates/pom.jinja
@@ -15,12 +15,4 @@
<project.build.commitid>{{ commit }}</project.build.commitid>
</properties>
- <dependencies>
- <dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- <version>3.+</version>
- </dependency>
- </dependencies>
-
</project>
diff --git a/tools_webrtc/libs/generate_licenses.py b/tools_webrtc/libs/generate_licenses.py
index d1a76a6..7a76dbb 100755
--- a/tools_webrtc/libs/generate_licenses.py
+++ b/tools_webrtc/libs/generate_licenses.py
@@ -32,6 +32,8 @@
LIB_TO_LICENSES_DICT = {
'abseil-cpp': ['third_party/abseil-cpp/LICENSE'],
'android_tools': ['third_party/android_tools/LICENSE'],
+ 'android_deps': ['third_party/android_deps/libs/' +
+ 'com_android_support_support_annotations/LICENSE'],
'auto': ['third_party/auto/src/LICENSE.txt'],
'bazel': ['third_party/bazel/LICENSE'],
'boringssl': ['third_party/boringssl/src/LICENSE'],
@@ -40,7 +42,6 @@
'guava': ['third_party/guava/LICENSE'],
'ijar': ['third_party/ijar/LICENSE'],
'jsoncpp': ['third_party/jsoncpp/LICENSE'],
- 'jsr-305': ['third_party/jsr-305/src/ri/LICENSE'],
'libc++': ['buildtools/third_party/libc++/trunk/LICENSE.TXT'],
'libc++abi': ['buildtools/third_party/libc++abi/trunk/LICENSE.TXT'],
'libevent': ['base/third_party/libevent/LICENSE'],
diff --git a/webrtc.gni b/webrtc.gni
index 16f3b29..7c24c79 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -834,7 +834,6 @@
if (!defined(deps)) {
deps = []
}
- deps += [ "//third_party/jsr-305:jsr_305_javalib" ]
no_build_hooks = true
}
@@ -866,7 +865,6 @@
if (!defined(deps)) {
deps = []
}
- deps += [ "//third_party/jsr-305:jsr_305_javalib" ]
no_build_hooks = true
}
@@ -898,7 +896,6 @@
if (!defined(deps)) {
deps = []
}
- deps += [ "//third_party/jsr-305:jsr_305_javalib" ]
no_build_hooks = true
}