<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Mix layers with Mobile Map Package layers in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619178#M4254</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Where is the 'copy' method?&lt;/P&gt;&lt;P&gt;I don't see that method on the layer class.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Oct 2018 23:49:38 GMT</pubDate>
    <dc:creator>NathanMellor</dc:creator>
    <dc:date>2018-10-12T23:49:38Z</dc:date>
    <item>
      <title>Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619176#M4252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've been looking for an answer to this.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suppose I load a Mobile Map Package.&amp;nbsp;&lt;/P&gt;&lt;P&gt;It has layers in it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I do either of these things:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Open the ArcgisMap and add more layers to it&lt;/LI&gt;&lt;LI&gt;Take the layers and add them to a different ArcGISMap&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result is that I have an invalid map that&amp;nbsp;shows nothing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it still all or nothing for Mobile Map Packages?&lt;/P&gt;&lt;P&gt;This way, I can't distribute them&amp;nbsp;as .mmpk - I have to extract the individual .geodatabases and use them that way.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2018 23:38:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619176#M4252</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-10-10T23:38:48Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619177#M4253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should be able to open a map from an MMPK and add new layers to it just fine. Note that if the layer is not reprojectable, and it's spatial reference does not match that of the map you're adding them too, then you might not be able to see the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For adding layers from one map to another map - if a layer already belongs to one map, you cannot add that to another map (you should get an exception to this effect); in this case you can try using the `copy` method to create a copy of the layer, and add that copy to the other map. This would be the same regardless of whether the layers are from a map loaded from an mmpk, or if the layers and maps were created programmatically from data directly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you're still having issues, post your code and details about your data, and perhaps we can reproduce any problems you're seeing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Shelly&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Oct 2018 11:04:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619177#M4253</guid>
      <dc:creator>ShellyGill1</dc:creator>
      <dc:date>2018-10-12T11:04:46Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619178#M4254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Where is the 'copy' method?&lt;/P&gt;&lt;P&gt;I don't see that method on the layer class.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Oct 2018 23:49:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619178#M4254</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-10-12T23:49:38Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619179#M4255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good point Nathan, apologies for not being clear here. We have implemented the copy method on the specific types of Layer class, not up at the Layer&amp;nbsp;superclass level. There was a few types of layer that we didn't support the copy method on, but I believe we're filling in this support in the upcoming release. Note however if you get an 'UnsupportedLayer' or 'UnknownLayer' (for example from a web map) then you won't be able to copy these I think.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 14 Oct 2018 17:08:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619179#M4255</guid>
      <dc:creator>ShellyGill1</dc:creator>
      <dc:date>2018-10-14T17:08:18Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619181#M4257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Confirmed that I still get zero results if I try this on 100.4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should I file a support ticket on this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this isn't going to work, I can't keep wasting time on it. I will have to extract the pieces, .geodatabase or whatever, from the .mmpk, and distribute them that way. However silly that is, it seems like the only option.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 17:48:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619181#M4257</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-10-18T17:48:42Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619182#M4258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nathan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Apologies for the delay. I had a look at your code and&amp;nbsp;I believe I've got it working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is one of spatial references, I believe. mMap is being constructed with a base map type whose spatial reference is different to that of the mobile map package.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So to make your code run, change the constructor for mMap from:&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 9.0pt;"&gt;&lt;SPAN style="color: #9876aa;"&gt;mMap &lt;/SPAN&gt;= &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;ArcGISMap(Basemap.Type.&lt;SPAN style="color: #9876aa;"&gt;TOPOGRAPHIC_VECTOR&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #6897bb;"&gt;44.417&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,&lt;/SPAN&gt;-&lt;SPAN style="color: #6897bb;"&gt;112.08&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #6897bb;"&gt;11&lt;/SPAN&gt;)&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;to&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 9.0pt;"&gt;&lt;SPAN style="color: #9876aa;"&gt;mMap &lt;/SPAN&gt;= &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;ArcGISMap()&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd also recommend commenting out&amp;nbsp;&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 9.0pt;"&gt;&lt;SPAN style="color: #808080;"&gt;mMapView.setViewpointCenterAsync(new Point(-121.44,45.115, SpatialReferences.getWgs84()),144000);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;to begin with, since it points slightly west of the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps! Please let me know if you have any more issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trevor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Oct 2018 14:15:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619182#M4258</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2018-10-23T14:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619183#M4259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Okay, but if I take out that line, I am no longer mixing layers, am I?&lt;/P&gt;&lt;P&gt;I still don't have any example of mixing layers from a mobile map package.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your yellowstone map had this SR:&lt;/P&gt;&lt;P&gt;SR= {"wkid":26912,"wkt":"PROJCS[\"NAD_1983_UTM_Zone_12N\",GEOGCS[\"GCS_North_American_1983\",DATUM[\"D_North_American_1983\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",500000.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",-111.0],PARAMETER[\"Scale_Factor\",0.9996],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"}&lt;/P&gt;&lt;P&gt;So maybe that's not compatible with the basemap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I then tried one of my own with this SR:&lt;/P&gt;&lt;P&gt;SR= {"wkid":102100,"latestWkid":3857,"wkt":"PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]]"}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Seems like that should be compatible with BaseMap Topographic, right? In fact it should be compatible with just about any map layers I plan to use.&lt;/P&gt;&lt;P&gt;I tried putting a basemap back in.&lt;/P&gt;&lt;PRE style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap &lt;/SPAN&gt;= &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;ArcGISMap(Basemap.Type.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;TOPOGRAPHIC&lt;/SPAN&gt;,&lt;SPAN style="color: #0000ff;"&gt;44.417&lt;/SPAN&gt;,-&lt;SPAN style="color: #0000ff;"&gt;112.08&lt;/SPAN&gt;,&lt;SPAN style="color: #0000ff;"&gt;11&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen is blank. No grid. Nothing.&lt;/P&gt;&lt;P&gt;Back where I started.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If it is the spatial reference that's the problem, how do I make an mmpk that will be compatible with standard tiled basemaps?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If it is not the spatial reference, then what is the problem?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Oct 2018 19:25:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619183#M4259</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-10-23T19:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619184#M4260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've attached a Mobile Map package of Yellowstone that does have what I think is the correct projection. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It has made no difference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I attempt to add any layer that is not in the mobile map package, it either does not work or it makes the whole display invalid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Oct 2018 21:16:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619184#M4260</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-10-29T21:16:35Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619185#M4261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've dug into this and you're right its doesn't seem to be a spatial reference issue and there doesn't seem to be a reason why it shouldn't work. So I've logged this as a bug.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the meantime, it sounds like you know the work around?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yourMobileMapPackage.unpackAsync(pathToMMPK, destinationFolder)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When its done unpacking,&amp;nbsp;get the path to the geodatabase locally on the device. Use the geodatabase to access feature tables. Build feature layers from the feature tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know how you get on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Trevor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2018 16:30:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619185#M4261</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2018-11-05T16:30:07Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619186#M4262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Support helped me and we narrowed it down to a problem with the sample. &lt;/P&gt;&lt;P&gt;It had little to do with the mappackage itself.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sample didn't have Internet permission in the manifest so it choked when trying to load the map layer, without any meaningful messages that that was the case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Internet permission is default on 6.0, but it stills need to be in the manifest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can't believe it was that easy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nathan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2018 18:03:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619186#M4262</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2018-11-05T18:03:10Z</dc:date>
    </item>
    <item>
      <title>Re: Mix layers with Mobile Map Package layers</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619180#M4256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've done everything you have asked and this is still the result. In the code, i can debug and see that one MobileBaseMapLayer is added to the basemap and four feature layers are added to the operational layers.&lt;/P&gt;&lt;P&gt;But none of that helps because I see absolutely nothing on screen. Not even a grid. No basemap, no feature layers. Nothing.&lt;/P&gt;&lt;P&gt;This is with your very own Yellowstone.mmpk example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="MobileMapPackage." class="image-1 jive-image" height="544" src="https://community.esri.com/legacyfs/online/424487_OpenMobileMapPackage.png" width="306" /&gt;&lt;/P&gt;&lt;P&gt;Here is the code. &lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;/* Copyright 2016 Esri
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; *
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * Licensed under the Apache License, Version 2.0 (the "License");
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * you may not use this file except in compliance with the License.
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * You may obtain a copy of the License at
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; *
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0" target="_blank"&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/A&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; *
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * Unless required by applicable law or agreed to in writing, software
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * distributed under the License is distributed on an "AS IS" BASIS,
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * See the License for the specific language governing permissions and
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; * limitations under the License.
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; *
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt; */
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;package &lt;/SPAN&gt;com.esri.arcgisruntime.sample.openmobilemappackage;

