package com.nilhcem.bblfr.ui;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.MapFragment;
import com.nilhcem.bblfr.R;
import com.nilhcem.bblfr.core.map.LocationProvider;
import com.nilhcem.bblfr.core.utils.NetworkUtils;
import com.nilhcem.bblfr.ui.navigationdrawer.NavigationDrawerActivity;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.OnClick;
public abstract class BaseMapActivity extends NavigationDrawerActivity {
protected MapFragment mMapFragment;
@Inject protected LocationProvider mLocationProvider;
@BindView(R.id.maps_error_container) ViewGroup mErrorContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity);
mMapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.locations_map_container);
}
@Override
protected void onStart() {
super.onStart();
onReloadMapsButtonClicked();
}
@OnClick(R.id.maps_error_button)
void onReloadMapsButtonClicked() {
if (NetworkUtils.isNetworkAvailable(this)) {
mErrorContainer.setVisibility(View.GONE);
onMapFinishedLoading();
loadMap();
} else {
mErrorContainer.setVisibility(View.VISIBLE);
}
}
protected abstract void loadMap();
protected void onMapFinishedLoading() {
mErrorContainer.setVisibility(View.GONE);
}
}