Re-call refresh view method with new parameters

This commit is contained in:
neslihanturan 2018-02-19 23:36:09 +03:00
parent cda75348d2
commit 182f6033d6

View file

@ -135,7 +135,8 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.action_refresh: case R.id.action_refresh:
lockNearbyView(false); lockNearbyView(false);
refreshView(true); refreshView(true,
LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
return true; return true;
case R.id.action_display_list: case R.id.action_display_list:
bottomSheetBehaviorForDetails.setState(BottomSheetBehavior.STATE_HIDDEN); bottomSheetBehaviorForDetails.setState(BottomSheetBehavior.STATE_HIDDEN);
@ -157,7 +158,8 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
switch (requestCode) { switch (requestCode) {
case LOCATION_REQUEST: { case LOCATION_REQUEST: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
refreshView(false); refreshView(false,
LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
} else { } else {
//If permission not granted, go to page that says Nearby Places cannot be displayed //If permission not granted, go to page that says Nearby Places cannot be displayed
hideProgressBar(); hideProgressBar();
@ -212,7 +214,8 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
private void checkLocationPermission() { private void checkLocationPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (locationManager.isLocationPermissionGranted()) { if (locationManager.isLocationPermissionGranted()) {
refreshView(false); refreshView(false,
LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
} else { } else {
// Should we show an explanation? // Should we show an explanation?
if (locationManager.isPermissionExplanationRequired(this)) { if (locationManager.isPermissionExplanationRequired(this)) {
@ -238,7 +241,8 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
} }
} }
} else { } else {
refreshView(false); refreshView(false,
LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
} }
} }
@ -247,7 +251,8 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) { if (requestCode == 1) {
Timber.d("User is back from Settings page"); Timber.d("User is back from Settings page");
refreshView(false); refreshView(false,
LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
} }
} }
@ -298,8 +303,10 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
* This method should be the single point to load/refresh nearby places * This method should be the single point to load/refresh nearby places
* *
* @param isHardRefresh * @param isHardRefresh
* @param locationChangeType defines if location shanged significantly or slightly
*/ */
private void refreshView(boolean isHardRefresh) { private void refreshView(boolean isHardRefresh,
LocationServiceManager.LocationChangeType locationChangeType) {
if (lockNearbyView) { if (lockNearbyView) {
return; return;
} }
@ -318,12 +325,19 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
return; return;
} }
if (locationChangeType
.equals(LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED)) {
progressBar.setVisibility(View.VISIBLE); progressBar.setVisibility(View.VISIBLE);
placesDisposable = Observable.fromCallable(() -> nearbyController placesDisposable = Observable.fromCallable(() -> nearbyController
.loadAttractionsFromLocation(curLatLang)) .loadAttractionsFromLocation(curLatLang))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(this::populatePlaces); .subscribe(this::populatePlaces);
} else if (locationChangeType
.equals(LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED)) {
//TODO: update current location marker and camera
}
} }
private void populatePlaces(List<Place> placeList) { private void populatePlaces(List<Place> placeList) {
@ -393,12 +407,12 @@ public class NearbyActivity extends NavigationBaseActivity implements LocationUp
@Override @Override
public void onLocationChangedSignificantly(LatLng latLng) { public void onLocationChangedSignificantly(LatLng latLng) {
refreshView(false); refreshView(false, LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED);
} }
@Override @Override
public void onLocationChangedSlightly(LatLng latLng) { public void onLocationChangedSlightly(LatLng latLng) {
refreshView(false); refreshView(false, LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED);
} }
public void prepareViewsForSheetPosition(int bottomSheetState) { public void prepareViewsForSheetPosition(int bottomSheetState) {