Package com.brightcove.player.network
Class ConnectivityMonitor
- java.lang.Object
-
- com.brightcove.player.network.ConnectivityMonitor
-
public class ConnectivityMonitor extends java.lang.Object
Connectivity monitor can be used to monitor changes to host network connectivity changes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ConnectivityMonitor.Listener
The contract of a listener that can receive callback notifications from theConnectivityMonitor
static interface
ConnectivityMonitor.NetworkType
List of supported network types.
-
Field Summary
Fields Modifier and Type Field Description static int[]
ALL_NETWORKS
An array of all supported network types.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConnectivityMonitor
addListener(ConnectivityMonitor.Listener listener)
Adds the specified listener to the list of listeners that will be notified when the host device's network connectivity state changes.java.lang.String
getActiveNetworkName()
Gets the human readable name of the current network, if connected.static ConnectivityMonitor
getInstance(android.content.Context context)
Get reference to a cached instance ofConnectivityMonitor
.boolean
isConnected()
Checks if the host device has an active network connection.boolean
isConnected(int... allowedTypes)
Checks if the host device is connected to the using one of the allowed network type.static boolean
isConnected(android.net.NetworkInfo networkInfo, android.util.SparseArray<java.lang.Boolean> networkEntitlements)
Checks if the specified network is one of the allowed network type.boolean
isConnected(android.util.SparseArray<java.lang.Boolean> networkEntitlements)
Checks if the host device is connected to the using one of the allowed network type.boolean
isWifiConnection()
Checks if the active network connection is a Wi-Fi network.ConnectivityMonitor
removeListener(ConnectivityMonitor.Listener listener)
Removes the specified listener from the list of listeners that will be notified when the host device's network connectivity state changes.
-
-
-
Method Detail
-
getInstance
public static ConnectivityMonitor getInstance(@NonNull android.content.Context context)
Get reference to a cached instance ofConnectivityMonitor
.- Parameters:
context
- the android context.- Returns:
- reference to the connectivity monitor.
-
addListener
public ConnectivityMonitor addListener(@NonNull ConnectivityMonitor.Listener listener)
Adds the specified listener to the list of listeners that will be notified when the host device's network connectivity state changes. Please call
removeListener(Listener)
to free up resources.Please note that the design of the connectivity monitor intentionally discourages the practice of using anonymous objects as listeners to avoid resource leaks. The listener will be held weakly by this class. Anonymous listeners may get collected by GC immediately.
- Parameters:
listener
- reference to the listener.- Returns:
- reference to the single instance of
ConnectivityMonitor
-
removeListener
public ConnectivityMonitor removeListener(@NonNull ConnectivityMonitor.Listener listener)
Removes the specified listener from the list of listeners that will be notified when the host device's network connectivity state changes.- Parameters:
listener
- reference to the listener.- Returns:
- reference to the single instance of
ConnectivityMonitor
-
isConnected
public boolean isConnected()
Checks if the host device has an active network connection.- Returns:
- true if the host has network connection, otherwise false.
-
getActiveNetworkName
@NonNull public java.lang.String getActiveNetworkName()
Gets the human readable name of the current network, if connected.- Returns:
- empty string if the host is not connected, otherwise the network type name.
-
isConnected
public boolean isConnected(int... allowedTypes)
Checks if the host device is connected to the using one of the allowed network type.- Parameters:
allowedTypes
- array of allowed network types.- Returns:
- true if the host is connecting using an allowed network type, otherwise false.
-
isConnected
public boolean isConnected(@NonNull android.util.SparseArray<java.lang.Boolean> networkEntitlements)
Checks if the host device is connected to the using one of the allowed network type.- Parameters:
networkEntitlements
- aSparseArray
ofConnectivityMonitor.NetworkType
andBoolean
values that indicate whether a specific network type can be used.- Returns:
- true if the host is connecting using an allowed network type, otherwise false.
-
isConnected
public static boolean isConnected(@Nullable android.net.NetworkInfo networkInfo, @NonNull android.util.SparseArray<java.lang.Boolean> networkEntitlements)
Checks if the specified network is one of the allowed network type.- Parameters:
networkInfo
- the current network information.networkEntitlements
- aSparseArray
ofConnectivityMonitor.NetworkType
andBoolean
values that indicate whether a specific network type can be used.- Returns:
- true if the host is connecting using an allowed network type, otherwise false.
-
isWifiConnection
public boolean isWifiConnection()
Checks if the active network connection is a Wi-Fi network.- Returns:
- true if the active connection is a Wi-Fi network, otherwise false.
-
-