Wonder how to check the network connectivity in Android? There is a new API that you can use but there aren’t many tutorials how to do it. Here is our simple way:
Continue reading “Detecting network change with ConnectivityManager & RxJava”Tag: Android
Android Oauth2 token refresh mechanism – OkHttp vs RxJava layering
The RxJava approach
I am currently working on an app where the devs before me took this strange decision in regard to the refresh token mechanism – have a single entry point of the app which is called every time whenever you need to have a fresh token. What I mean is this:
Continue reading “Android Oauth2 token refresh mechanism – OkHttp vs RxJava layering”Tricky parts when implementing unit tests for Android in Kotlin
Testing data classes in Kotlin
As we all know, data classes are final by default on Kotlin and if you try to use Mockito and mock such a class, you will get an exception. What you need to do is add this file:
Continue reading “Tricky parts when implementing unit tests for Android in Kotlin”Running unit tests for LiveData with Jupiter on Android
Running unit tests for ViewModels on Android where you have LiveData objects can be tricky. It is very possible that you get this exception:
java.lang.RuntimeException: Method getMainLooper in android.os.Looper not mocked.
Continue reading “Running unit tests for LiveData with Jupiter on Android”Race conditions in unit tests with RxJava when using TestScheduler
I recently had a very strange bug when it comes to using a BehaviorSubject inside the object that I am testing.
Continue reading “Race conditions in unit tests with RxJava when using TestScheduler”Android Notification White Square Icon
We have all seen the white square at the top type of a notification in the notification bar.
Continue reading “Android Notification White Square Icon”Android Studio Live Templates
I was really wondering how I can remove repetitive tasks from Android Studio by assigning shortcuts or tags and I found that IntelliJ has Live Templates which I bet that little programmers use. So as an example I wanted when I type the word “tag” within a class the following to be autocompleted:
Continue reading “Android Studio Live Templates”Android adb server version (32) doesn’t match this client (Genymotion)
Probably you have seen this type of error when using Genymotion as the Android emulator on which you test your device. This is how the error looks like:
adb server version (32) doesn’t match this client (35); killing…
error: could not install *smartsocket* listener: Address already in use
ADB server didn’t ACK
* failed to start daemon *
There is one simple thing that worked for me. I opened the Settings menu of Genymotion, then ADB tab and selected: Use custom android SDK tools and I set the path to the tools. By default Genymotion uses its built-in tools. After that killing all working emulators and starting them again makes everything work.
Hope I have helped!
Card.io issue not supporting Samsung S5 and other devices
card.io 5.4.2
Card.io is a card recognition SDK used by PayPal which allows you to easily scan your own credit/debit cards and get information about them in the code.
Problem
Using card.io from the source and not from Maven requires you to have the latest Android NDK with which the project will be built. But compiling it with the latest NDK introduces a bug which prevents the library from supporting several phones like Samsung S5, Honor 7 and others.
Continue reading “Card.io issue not supporting Samsung S5 and other devices”Gaps between layout components in Android
There is a very simple solution in Android if you want to have space between components. You can always set margins but you can also use the Space class. You can use it like this:
<Space android:layout_width="1dp" android:layout_height="30dp"/>