/* * Copyright (C) 2013 Cyril Mottier (http://cyrilmottier.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.cyrilmottier.polaris2.maps.internal; import com.cyrilmottier.polaris2.maps.model.LatLng; import java.util.ArrayList; import java.util.List; /** * @author Cyril Mottier */ public final class ListTranslators { private ListTranslators() { } public static List<List<com.google.android.gms.maps.model.LatLng>> latLngListList(List<? extends List<LatLng>> holes) { final ArrayList<List<com.google.android.gms.maps.model.LatLng>> originals = newArrayList(holes.size()); for (int i = 0; i < holes.size(); i++) { final List<LatLng> hole = holes.get(i); final ArrayList<com.google.android.gms.maps.model.LatLng> originalHole = newArrayList(hole.size()); for (int j = 0; j < hole.size(); j++) { originalHole.add(hole.get(j).mOriginal); } originals.add(originalHole); } return originals; } public static com.google.android.gms.maps.model.LatLng[] latLngs(LatLng[] points) { final com.google.android.gms.maps.model.LatLng[] originals = new com.google.android.gms.maps.model.LatLng[points.length]; for (int i = 0; i < points.length; i++) { originals[i] = points[i].mOriginal; } return originals; } public static List<com.google.android.gms.maps.model.LatLng> latLngList(Iterable<LatLng> points) { final ArrayList<com.google.android.gms.maps.model.LatLng> originals = new ArrayList<com.google.android.gms.maps.model.LatLng>(); for (LatLng latLng : points) { originals.add(latLng.mOriginal); } return originals; } private static <E> ArrayList<E> newArrayList(int capacity) { return new ArrayList<E>(capacity); } }