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) {