Rx Java Subscriber never gets onNext event from location updates
<p>I'm trying to use this library: <a href="https://android-arsenal.com/details/1/3291" rel="nofollow">https://android-arsenal.com/details/1/3291</a> to get user's location. I did I think everything the sample shows but my Observable/Subscriber never triggers. </p>

<p>Here's my activity: </p>

<pre><code>public class GpsActivity extends AppCompatActivity/* implements LocationListener*/ {

final android.location.Location[] lastKnown = new android.location.Location[2];
LocationManager manager;
boolean exitLoop = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.no_gps);
    ButterKnife.bind(this);
    manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    getLocation();
}

private void getLocation() {
    //TODO zmienić UI
    boolean gpsPermission = checkPermissions();
    if (!gpsPermission) {
        Log.d(getClass().getSimpleName(), "No GPS permissions!");

        //TODO Handle permissions result
        requestPemissions();
        return;
    }
    boolean gpsEnabled = checkSettings();
    if (!gpsEnabled) {
        Log.d(getClass().getSimpleName(), "GPS not enabled!");

        //TODO Handle settings result
        buildAlertMessageNoGps();
        return;
    }
    subscribeForLocation(25f, this);

}

private void requestPemissions() {
    Log.d(getClass().getSimpleName(), "Requesting permissions...");

    if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.M) {
        requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, IntentHelper.PERMISSION_GPS);
    }

    Log.d(getClass().getSimpleName(), "Done.");

}

private boolean checkSettings() {
    Log.d(getClass().getSimpleName(), "Checking settings...");
    return !manager.isProviderEnabled(LocationManager.GPS_PROVIDER);

}

private boolean checkPermissions() {
    Log.d(getClass().getSimpleName(), "Checking permissions...");
    return ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED &amp;&amp;
            ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED;
}

private void buildAlertMessageNoGps() {
    Log.d(getClass().getSimpleName(), "Showing GPS settings alert...");

    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Your GPS seems to be disabled, do you want to enable it?")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
                    startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), IntentHelper.GPS_SETTINGS);
                }
            })
            .setNegativeButton("No", new DialogInterface.OnClickListener() {
                public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
                    dialog.cancel();
                }
            });
    final AlertDialog alert = builder.create();
    alert.show();
}


public void subscribeForLocation(float accuracy, final Context context) {
    Log.d(getClass().getSimpleName(), "Subscribing for updates...");

    final LocationRequestBuilder locationRequestBuilder = new LocationRequestBuilder(this);

    locationRequestBuilder.addLastLocation(LocationManager.GPS_PROVIDER, new LocationTime(30, TimeUnit.SECONDS), false)
            .addRequestLocation(LocationManager.GPS_PROVIDER, new LocationTime(10, TimeUnit.SECONDS))
            .create().subscribe(new Subscriber&lt;android.location.Location&gt;() {
        @Override
        public void onCompleted() {
            saveLocation();
        }

        @Override
        public void onError(Throwable e) {
            Log.d(getClass().getSimpleName(), e.toString());
        }

        @Override
        public void onNext(android.location.Location location) {
            final String name = Thread.currentThread().getName();
            Log.d(getClass().getSimpleName(), location != null ? location.toString() : "Location is empty =(");
        }
    });
}
</code></pre>

<p>The output I get from my logs is this: </p>

<pre><code> D/GpsActivity: Checking permissions...
 D/GpsActivity: Checking settings...
 D/GpsActivity: Subscribing for updates...
</code></pre>

<p>And then it just sits there doing nothing. This is my first time using Rx so not really sure what I should do in this situation.</p>