From f7826d668a7777f8d85c8444278a4c72c45ee8ef Mon Sep 17 00:00:00 2001 From: sakal Date: Thu, 2 Feb 2017 00:53:33 -0800 Subject: [PATCH] Remove InlinedApi lint ignore. Adds ignore for all lint errors in Chromium code. Changes minimum SDK for instrumentation tests to 16 from 14. Adds TargetApi annotations. BUG=webrtc:6597 Review-Url: https://codereview.webrtc.org/2670473004 Cr-Commit-Position: refs/heads/master@{#16412} --- tools-webrtc/android/suppressions.xml | 6 +++- .../src/org/appspot/apprtc/CallActivity.java | 29 ++++++++++++++----- .../voiceengine/WebRtcAudioManager.java | 5 ++-- .../webrtc/voiceengine/WebRtcAudioTrack.java | 6 ++-- .../org/webrtc/NetworkMonitorAutoDetect.java | 14 ++++----- .../instrumentationtests/AndroidManifest.xml | 2 +- .../src/org/webrtc/Camera2CapturerTest.java | 2 ++ 7 files changed, 42 insertions(+), 22 deletions(-) diff --git a/tools-webrtc/android/suppressions.xml b/tools-webrtc/android/suppressions.xml index b8b9987a3d..d6250e06a8 100644 --- a/tools-webrtc/android/suppressions.xml +++ b/tools-webrtc/android/suppressions.xml @@ -7,7 +7,6 @@ to suppress.py. --> - @@ -33,4 +32,9 @@ + + + + + diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java index 14c2bfe658..9864efba68 100644 --- a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java +++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java @@ -10,6 +10,7 @@ package org.appspot.apprtc; +import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; import android.app.FragmentTransaction; @@ -20,6 +21,7 @@ import android.content.pm.PackageManager; import android.media.projection.MediaProjection; import android.media.projection.MediaProjectionManager; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.util.DisplayMetrics; @@ -191,8 +193,7 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven getWindow().addFlags(LayoutParams.FLAG_FULLSCREEN | LayoutParams.FLAG_KEEP_SCREEN_ON | LayoutParams.FLAG_DISMISS_KEYGUARD | LayoutParams.FLAG_SHOW_WHEN_LOCKED | LayoutParams.FLAG_TURN_SCREEN_ON); - getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION - | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); + getWindow().getDecorView().setSystemUiVisibility(getSystemUiVisibility()); setContentView(R.layout.activity_call); iceConnected = false; @@ -362,16 +363,30 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven getApplicationContext(), peerConnectionParameters, CallActivity.this); if (screencaptureEnabled) { - MediaProjectionManager mediaProjectionManager = - (MediaProjectionManager) getApplication().getSystemService( - Context.MEDIA_PROJECTION_SERVICE); - startActivityForResult( - mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE); + startScreenCapture(); } else { startCall(); } } + @TargetApi(19) + private static int getSystemUiVisibility() { + int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + } + return flags; + } + + @TargetApi(21) + private void startScreenCapture() { + MediaProjectionManager mediaProjectionManager = + (MediaProjectionManager) getApplication().getSystemService( + Context.MEDIA_PROJECTION_SERVICE); + startActivityForResult( + mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE); + } + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode != CAPTURE_PERMISSION_REQUEST_CODE) diff --git a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java index eb4702b444..ab17eece1a 100644 --- a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java +++ b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java @@ -10,8 +10,6 @@ package org.webrtc.voiceengine; -import org.webrtc.Logging; - import android.annotation.TargetApi; import android.content.Context; import android.content.pm.PackageManager; @@ -20,9 +18,9 @@ import android.media.AudioManager; import android.media.AudioRecord; import android.media.AudioTrack; import android.os.Build; - import java.util.Timer; import java.util.TimerTask; +import org.webrtc.Logging; // WebRtcAudioManager handles tasks that uses android.media.AudioManager. // At construction, storeAudioParameters() is called and it retrieves @@ -248,6 +246,7 @@ public class WebRtcAudioManager { // Returns true if the device has professional audio level of functionality // and therefore supports the lowest possible round-trip latency. + @TargetApi(23) private boolean isProAudioSupported() { return WebRtcAudioUtils.runningOnMarshmallowOrHigher() && context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_PRO); diff --git a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java index 7c3a672576..ca37dfe495 100644 --- a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java +++ b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java @@ -10,16 +10,15 @@ package org.webrtc.voiceengine; -import org.webrtc.Logging; - +import android.annotation.TargetApi; import android.content.Context; import android.media.AudioFormat; import android.media.AudioManager; import android.media.AudioTrack; import android.os.Process; - import java.lang.Thread; import java.nio.ByteBuffer; +import org.webrtc.Logging; public class WebRtcAudioTrack { private static final boolean DEBUG = false; @@ -130,6 +129,7 @@ public class WebRtcAudioTrack { audioTrack.flush(); } + @TargetApi(21) private int writeOnLollipop(AudioTrack audioTrack, ByteBuffer byteBuffer, int sizeInBytes) { return audioTrack.write(byteBuffer, sizeInBytes, AudioTrack.WRITE_BLOCKING); } diff --git a/webrtc/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java b/webrtc/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java index 3046ab20c5..6bd727fd7f 100644 --- a/webrtc/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java +++ b/webrtc/sdk/android/api/org/webrtc/NetworkMonitorAutoDetect.java @@ -10,9 +10,6 @@ package org.webrtc; -import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET; -import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; - import android.Manifest.permission; import android.annotation.SuppressLint; import android.content.BroadcastReceiver; @@ -31,7 +28,6 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.telephony.TelephonyManager; - import java.util.ArrayList; import java.util.List; @@ -327,14 +323,17 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { return false; } final NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(network); - return capabilities != null && capabilities.hasCapability(NET_CAPABILITY_INTERNET); + return capabilities != null + && capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); } /** Only callable on Lollipop and newer releases. */ @SuppressLint("NewApi") public void registerNetworkCallback(NetworkCallback networkCallback) { connectivityManager.registerNetworkCallback( - new NetworkRequest.Builder().addCapability(NET_CAPABILITY_INTERNET).build(), + new NetworkRequest.Builder() + .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + .build(), networkCallback); } @@ -342,7 +341,8 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { @SuppressLint("NewApi") public void requestMobileNetwork(NetworkCallback networkCallback) { NetworkRequest.Builder builder = new NetworkRequest.Builder(); - builder.addCapability(NET_CAPABILITY_INTERNET).addTransportType(TRANSPORT_CELLULAR); + builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); connectivityManager.requestNetwork(builder.build(), networkCallback); } diff --git a/webrtc/sdk/android/instrumentationtests/AndroidManifest.xml b/webrtc/sdk/android/instrumentationtests/AndroidManifest.xml index 27a9389d1b..15c9e6779e 100644 --- a/webrtc/sdk/android/instrumentationtests/AndroidManifest.xml +++ b/webrtc/sdk/android/instrumentationtests/AndroidManifest.xml @@ -15,7 +15,7 @@ - + diff --git a/webrtc/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java b/webrtc/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java index 86a74c2936..a752cf09bc 100644 --- a/webrtc/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java +++ b/webrtc/sdk/android/instrumentationtests/src/org/webrtc/Camera2CapturerTest.java @@ -14,6 +14,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.fail; +import android.annotation.TargetApi; import android.content.Context; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraDevice; @@ -31,6 +32,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +@TargetApi(21) @RunWith(BaseJUnit4ClassRunner.class) public class Camera2CapturerTest { static final String TAG = "Camera2CapturerTest";