package com.google.maps.android.data.kml; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.util.Log; import com.google.android.gms.maps.GoogleMap; import com.google.maps.android.collections.GroundOverlayManager; import com.google.maps.android.collections.MarkerManager; import com.google.maps.android.collections.PolygonManager; import com.google.maps.android.collections.PolylineManager; import com.google.maps.android.data.Layer; import com.google.maps.android.data.Renderer; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; /* JADX INFO: loaded from: classes2.dex */ public class KmlLayer extends Layer { public KmlLayer(GoogleMap googleMap, int i, Context context) throws XmlPullParserException, IOException { this(googleMap, context.getResources().openRawResource(i), context, new MarkerManager(googleMap), new PolygonManager(googleMap), new PolylineManager(googleMap), new GroundOverlayManager(googleMap), (Renderer.ImagesCache) null); } public KmlLayer(GoogleMap googleMap, InputStream inputStream, Context context) throws XmlPullParserException, IOException { this(googleMap, inputStream, context, new MarkerManager(googleMap), new PolygonManager(googleMap), new PolylineManager(googleMap), new GroundOverlayManager(googleMap), (Renderer.ImagesCache) null); } public KmlLayer(GoogleMap googleMap, int i, Context context, MarkerManager markerManager, PolygonManager polygonManager, PolylineManager polylineManager, GroundOverlayManager groundOverlayManager, Renderer.ImagesCache imagesCache) throws XmlPullParserException, IOException { this(googleMap, context.getResources().openRawResource(i), context, markerManager, polygonManager, polylineManager, groundOverlayManager, imagesCache); } public KmlLayer(GoogleMap googleMap, InputStream inputStream, Context context, MarkerManager markerManager, PolygonManager polygonManager, PolylineManager polylineManager, GroundOverlayManager groundOverlayManager, Renderer.ImagesCache imagesCache) throws Throwable { if (inputStream == null) { throw new IllegalArgumentException("KML InputStream cannot be null"); } KmlRenderer kmlRenderer = new KmlRenderer(googleMap, context, markerManager, polygonManager, polylineManager, groundOverlayManager, imagesCache); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); bufferedInputStream.mark(1024); ZipInputStream zipInputStream = new ZipInputStream(bufferedInputStream); try { ZipEntry nextEntry = zipInputStream.getNextEntry(); if (nextEntry != null) { HashMap map = new HashMap<>(); KmlParser kml = null; while (nextEntry != null) { if (kml == null && nextEntry.getName().toLowerCase().endsWith(".kml")) { kml = parseKml(zipInputStream); } else { Bitmap bitmapDecodeStream = BitmapFactory.decodeStream(zipInputStream); if (bitmapDecodeStream != null) { map.put(nextEntry.getName(), bitmapDecodeStream); } else { Log.w("KmlLayer", "Unsupported KMZ contents file type: " + nextEntry.getName()); } } nextEntry = zipInputStream.getNextEntry(); } if (kml == null) { throw new IllegalArgumentException("KML not found in InputStream"); } kmlRenderer.storeKmzData(kml.getStyles(), kml.getStyleMaps(), kml.getPlacemarks(), kml.getContainers(), kml.getGroundOverlays(), map); } else { bufferedInputStream.reset(); KmlParser kml2 = parseKml(bufferedInputStream); kmlRenderer.storeKmlData(kml2.getStyles(), kml2.getStyleMaps(), kml2.getPlacemarks(), kml2.getContainers(), kml2.getGroundOverlays()); } } catch (Throwable th) { th = th; } try { storeRenderer(kmlRenderer); inputStream.close(); bufferedInputStream.close(); zipInputStream.close(); } catch (Throwable th2) { th = th2; inputStream.close(); bufferedInputStream.close(); zipInputStream.close(); throw th; } } private static KmlParser parseKml(InputStream inputStream) throws XmlPullParserException, IOException { KmlParser kmlParser = new KmlParser(createXmlParser(inputStream)); kmlParser.parseKml(); return kmlParser; } private static XmlPullParser createXmlParser(InputStream inputStream) throws XmlPullParserException { XmlPullParserFactory xmlPullParserFactoryNewInstance = XmlPullParserFactory.newInstance(); xmlPullParserFactoryNewInstance.setNamespaceAware(true); XmlPullParser xmlPullParserNewPullParser = xmlPullParserFactoryNewInstance.newPullParser(); xmlPullParserNewPullParser.setInput(inputStream, null); return xmlPullParserNewPullParser; } @Override // com.google.maps.android.data.Layer public void addLayerToMap() { super.addKMLToMap(); } public boolean hasPlacemarks() { return hasFeatures(); } public Iterable getPlacemarks() { return getFeatures(); } @Override // com.google.maps.android.data.Layer public boolean hasContainers() { return super.hasContainers(); } @Override // com.google.maps.android.data.Layer public Iterable getContainers() { return super.getContainers(); } @Override // com.google.maps.android.data.Layer public Iterable getGroundOverlays() { return super.getGroundOverlays(); } }