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; } }