30 Apr 2017
- updated
ConnectivityPredicate
and replacedio.reactivex.functions.Function
withio.reactivex.functions.Predicate
to make it compatible with RxJava2 filtering methods #168 - bumped RxJava2.x version to 2.1.0
11 Apr 2017
- migrated library to RxJava2.x on RxJava2.x branch and released it as
reactivenetwork-rx2
artifact - updated dependencies
- updated documentation
- updated sample apps
12 Feb 2017
- renamed
DefaultInternetObservingStrategy
toSocketInternetObservingStrategy
class - added
observeInternetConnectivity(InternetObservingStrategy)
method toReactiveNetwork
class - removed
DefaultInternetObservingStrategy#ON_CLOSE_SOCKET_ERROR_MSG
static field - added permission annotations
- updated
Connectivity
class. Now it contains the following fields with getters:state, detailedState, type, subType, available, failover, roaming, typeName, subTypeName, reason, extraInfo
(it's wrapped data ofNetworkInfo
class from Android SDK) - added
Builder
to theConnectivity
class - created
ConnectivityPredicate
class - methods
Func1<Connectivity, Boolean> hasState(final NetworkInfo.State... states)
andFunc1<Connectivity, Boolean> hasType(final int... types)
were moved fromConnectivity
class toConnectivityPredicate
class - updated Gradle and Travis configuration
- updated project dependencies
11 Dec 2016
- added
isConnected(final String host, final int port, final int timeoutInMs, ErrorHandler errorHandler)
method toDefaultInternetObservingStrategy
class - added
isConnected(final Socket socket, final String host, final int port, final int timeoutInMs, final ErrorHandler errorHandler)
method toDefaultInternetObservingStrategy
class - renamed
SocketErrorHandler
toErrorHandler
and updated its API - renamed
DefaultSocketErrorHandler
toDefaultErrorHandler
- updated API of the
InternetObservingStrategy
- updated packages organization
- migrated unit tests to Robolectric (now tests can be executed without an emulator or a device)
- enabled test coverage reports with codecov.io and Jacoco
- test coverage was increased from 54% to 74%
- unit tests are now executed on Travis CI
- test coverage report is generated by Travis CI with codecov.io
- added
MarshmallowNetworkObservingStrategy
and handling Doze mode - bumped RxJava to v. 1.2.3
- updated build tools to v. 2.0.3
- updated Gradle configuration
- updated Travis CI configurati
20 Oct 2016
- fixed bug with the crash during unregister receiver for Pre-Lollipop devices #87
- extended
NetworkObservingStrategy
withvoid onError(String message, Exception exception)
method, which allows handling errors in network observing strategies - closed the socket in the Internet connection check #91
- added
SocketErrorHandler
with a default implementation inDefaultSocketErrorHandler
class, which allows handling errors during closing socket connection - delegated observing Internet connectivity functionality to separate class hidden behind
InternetObservingStrategy
interface - added an
InternetObservingStrategy
interface with the default implementation inDefaultInternetObservingStrategy
class, which allows to customize Internet observing strategy - added
Observable<Boolean> observeInternetConnectivity(int initialIntervalInMs, int intervalInMs, String host, int port, int timeout)
method toReactiveNetwork
class - added
Observable<Boolean> observeInternetConnectivity(final int initialIntervalInMs, final int intervalInMs, final String host, final int port, final int timeoutInMs, final SocketErrorHandler socketErrorHandler)
method toReactiveNetwork
class - added
Observable<Boolean> observeInternetConnectivity(final InternetObservingStrategy strategy, final int initialIntervalInMs, final int intervalInMs, final String host, final int port, final int timeoutInMs, final SocketErrorHandler socketErrorHandler)
method toReactiveNetwork
class - bumped RxJava version to 1.2.1
03 Sep 2016
- bumped RxJava to 1.1.9
- bumped Gradle Build Tools to 2.1.3
30 Jul 2016
- bumped RxJava to v. 1.1.8
24 Jul 2016
- handled all connection types (including Ethernet) (issue #71)
- removed
ConnectivityStatus
enum and replaced it withConnectivity
class. - replaced
Observable<ConnectivityStatus> observeNetworkConnectivity(final Context context)
method withObservable<Connectivity> observeNetworkConnectivity(final Context context)
- introduced a new way of network monitoring with NetworkCallback available from Android N (API 21) (issue #62)
- added
NetworkObservingStrategy
, which allows applying different network monitoring strategies - added
PreLollipopNetworkObservingStrategy
with old network monitoring implementation - added
LollipopNetworkObservingStrategy
with new network monitoring implementation - added
Observable<Connectivity> observeNetworkConnectivity(final Context context, final NetworkObservingStrategy strategy)
method to ReactiveNetwork class - made method for creating Observables static like in original RxJava library
- added
create()
method toReactiveNetwork
class - made constructor of
ReactiveNetwork
class protected - added
Preconditions
class verifying correctness of the input parameters - added more unit tests
11 Jun 2016
Removed deprecated methods from the public API:
- removed depreacted
Observable<ConnectivityStatus> observeConnectivity(final Context context)
method in favor ofObservable<ConnectivityStatus> observeNetworkConnectivity(final Context context)
method - removed depreacted
Observable<List<ScanResult>> observeWifiAccessPoints(final Context context)
method in favor of ReactiveWiFi library - removed depreacted
Observable<WifiSignalLevel> observeWifiSignalLevel(final Context context)
method in favor of ReactiveWiFi library - removed depreacted
Observable<Integer> observeWifiSignalLevel(final Context context,final int numLevels)
method in favor of ReactiveWiFi library
Removed permissions in AndroidManifest.xml:
- removed
android.permission.ACCESS_WIFI_STATE
permission fromAndroidManifest.xml
- removed
android.permission.CHANGE_WIFI_STATE
permission fromAndroidManifest.xml
- removed
android.permission.ACCESS_COARSE_LOCATION
permission fromAndroidManifest.xml
07 Jun 2016
- removed
enableInternetCheck()
method - removed
ConnectivityStatus.WIFI_CONNECTED_HAS_INTERNET
enum value - removed
ConnectivityStatus.WIFI_CONNECTED_HAS_NO_INTERNET
enum value - changed method name from
Observable<ConnectivityStatus> observeConnectivity(final Context context)
toObservable<ConnectivityStatus> observeNetworkConnectivity(final Context context)
- deprecated
Observable<ConnectivityStatus> observeConnectivity(final Context context)
method - deprecated
Observable<List<ScanResult>> observeWifiAccessPoints(final Context context)
method - depreceated
Observable<WifiSignalLevel> observeWifiSignalLevel(final Context context)
method - deprecated
Observable<Integer> observeWifiSignalLevel(final Context context, final int numLevels)
method - changed method signature from
ConnectivityStatus getConnectivityStatus(final Context context, final boolean checkInternet)
toConnectivityStatus getConnectivityStatus(final Context context)
- updated
ConnectivityStatus getConnectivityStatus(final Context context)
method and added JavaDoc for it - added
Observable<Boolean> observeInternetConnectivity(final int interval, final String host, final int port, final int timeout)
method - added
Observable<Boolean> observeInternetConnectivity()
method - added
android.permission.INTERNET
to theAndroidManifest.xml
- updated JavaDoc
- updated sample apps
- updated documentation in
README.md
- bumped RxJava version to 1.1.5
- bumped RxAndroid version to 1.2.0
- bumped Google Truth version to 0.28 (test dependency)
10 Feb 2016
- added possibility to observe WiFi signal level with
observeWifiSignalLevel(context, numLevels)
andobserveWifiSignalLevel(context)
method - created
WifiSignalLevel
enum - added internet check to parameters of
getConnectivityStatus(context, checkInternet)
method - made
getConnectivityStatus(context, checkInternet)
method public - changed String variable
status
inConnectivityStatus
enum todescription
and made it public - changed output of the
toString()
method inConnectivityStatus
to keep consistency with another enum - made
ReactiveNetwork
class non-final - bumped Kotlin version in sample app to 1.0.0-rc-1036
- increased immutability of code of the library
- updated sample apps and documentation
10 Jan 2016
- Due to memory leak in WifiManager reported in issue 43945 in Android issue tracker replaced Activity Context with Application Context in sample apps and added appropriate note in
README.md
- added
ACCESS_COARSE_LOCATION
permission toAndroidManifest.xml
to be able to scan WiFi access points on Android 6
13 Dec 2015
- bumped RxJava dependency to v. 1.1.0
- bumped RxAndroid dependency to v. 1.1.0
- bumped Google Truth test dependency to v. 0.27
06 Nov 2015
- fixed bug with incorrect status after going back from background inside the sample app reported in issue #31
- fixed RxJava usage in sample app
- fixed RxJava usage in code snippets in
README.md
- added static code analysis
- updated code formatting
- added sample sample app in Kotlin
01 Oct 2015
- now library is emitting
OFFLINE
status at subscription time, when device is not connected to any network - bumped target SDK version to 23
- bumped buildToolsVersion to 23.0.1
- removed
CHANGE_NETWORK_STATE
andINTERNET
permissions fromAndroidManifest.xml
, because they're no longer required
27 Sep 2015
- bumped RxJava to v. 1.0.14
- bumped Gradle Build Tools to v. 1.3.1
13 Sep 2015
- changed
UNDEFINED
status toUNKNOWN
- added
WIFI_CONNECTED_HAS_INTERNET
andWIFI_CONNECTED_HAS_NO_INTERNET
statuses - added
enableInternetCheck()
method toReactiveNetwork
object. When it's called,WIFI_CONNECTED_HAS_INTERNET
andWIFI_CONNECTED_HAS_NO_INTERNET
statuses can occur. Otherwise, onlyWIFI_CONNECTED
can occur.
02 Sep 2015
- added
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
to BroadcastReceiver responsible for receiving WiFi access points scan results - fixed bug connected with improper work of
observeWifiAccessPoints()
method reported in issue #8 - updated sample app
01 Sep 2015
- removed
WifiManager.WIFI_STATE_CHANGED_ACTION
filter from BroadcastReceiver for observing connectivity (now we're observing only situation when device connects to the network or disconnects from the network - not situation when user turns WiFi on or off) - added
UNDEFINED
element forConnectivityStatus
- fixed bug causing emission of the same
ConnectivityStatus
twice
20 Aug 2015
- improved WiFi Access Points scanning
- updated documentation
10 Aug 2015
First release of the library.