use of pl.charmas.android.reactivelocation2.ReactiveLocationProvider in project Android-ReactiveLocation by mcharmas.
the class GeofenceActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reactiveLocationProvider = new ReactiveLocationProvider(this);
setContentView(R.layout.activity_geofence);
initViews();
}
use of pl.charmas.android.reactivelocation2.ReactiveLocationProvider in project Android-ReactiveLocation by mcharmas.
the class MainActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lastKnownLocationView = (TextView) findViewById(R.id.last_known_location_view);
updatableLocationView = (TextView) findViewById(R.id.updated_location_view);
addressLocationView = (TextView) findViewById(R.id.address_for_location_view);
currentActivityView = (TextView) findViewById(R.id.activity_recent_view);
locationProvider = new ReactiveLocationProvider(getApplicationContext(), ReactiveLocationProviderConfiguration.builder().setRetryOnConnectionSuspended(true).build());
lastKnownLocationObservable = locationProvider.getLastKnownLocation().observeOn(AndroidSchedulers.mainThread());
final LocationRequest locationRequest = LocationRequest.create().setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY).setNumUpdates(5).setInterval(100);
locationUpdatesObservable = locationProvider.checkLocationSettings(new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).setAlwaysShow(// Refrence: http://stackoverflow.com/questions/29824408/google-play-services-locationservices-api-new-option-never
true).build()).doOnNext(new Consumer<LocationSettingsResult>() {
@Override
public void accept(LocationSettingsResult locationSettingsResult) {
Status status = locationSettingsResult.getStatus();
if (status.getStatusCode() == LocationSettingsStatusCodes.RESOLUTION_REQUIRED) {
try {
status.startResolutionForResult(MainActivity.this, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException th) {
Log.e("MainActivity", "Error opening settings activity.", th);
}
}
}
}).flatMap(new Function<LocationSettingsResult, Observable<Location>>() {
@Override
public Observable<Location> apply(LocationSettingsResult locationSettingsResult) {
return locationProvider.getUpdatedLocation(locationRequest);
}
}).observeOn(AndroidSchedulers.mainThread());
addressObservable = locationProvider.getUpdatedLocation(locationRequest).flatMap(new Function<Location, Observable<List<Address>>>() {
@Override
public Observable<List<Address>> apply(Location location) {
return locationProvider.getReverseGeocodeObservable(location.getLatitude(), location.getLongitude(), 1);
}
}).map(new Function<List<Address>, Address>() {
@Override
public Address apply(List<Address> addresses) {
return addresses != null && !addresses.isEmpty() ? addresses.get(0) : null;
}
}).map(new AddressToStringFunc()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
activityObservable = locationProvider.getDetectedActivity(50).observeOn(AndroidSchedulers.mainThread());
}
use of pl.charmas.android.reactivelocation2.ReactiveLocationProvider in project Android-ReactiveLocation by mcharmas.
the class MockLocationsActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mocklocations);
locationProvider = new ReactiveLocationProvider(this);
mockLocationSubject = PublishSubject.create();
mockLocationObservable = mockLocationSubject.hide();
initViews();
}
use of pl.charmas.android.reactivelocation2.ReactiveLocationProvider in project Android-ReactiveLocation by mcharmas.
the class PlacesResultActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places_result);
placeNameView = (TextView) findViewById(R.id.place_name_view);
placeLocationView = (TextView) findViewById(R.id.place_location_view);
placeAddressView = (TextView) findViewById(R.id.place_address_view);
reactiveLocationProvider = new ReactiveLocationProvider(this);
getPlaceIdFromIntent();
}
use of pl.charmas.android.reactivelocation2.ReactiveLocationProvider in project Android-ReactiveLocation by mcharmas.
the class PlacesActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
currentPlaceView = (TextView) findViewById(R.id.current_place_view);
queryView = (EditText) findViewById(R.id.place_query_view);
placeSuggestionsList = (ListView) findViewById(R.id.place_suggestions_list);
placeSuggestionsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AutocompleteInfo info = (AutocompleteInfo) parent.getAdapter().getItem(position);
startActivity(PlacesResultActivity.getStartIntent(PlacesActivity.this, info.id));
}
});
reactiveLocationProvider = new ReactiveLocationProvider(this);
}
Aggregations