diff --git a/library/core/src/androidTest/AndroidManifest.xml b/library/core/src/androidTest/AndroidManifest.xml index d9104b10771..c3c0852b29e 100644 --- a/library/core/src/androidTest/AndroidManifest.xml +++ b/library/core/src/androidTest/AndroidManifest.xml @@ -18,6 +18,8 @@ xmlns:tools="http://schemas.android.com/tools" package="com.google.android.exoplayer2.core.test"> + + diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.java index e9f70ec92a5..21e2ed4f654 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.java @@ -187,7 +187,9 @@ public Builder setClock(Clock clock) { * @return A bandwidth meter with the configured properties. */ public DefaultBandwidthMeter build() { - Long initialBitrateEstimate = initialBitrateEstimates.get(Util.getNetworkType(context)); + Long initialBitrateEstimate = + initialBitrateEstimates.get( + context == null ? C.NETWORK_TYPE_UNKNOWN : Util.getNetworkType(context)); if (initialBitrateEstimate == null) { initialBitrateEstimate = initialBitrateEstimates.get(C.NETWORK_TYPE_UNKNOWN); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java b/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java index 2d3a0aeb787..116ad860e04 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java @@ -1620,31 +1620,24 @@ public static int crc(byte[] bytes, int start, int end, int initialValue) { } /** - * Returns the {@link C.NetworkType} of the current network connection. {@link - * C#NETWORK_TYPE_UNKNOWN} will be returned if the {@code ACCESS_NETWORK_STATE} permission is not - * granted or the network connection type couldn't be determined. + * Returns the {@link C.NetworkType} of the current network connection. * * @param context A context to access the connectivity manager. - * @return The {@link C.NetworkType} of the current network connection, or {@link - * C#NETWORK_TYPE_UNKNOWN} if the {@code ACCESS_NETWORK_STATE} permission is not granted or - * {@code context} is null. + * @return The {@link C.NetworkType} of the current network connection. */ - public static @C.NetworkType int getNetworkType(@Nullable Context context) { + @C.NetworkType + public static int getNetworkType(Context context) { if (context == null) { + // Note: This is for backward compatibility only (context used to be @Nullable). return C.NETWORK_TYPE_UNKNOWN; } NetworkInfo networkInfo; - try { - ConnectivityManager connectivityManager = - (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - if (connectivityManager == null) { - return C.NETWORK_TYPE_UNKNOWN; - } - networkInfo = connectivityManager.getActiveNetworkInfo(); - } catch (SecurityException e) { - // Permission ACCESS_NETWORK_STATE not granted. + ConnectivityManager connectivityManager = + (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + if (connectivityManager == null) { return C.NETWORK_TYPE_UNKNOWN; } + networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo == null || !networkInfo.isConnected()) { return C.NETWORK_TYPE_OFFLINE; } diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java index b613f7f364f..401a2fae1b4 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java @@ -287,7 +287,7 @@ public ExoPlayerTestRunner build(Context context) { trackSelector = new DefaultTrackSelector(); } if (bandwidthMeter == null) { - bandwidthMeter = new DefaultBandwidthMeter.Builder().build(); + bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); } if (renderersFactory == null) { if (renderers == null) {