Releasing ReactiveNetwork v. 1.0.0 (paying the technical debt)

Jun 24, 2018
android, java, open-source

Today, I’ve released next version of my most popular open-source project - ReactiveNetwork. I’ve released version 0.12.4 for RxJava1.x and version 1.0.0 for RxJava2.x. Please note, RxJava1.x is no longer officially supported and I’m going to follow the same approach in my RxJava-based projects. It’s not the first release of this project, but I’m breaking the API and removing existing methods, so I decided to stick to proper versioning standard. I didn’t always do it properly in the past, but it’s never too late. ...

DroidCon Poland 2017 - Is your app really connected?

Dec 2, 2017
android, java, rxjava, conferences, open-source

Yesterday, I gave a presentation about connectivity in the Android apps during the DroidCon Poland 2017 Conference in Kraków. Below, you can see slides from this presentation. View slides on SpeakerDeck There’s also tweet related to this presentation from DroidCon Kraków: Piotr Wittchen tells us about how we can we keep the track of network 🌎 or Internet connectivity changes in our app 📱🆘🙂 — droidcon Kraków (@droidconkr) December 2, 2017 I hope, you enjoyed it. ...

Introducing ReactiveAirplaneMode

Aug 15, 2017
android, java, rxjava, open-source

I’m continuing Rxfication of the Android. Recently I released brand new library called ReactiveAirplaneMode. As you may guess, it allows listening Airplane mode on Android device with RxJava observables. A usual I’ve hidden all implementation details, BroadcastReceivers and rest of the Android related stuff behind RxJava abstraction layer, so API is really simple. Just take a look on that: ReactiveAirplaneMode.create() .observe(context) .subscribeOn( .observeOn(AndroidSchedulers.mainThread()) .subscribe(isOn -> textView.setText(String.format("Airplane mode on: %s", isOn.toString()))); In the code above subscriber will be notified only when airplane mode changes. ...

Releasing ReactiveNetwork v. 0.11.0

Aug 6, 2017
android, java, open-source

In the latest release of ReactiveNetwork library, I focused on Walled Garden AKA Great Firewall support during checking Internet connectivity. There are countries with limited Internet access like China and in such cases, pinging commonly known host like may have different results than in other countries because it may be blocked. We may get false positive results because users will generally have an access to the Internet, but they don’t have access only to several websites. ...

Releasing ReactiveNetwork v. 0.10.0

Jul 20, 2017
android, java, rxjava, open-source

I’ve recently released ReactiveNetwork library v. 0.10.0 for RxJava1.x and RxJava2.x. ReactiveNetwork is an Android library listening network connection state and Internet connectivity with RxJava Observables, which I’m developing for approximately 2 years now. In this version, I’ve done a few bug fixes and added new features for RxJava2.x version. Below, you can find the release notes: Release for RxJava1.x bumped RxJava1 version to 1.3.0 bumped test dependencies created Code of Conduct updated Kotlin version in sample apps added retrolambda to the sample Java app - issue #163 fixed behavior of network observing in disconnected state - issue #159 Release for RxJava2. ...

Release of prefser v. 2.1.0 with RxJava2 support

Jun 19, 2017
android, open-source, java, rxjava

I’ve recently released new version of prefser library for Android. In case you don’t know, it’s a wrapper for Android SharedPreferences with object serialization and RxJava Observables. This version has the new artifact, which has codebase migrated to RxJava2.x. As usual, I kept backward compatibility with RxJava1.x. You can find more details about the project at If you want to use it in your mobile project, you need the following dependencies in the build. ...

Releasing Prefser v. 2.0.7

May 28, 2017
android, java, open-source

I’ve recently released new version of Prefser. It’s a wrapper for Android SharedPreferences with object serialization and RxJava Observables. The new version number is 2.0.7. In this release, I performed mostly internal work not related to the external library API. Nevertheless, it’s important for the library development in the future. The following things were done: updated dependencies updated Gradle configuration migrated unit tests to Robolectric started executing unit tests on Travis CI added integration with codecov. ...

Monitoring usage of open-source projects

May 2, 2017

While developing open-source projects it’s important to monitor usage of them. Having that information we know on which projects we should concentrate the most and which are becoming more popular. In this short article, I’ll present you two tools, which can help you with that. GitHub # On GitHub, each project has “Traffic” tab. After clicking on it, we can see how many visitors and unique visitors we have, we can also check how many project clones and unique clones were performed (including CI servers). ...

ReactiveNetwork - release v. 0.9.0 with RxJava2.x support

Apr 11, 2017
android, open-source, rxjava

This time, I upgraded my another reactive Android open-source project called ReactiveNetwork to RxJava2.x. Many thanks goes to @tushar-acharya who performed initial migration to the newer version of RxJava. During migration, I’ve also created new package rx2 to avoid potential import conflicts during migration inside Android apps. Besides migration, I’ve updated sample apps, documentation & JavaDocs on Github pages. You can still use RxJava1.x version and it’s available on the branch with that name. ...

How to make open-source projects, which people want to use

Apr 1, 2017
open-source, conferences

Today at Kariera IT conference in Katowice, Poland, I presented talk explaining how to make open-source projects, which people want to use from my perspective. Below, you can find slides from my presentation. Thank you all for the attendance, interesting questions and organizers for inviting me. I hope you learned something new. Of course, any constructive feedback for this talk will be appreciated :). Link: How to make open-source projects, which people want to use