@Override
    public void selectMapTheme(final AppCompatActivity activity) {
        final AlertDialog.Builder builder = Dialogs.newBuilder(activity);
        builder.setTitle(R.string.map_theme_select);

        final int selectedItem = GoogleMapsThemes.getByName(Settings.getSelectedGoogleMapTheme()).ordinal();

        builder.setSingleChoiceItems(GoogleMapsThemes.getLabels(activity).toArray(new String[0]), selectedItem, (dialog, selection) -> {
            final GoogleMapsThemes theme = GoogleMapsThemes.values()[selection];
            Settings.setSelectedGoogleMapTheme(theme.name());
            if (theme.isInternalColorScheme) {
                googleMap.setMapColorScheme(theme.jsonRes);
            } else {
                googleMap.setMapStyle(theme.getMapStyleOptions(activity));
            }
            dialog.cancel();
        });

        builder.show();
    }
can be made static if nonstatic inner clases could have static methods
main/src/main/java/cgeo/geocaching/maps/google/v2/GoogleMapView.java