&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;java.io.File;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;java.util.List;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;java.util.concurrent.ExecutionException;

&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.Manifest;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.content.pm.PackageManager;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.os.Bundle;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.os.Environment;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.support.annotation.&lt;SPAN style="color: #808000;"&gt;NonNull&lt;/SPAN&gt;;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.support.v4.app.ActivityCompat;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.support.v4.content.ContextCompat;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.support.v7.app.AppCompatActivity;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.util.Log;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;android.widget.Toast;

&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.concurrent.ListenableFuture;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.geometry.Point;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.geometry.SpatialReference;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.geometry.SpatialReferences;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.ArcGISTiledLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.ArcGISVectorTiledLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.FeatureLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.ImageTiledLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.Layer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.LegendInfo;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.MobileBasemapLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.layers.WebTiledLayer;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.loadable.LoadStatus;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.mapping.ArcGISMap;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.mapping.Basemap;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.mapping.MobileMapPackage;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.mapping.Viewpoint;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;com.esri.arcgisruntime.mapping.view.MapView;

&lt;SPAN style="color: #000080; font-weight: bold;"&gt;public class &lt;/SPAN&gt;MainActivity &lt;SPAN style="color: #000080; font-weight: bold;"&gt;extends &lt;/SPAN&gt;AppCompatActivity {

&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static final &lt;/SPAN&gt;String &lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;TAG &lt;/SPAN&gt;= MainActivity.&lt;SPAN style="color: #000080; font-weight: bold;"&gt;class&lt;/SPAN&gt;.getSimpleName();
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static final &lt;/SPAN&gt;String &lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;FILE_EXTENSION &lt;/SPAN&gt;= &lt;SPAN style="color: #008000; font-weight: bold;"&gt;".mmpk"&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static &lt;/SPAN&gt;File &lt;SPAN style="color: #660e7a; font-style: italic;"&gt;extStorDir&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static &lt;/SPAN&gt;String &lt;SPAN style="color: #660e7a; font-style: italic;"&gt;extSDCardDirName&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static &lt;/SPAN&gt;String &lt;SPAN style="color: #660e7a; font-style: italic;"&gt;filename&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static &lt;/SPAN&gt;String &lt;SPAN style="color: #660e7a; font-style: italic;"&gt;mmpkFilePath&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// define permission to request
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; &lt;/SPAN&gt;String[] &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;reqPermission &lt;/SPAN&gt;= &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;String[] { Manifest.permission.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;WRITE_EXTERNAL_STORAGE &lt;/SPAN&gt;};
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private &lt;/SPAN&gt;MapView &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private &lt;/SPAN&gt;MobileMapPackage &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private int &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;requestCode &lt;/SPAN&gt;= &lt;SPAN style="color: #0000ff;"&gt;2718&lt;/SPAN&gt;;
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private &lt;/SPAN&gt;ArcGISMap &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap&lt;/SPAN&gt;;

&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;/**
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; * Create the mobile map package file location and name structure
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; */
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;private static &lt;/SPAN&gt;String createMobileMapPackageFilePath() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;extStorDir&lt;/SPAN&gt;.getAbsolutePath() + File.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;separator &lt;/SPAN&gt;+ &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"agis" &lt;/SPAN&gt;+ File.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;separator &lt;/SPAN&gt;+ &lt;SPAN style="color: #660e7a; font-style: italic;"&gt;filename
&lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ &lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;FILE_EXTENSION&lt;/SPAN&gt;;
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;protected void &lt;/SPAN&gt;onCreate(Bundle savedInstanceState) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;super&lt;/SPAN&gt;.onCreate(savedInstanceState);
&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(R.layout.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;activity_main&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISRuntimeEnvironment.&lt;SPAN style="font-style: italic;"&gt;setLicense&lt;/SPAN&gt;(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"runtimelite,1000,rud8488948081,none,TRB3LNBHPD0H4P7EJ008"&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// get sdcard resource name
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;extStorDir &lt;/SPAN&gt;= Environment.&lt;SPAN style="font-style: italic;"&gt;getExternalStorageDirectory&lt;/SPAN&gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// get the directory
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;extSDCardDirName &lt;/SPAN&gt;= &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.getResources().getString(R.string.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;config_data_sdcard_offline_dir&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// get mobile map package filename
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;filename &lt;/SPAN&gt;= &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Yellowstone"&lt;/SPAN&gt;;&lt;SPAN style="color: #808080; font-style: italic;"&gt;//this.getResources().getString(R.string.config_mmpk_name);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // create the full path to the mobile map package file
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;mmpkFilePath &lt;/SPAN&gt;= &lt;SPAN style="font-style: italic;"&gt;createMobileMapPackageFilePath&lt;/SPAN&gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// retrieve the MapView from layout
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView &lt;/SPAN&gt;= (MapView) findViewById(R.id.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;mapView&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap &lt;/SPAN&gt;= &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;ArcGISMap(Basemap.Type.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;TOPOGRAPHIC_VECTOR&lt;/SPAN&gt;,&lt;SPAN style="color: #0000ff;"&gt;44.417&lt;/SPAN&gt;,-&lt;SPAN style="color: #0000ff;"&gt;112.08&lt;/SPAN&gt;,&lt;SPAN style="color: #0000ff;"&gt;11&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.setMap(&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap&lt;/SPAN&gt;);


&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// For API level 23+ request permission at runtime
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(ContextCompat.&lt;SPAN style="font-style: italic;"&gt;checkSelfPermission&lt;/SPAN&gt;(MainActivity.&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;reqPermission&lt;/SPAN&gt;[&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;]) == PackageManager.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;PERMISSION_GRANTED&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadMobileMapPackage(&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;mmpkFilePath&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// request permission
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ActivityCompat.&lt;SPAN style="font-style: italic;"&gt;requestPermissions&lt;/SPAN&gt;(MainActivity.&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;reqPermission&lt;/SPAN&gt;, &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;requestCode&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;/**
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; * Handle the permissions request response
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; */
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;public void &lt;/SPAN&gt;onRequestPermissionsResult(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;int &lt;/SPAN&gt;requestCode, &lt;SPAN style="color: #808000;"&gt;@NonNull &lt;/SPAN&gt;String[] permissions, &lt;SPAN style="color: #808000;"&gt;@NonNull &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;int&lt;/SPAN&gt;[] grantResults) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(grantResults.&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;length &lt;/SPAN&gt;&amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0 &lt;/SPAN&gt;&amp;amp;&amp;amp; grantResults[&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;] == PackageManager.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;PERMISSION_GRANTED&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadMobileMapPackage(&lt;SPAN style="color: #660e7a; font-style: italic;"&gt;mmpkFilePath&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// report to user that permission was denied
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Toast.&lt;SPAN style="font-style: italic;"&gt;makeText&lt;/SPAN&gt;(MainActivity.&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, getResources().getString(R.string.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;location_permission_denied&lt;/SPAN&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;LENGTH_SHORT&lt;/SPAN&gt;).show();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;/**
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; * Load a mobile map package into a MapView
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; *
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; * &lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-weight: bold; font-style: italic;"&gt;@param &lt;/SPAN&gt;&lt;SPAN style="color: #3d3d3d; font-weight: bold; font-style: italic;"&gt;mmpkFile &lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;Full path to mmpk file
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp; */
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;private void &lt;/SPAN&gt;loadMobileMapPackage(String mmpkFile) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;//[DocRef: Name=Open Mobile Map Package-android, Category=Work with maps, Topic=Create an offline map]
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // create the mobile map package
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;File mfile = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;File(mmpkFile);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;boolean &lt;/SPAN&gt;exists = mfile.exists();
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.&lt;SPAN style="font-style: italic;"&gt;i&lt;/SPAN&gt;(&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;TAG&lt;/SPAN&gt;,&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"File " &lt;/SPAN&gt;+ mmpkFile + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;" exists=" &lt;/SPAN&gt;+ exists);

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage &lt;/SPAN&gt;= &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;MobileMapPackage(mmpkFile);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// load the mobile map package asynchronously
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.loadAsync();

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// add done listener which will invoke when mobile map package has loaded
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.addDoneLoadingListener(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;Runnable() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;public void &lt;/SPAN&gt;run() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// check load status and that the mobile map package has maps
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.getLoadStatus() == LoadStatus.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;LOADED &lt;/SPAN&gt;&amp;amp;&amp;amp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.getMaps().size() &amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// add the map from the mobile map package to the MapView
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ArcGISMap amap = &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.getMaps().get(&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;//mMap.setBasemap(Basemap.createNavigationVector());
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ArcGISMap defaultMap = new ArcGISMap(Basemap.Type.TOPOGRAPHIC_VECTOR,44.417,-112.08,11);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Basemap basemap = Basemap.createNavigationVector();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mMap.setBasemap(basemap);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mMap.getBasemap().getBaseLayers().add(new ArcGISTiledLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fwww.arcgis.com%2Fhome%2Fitem.html%3Fid%3D30e5fe3149c34df1ba922e6f5bbf808f" target="_blank"&gt;https://www.arcgis.com/home/item.html?id=30e5fe3149c34df1ba922e6f5bbf808f&lt;/A&gt;&lt;SPAN&gt;"));&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///mMapView.setMap(defaultMap);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;for&lt;/SPAN&gt;(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;int &lt;/SPAN&gt;i=&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;;i&amp;lt;amap.getBasemap().getBaseLayers().size(); i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Layer l = amap.getBasemap().getBaseLayers().get(i);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Layer layerCopy = copyLayer(l);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(layerCopy!=&lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap&lt;/SPAN&gt;.getBasemap().getBaseLayers().add(layerCopy);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;for&lt;/SPAN&gt;(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;int &lt;/SPAN&gt;j=&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;;j&amp;lt;amap.getOperationalLayers().size(); j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Layer o = amap.getOperationalLayers().get(j);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Layer layerCopy = copyLayer(o);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(layerCopy!=&lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMap&lt;/SPAN&gt;.getOperationalLayers().add(layerCopy);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }





&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;//Log.i(TAG,"Mobile Map SR: "&amp;nbsp; + mMap.getSpatialReference().getWKText());
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ArcGISTiledLayer tiledLayerBaseMap = new ArcGISTiledLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fservices.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FWorld_Topo_Map%2FMapServer" target="_blank"&gt;http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mMap.getBasemap().getBaseLayers().add(tiledLayerBaseMap);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.i(TAG,"Mobile Map SR: "&amp;nbsp; + tiledLayerBaseMap.getSpatialReference().getWKText());
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // mMapView.setMap(mMap);
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;/*
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (final Layer layer:mMap.getOperationalLayers() ) {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SpatialReference sr =layer.getSpatialReference();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(sr== null)
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.i(TAG,"Layer "+ layer.getName() + " : SR==null" );
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.i(TAG,"Layer "+ layer.getName() + " : " + sr.getWKText() );
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final ListenableFuture&amp;lt;List&amp;lt;LegendInfo&amp;gt;&amp;gt; future = layer.fetchLegendInfosAsync();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; future.addDoneListener(new Runnable() {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.i(TAG,"Layer "+ layer.getName() + " : "+ future.isDone());
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(future.isDone())
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;LegendInfo&amp;gt; legendInfos = future.get();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(LegendInfo linfo:legendInfos)
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.i(TAG,"info: " + linfo.getName() + "&amp;nbsp; : " +&amp;nbsp; linfo.getSymbol().toJson() );
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (InterruptedException e) {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (ExecutionException e) {
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;*/
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Log.&lt;SPAN style="font-style: italic;"&gt;i&lt;/SPAN&gt;(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"mpackage"&lt;/SPAN&gt;,&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"mMapView" &lt;/SPAN&gt;+ &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.getCurrentViewpoint(Viewpoint.Type.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;CENTER_AND_SCALE&lt;/SPAN&gt;).toJson());
&lt;SPAN style="color: #808080; font-style: italic;"&gt;//45.872546, -121.976170 Wind River Road
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-110.3626,46.8797
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.setViewpointCenterAsync(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;Point(-&lt;SPAN style="color: #0000ff;"&gt;121.44&lt;/SPAN&gt;,&lt;SPAN style="color: #0000ff;"&gt;45.115&lt;/SPAN&gt;, SpatialReferences.&lt;SPAN style="font-style: italic;"&gt;getWgs84&lt;/SPAN&gt;()),&lt;SPAN style="color: #0000ff;"&gt;144000&lt;/SPAN&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.&lt;SPAN style="font-style: italic;"&gt;i&lt;/SPAN&gt;(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"mpackage"&lt;/SPAN&gt;,&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"mMapView" &lt;/SPAN&gt;+ &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.getCurrentViewpoint(Viewpoint.Type.&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;CENTER_AND_SCALE&lt;/SPAN&gt;).toJson());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;// Log an issue if the mobile map package fails to load
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Log.&lt;SPAN style="font-style: italic;"&gt;e&lt;/SPAN&gt;(&lt;SPAN style="color: #660e7a; font-weight: bold; font-style: italic;"&gt;TAG&lt;/SPAN&gt;, &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mapPackage&lt;/SPAN&gt;.getLoadError().getMessage());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080; font-style: italic;"&gt;//[DocRef: END]
&lt;/SPAN&gt;&lt;SPAN style="color: #808080; font-style: italic;"&gt;&amp;nbsp; &lt;/SPAN&gt;}


&amp;nbsp; Layer copyLayer(Layer l)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(l &lt;SPAN style="color: #000080; font-weight: bold;"&gt;instanceof &lt;/SPAN&gt;FeatureLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;((FeatureLayer) l).copy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(l &lt;SPAN style="color: #000080; font-weight: bold;"&gt;instanceof &lt;/SPAN&gt;ImageTiledLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return&lt;/SPAN&gt;((WebTiledLayer)l).copy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(l &lt;SPAN style="color: #000080; font-weight: bold;"&gt;instanceof &lt;/SPAN&gt;ArcGISTiledLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;((ArcGISTiledLayer)l).copy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(l &lt;SPAN style="color: #000080; font-weight: bold;"&gt;instanceof &lt;/SPAN&gt;ArcGISVectorTiledLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;((ArcGISVectorTiledLayer)l).copy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if&lt;/SPAN&gt;(l &lt;SPAN style="color: #000080; font-weight: bold;"&gt;instanceof &lt;/SPAN&gt;MobileBasemapLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;((MobileBasemapLayer)l).copy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return null&lt;/SPAN&gt;;
&amp;nbsp; }


&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;protected void &lt;/SPAN&gt;onPause() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;super&lt;/SPAN&gt;.onPause();
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.pause();
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;protected void &lt;/SPAN&gt;onResume() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;super&lt;/SPAN&gt;.onResume();
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.resume();
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #808000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;protected void &lt;/SPAN&gt;onDestroy() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;super&lt;/SPAN&gt;.onDestroy();
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;mMapView&lt;/SPAN&gt;.dispose();
&amp;nbsp; }



}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:26:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/mix-layers-with-mobile-map-package-layers/m-p/619180#M4256</guid>
      <dc:creator>NathanMellor</dc:creator>
      <dc:date>2021-12-12T02:26:50Z</dc:date>
    </item>
  </channel>
</rss>

