android

Android Data Binding Part 1: Why it is important

Android application code often suffers from being more verbose than it could be. As libraries such as Android Annotations and ButterKnife have shown that’s only partially due to tediousness of Java. The recently announced Android Data Binding library can remove at least part of the boilerplate code we need to write…

Read
android

Handling different user types in android application

In the previous post you can read how to use object to maintain current user information through the application lifecycle. Now we’ll explore different options of implementing varying behavior depending on user type. When an app has only one user type I find it neat when an application allows me to use it before I’m…

Read

Maintaining current user information in Android

Every but trivial android application needs to maintain information about current user - regardless if he has authenticated or not. While this may sound easy there are still at least handful of ways one can do it - in this article I’m going to explore couple of them. Keeping state in custom class This technique boils…

Read

Anchor child element click

I had to solve a seemingly trivial bug in an angularjs based application that turned out to be more interesting than usual. The bug The bug report stated that “Clicking on a label causes page reload”. That should be an easy one I thought to myself and openeded chrome inspector to see a structure of DOM. Here’s a…

Read

Lazy Apk - a simple TeamCity artifact downloader

At Bright Inventions we use TeamCity as a continuous integration server. Apart from building, running tests and uploading artifacts we sometimes use it to quickly distribute an android application to clients and test team. However we found using TeamCity UI on a mobile device isn’t as pleasing as it could be. That’s…

Read

Google Play Services is no longer a giant monolith

Nowadays it’s getting harder and harder to build a meaningful app and not rely on Google Play Services to aid us in some commonly required features such as maps, better location provider, geo fencing and so much more. Unfortunately up until now the library shipped as a giant monolith ripping us from one third of dex…

Read