private void onClickStartStopTimer(View view) { if (!isRunning) { Toast.makeText(this, "Started timer", Toast.LENGTH_SHORT).show(); isRunning = true; startStop.setImageDrawable(alarmOffDrawable); timerObservable .compose(observableGroup.<Long>transform(OBSERVABLE_TAG)) .observeOn(AndroidSchedulers.mainThread()) .onBackpressureBuffer() .subscribe(observer); } else { Toast.makeText(this, "Stopped timer", Toast.LENGTH_SHORT).show(); isRunning = false; startStop.setImageDrawable(alarmDrawable); observableGroup.cancelAndRemove(OBSERVABLE_TAG); } }