package com.airbnb.android.airmapview;
import android.os.Bundle;
import com.google.android.gms.maps.GoogleMapOptions;
import com.google.android.gms.maps.model.CameraPosition;
/**
* Wrapper for the {@link GoogleMapOptions} class, which is final.
*/
public class AirGoogleMapOptions {
private final GoogleMapOptions options;
public AirGoogleMapOptions(GoogleMapOptions options) {
this.options = options;
}
public AirGoogleMapOptions zOrderOnTop(boolean zOrderOnTop) {
options.zOrderOnTop(zOrderOnTop);
return this;
}
public AirGoogleMapOptions useViewLifecycleInFragment(boolean useViewLifecycleInFragment) {
options.useViewLifecycleInFragment(useViewLifecycleInFragment);
return this;
}
public AirGoogleMapOptions mapType(int mapType) {
options.mapType(mapType);
return this;
}
public AirGoogleMapOptions camera(CameraPosition camera) {
options.camera(camera);
return this;
}
public AirGoogleMapOptions zoomControlsEnabled(boolean enabled) {
options.zoomControlsEnabled(enabled);
return this;
}
public AirGoogleMapOptions compassEnabled(boolean enabled) {
options.compassEnabled(enabled);
return this;
}
public AirGoogleMapOptions scrollGesturesEnabled(boolean enabled) {
options.scrollGesturesEnabled(enabled);
return this;
}
public AirGoogleMapOptions zoomGesturesEnabled(boolean enabled) {
options.zoomGesturesEnabled(enabled);
return this;
}
public AirGoogleMapOptions tiltGesturesEnabled(boolean enabled) {
options.tiltGesturesEnabled(enabled);
return this;
}
public AirGoogleMapOptions rotateGesturesEnabled(boolean enabled) {
options.rotateGesturesEnabled(enabled);
return this;
}
public AirGoogleMapOptions liteMode(boolean enabled) {
options.liteMode(enabled);
return this;
}
public AirGoogleMapOptions mapToolbarEnabled(boolean enabled) {
options.mapToolbarEnabled(enabled);
return this;
}
public Boolean getZOrderOnTop() {
return options.getZOrderOnTop();
}
public Boolean getUseViewLifecycleInFragment() {
return options.getUseViewLifecycleInFragment();
}
public int getMapType() {
return options.getMapType();
}
public CameraPosition getCamera() {
return options.getCamera();
}
public Boolean getZoomControlsEnabled() {
return options.getZoomControlsEnabled();
}
public Boolean getCompassEnabled() {
return options.getCompassEnabled();
}
public Boolean getScrollGesturesEnabled() {
return options.getScrollGesturesEnabled();
}
public Boolean getZoomGesturesEnabled() {
return options.getZoomGesturesEnabled();
}
public Boolean getTiltGesturesEnabled() {
return options.getTiltGesturesEnabled();
}
public Boolean getRotateGesturesEnabled() {
return options.getRotateGesturesEnabled();
}
public Boolean getLiteMode() {
return options.getLiteMode();
}
public Boolean getMapToolbarEnabled() {
return options.getMapToolbarEnabled();
}
public Bundle toBundle() {
Bundle args = new Bundle();
// this is internal to SupportMapFragment
args.putParcelable("MapOptions", options);
return args;
}
}