@Override
    public void onResume() {
        super.onResume();

        // save current position
        final LastPositionHelper lastPosition = new LastPositionHelper(this);

        // resume location access
        resumeDisposables.add(geoDirHandler.start(GeoDirHandler.UPDATE_GEODATA | GeoDirHandler.UPDATE_DIRECTION | GeoDirHandler.LOW_POWER, 250, TimeUnit.MILLISECONDS));

        adapter.setSelectMode(false);
        setAdapterCurrentCoordinates(true);
        lastPosition.refreshListAtLastPosition(checkForEmtpyList);
        checkForEmtpyList = true;

        if (search != null) {
            updateAdapter();
           // loadCachesHandler.sendEmptyMessage(0);
        }
    }
TODO Possibly parts should be a Thread not a Handler
main/src/main/java/cgeo/geocaching/CacheListActivity.java