├── .gitignore ├── LICENSE ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── bom └── build.gradle.kts ├── build.gradle.kts ├── buildSrc ├── build.gradle.kts └── src │ └── main │ └── kotlin │ └── deploy │ └── ArtifactPublisher.kt ├── ci ├── common.sh ├── publish.sh └── run_gradle_task.sh ├── doc ├── README.md ├── general │ ├── design_patterns.md │ └── developer_setup.md ├── release │ └── release_process.md └── testing │ └── testing_strategy.md ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── kdoc └── build.gradle.kts ├── lint.xml ├── microapps ├── .gitignore ├── ArTabletopApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── artabletopapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ └── MainScreen.kt │ │ │ └── ui │ │ │ └── theme │ │ │ └── Color.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── ArWorldScaleApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── arworldscaleapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ └── MainScreen.kt │ │ │ └── ui │ │ │ └── theme │ │ │ └── Color.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── baseline_straighten_24.xml │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── AuthenticationApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── authenticationapp │ │ │ │ ├── AuthenticationAppViewModel.kt │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── BasemapGalleryApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── basemapgalleryapp │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── ViewModel.kt │ │ │ │ ├── screens │ │ │ │ └── MainScreen.kt │ │ │ │ └── ui │ │ │ │ └── theme │ │ │ │ └── Color.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── CompassApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── compassapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.jpg ├── FeatureFormsApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── featureformsapp │ │ │ │ ├── FeatureFormApplication.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── data │ │ │ │ ├── PortalItemRepository.kt │ │ │ │ ├── PortalSettings.kt │ │ │ │ ├── local │ │ │ │ │ ├── ItemCacheDao.kt │ │ │ │ │ ├── ItemData.kt │ │ │ │ │ └── UrlHistoryDao.kt │ │ │ │ └── network │ │ │ │ │ └── ItemRemoteDataSource.kt │ │ │ │ ├── di │ │ │ │ ├── CoroutinesModule.kt │ │ │ │ ├── DataModule.kt │ │ │ │ └── PersistenceModule.kt │ │ │ │ ├── navigation │ │ │ │ └── Navigator.kt │ │ │ │ ├── screens │ │ │ │ ├── bottomsheet │ │ │ │ │ ├── BottomSheetScaffold.kt │ │ │ │ │ ├── InternalMutatorMutex.kt │ │ │ │ │ ├── SheetDefaults.kt │ │ │ │ │ ├── SheetLayout.kt │ │ │ │ │ ├── Strings.kt │ │ │ │ │ └── SwipeableV2.kt │ │ │ │ ├── browse │ │ │ │ │ ├── AsyncImage.kt │ │ │ │ │ ├── MapListScreen.kt │ │ │ │ │ └── MapListViewModel.kt │ │ │ │ ├── login │ │ │ │ │ ├── LoginScreen.kt │ │ │ │ │ └── LoginViewModel.kt │ │ │ │ └── map │ │ │ │ │ ├── AddFeatureSheet.kt │ │ │ │ │ ├── MapScreen.kt │ │ │ │ │ └── MapViewModel.kt │ │ │ │ └── ui │ │ │ │ └── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_default_map.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_topographic_map.jpeg │ │ │ ├── ic_world.xml │ │ │ ├── icon_history.xml │ │ │ └── icon_restore.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ ├── screenshot2.png │ └── screenshot3.png ├── FloorFilterApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── floorfilterapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshots │ │ ├── facilityfilter.png │ │ ├── facilityselector.png │ │ ├── floorselector.png │ │ ├── sitebutton.png │ │ ├── sitefilter.png │ │ └── siteselector.png ├── LegendApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── legendapp │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── screens │ │ │ │ ├── LegendViewModel.kt │ │ │ │ └── MainScreen.kt │ │ │ │ └── ui │ │ │ │ └── theme │ │ │ │ └── Color.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MapViewCalloutApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── mapviewcalloutapp │ │ │ ├── MainActivity.kt │ │ │ └── screens │ │ │ ├── FeatureScreen.kt │ │ │ ├── MainScreen.kt │ │ │ ├── MapViewModel.kt │ │ │ └── TapLocationScreen.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── MapViewGeometryEditorApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── mapviewgeometryeditorapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MapViewIdentifyApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── mapviewidentifyapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ ├── IdentifyViewModel.kt │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MapViewInsetsApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── mapviewinsetsapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MapViewLocationDisplayApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── mapviewlocationdisplayapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MapViewSetViewpointApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── mapviewsetviewpointapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── MicroappsLib │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── esri │ │ └── microappslib │ │ └── theme │ │ ├── Color.kt │ │ └── Theme.kt ├── PopupApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── popupapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ └── mapscreen │ │ │ │ ├── MainScreen.kt │ │ │ │ └── MapViewModel.kt │ │ │ └── ui │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── ScalebarApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── scalebarapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ └── MainScreen.kt │ │ │ └── ui │ │ │ └── theme │ │ │ └── Color.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── SceneViewAnalysisOverlayApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── sceneviewanalysisoverlayapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── SceneViewCalloutApp │ ├── .gitignore │ ├── README.md │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── sceneviewcalloutapp │ │ │ ├── MainActivity.kt │ │ │ └── screens │ │ │ ├── MainScreen.kt │ │ │ └── SceneViewModel.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml ├── SceneViewCameraControllerApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── sceneviewcameracontrollerapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── SceneViewLightingOptionsApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── sceneviewlightingoptionsapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ ├── DropdownMenuAlertDialog.kt │ │ │ │ ├── MainScreen.kt │ │ │ │ └── RgbaSlider.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── SceneViewSetViewpointApp │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── arcgismaps │ │ │ │ └── toolkit │ │ │ │ └── sceneviewsetviewpointapp │ │ │ │ ├── MainActivity.kt │ │ │ │ └── screens │ │ │ │ └── MainScreen.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ └── screenshot.png ├── TemplateApp │ ├── .gitignore │ └── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── templateapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ └── MainScreen.kt │ │ │ └── ui │ │ │ └── theme │ │ │ └── Color.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml └── UtilityNetworkTraceApp │ ├── .gitignore │ ├── README.md │ ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── utilitynetworktraceapp │ │ │ ├── MainActivity.kt │ │ │ ├── screens │ │ │ ├── MainScreen.kt │ │ │ └── TraceViewModel.kt │ │ │ └── ui │ │ │ └── theme │ │ │ └── Color.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── screenshots │ ├── advancedoptions.png │ ├── startingpointproperties.png │ ├── trace.png │ ├── traceconfigs.png │ └── traceresults.png ├── new-component-starter.sh ├── new-microapp-starter.sh ├── secrets.defaults.properties ├── settings.gradle.kts ├── t9nmanifest.txt └── toolkit ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── ar ├── .gitignore ├── README.md ├── api │ └── ar.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png ├── src │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── ar │ │ │ ├── JoysliderTests.kt │ │ │ ├── LocationFilteringTests.kt │ │ │ ├── PeDataTests.kt │ │ │ └── WorldScaleTrackingModeTests.kt │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ ├── pedata │ │ │ └── egm96.grd │ │ ├── shaders │ │ │ ├── background_show_camera.frag │ │ │ ├── background_show_camera.vert │ │ │ ├── plane.frag │ │ │ └── plane.vert │ │ └── textures │ │ │ └── trigrid.png │ │ ├── java │ │ └── com │ │ │ └── arcgismaps │ │ │ └── toolkit │ │ │ └── ar │ │ │ ├── ArCoreAuthorizationException.kt │ │ │ ├── TableTopSceneView.kt │ │ │ ├── TableTopSceneViewProxy.kt │ │ │ ├── TableTopSceneViewScope.kt │ │ │ ├── TableTopSceneViewStatus.kt │ │ │ ├── WorldScaleCalibrationViewColorScheme.kt │ │ │ ├── WorldScaleCalibrationViewDefaults.kt │ │ │ ├── WorldScaleCalibrationViewTypography.kt │ │ │ ├── WorldScaleSceneView.kt │ │ │ ├── WorldScaleSceneViewProxy.kt │ │ │ ├── WorldScaleSceneViewScope.kt │ │ │ ├── WorldScaleSceneViewStatus.kt │ │ │ ├── WorldScaleTrackingMode.kt │ │ │ └── internal │ │ │ ├── ArCameraFeed.kt │ │ │ ├── ArHelpers.kt │ │ │ ├── ArSessionWrapper.kt │ │ │ ├── CalibrationState.kt │ │ │ ├── DefaultThemeTokens.kt │ │ │ ├── GeospatialTrackingCameraController.kt │ │ │ ├── Joyslider.kt │ │ │ ├── PeData.kt │ │ │ ├── WorldScaleCameraController.kt │ │ │ ├── WorldScaleHeadingProvider.kt │ │ │ ├── WorldTrackingCameraController.kt │ │ │ └── render │ │ │ ├── CameraFeedRenderer.kt │ │ │ ├── DebugUtil.kt │ │ │ ├── DisplayRotationHelper.kt │ │ │ ├── Framebuffer.java │ │ │ ├── GLError.java │ │ │ ├── GpuBuffer.java │ │ │ ├── IndexBuffer.java │ │ │ ├── Mesh.java │ │ │ ├── PlaneRenderer.kt │ │ │ ├── Shader.java │ │ │ ├── SurfaceDrawHandler.kt │ │ │ ├── Texture.java │ │ │ └── VertexBuffer.java │ │ └── res │ │ ├── drawable-anydpi │ │ ├── ic_action_add.xml │ │ └── ic_action_reduce.xml │ │ ├── drawable-hdpi │ │ ├── ic_action_add.png │ │ └── ic_action_reduce.png │ │ ├── drawable-mdpi │ │ ├── ic_action_add.png │ │ └── ic_action_reduce.png │ │ ├── drawable-xhdpi │ │ ├── ic_action_add.png │ │ └── ic_action_reduce.png │ │ ├── drawable-xxhdpi │ │ ├── ic_action_add.png │ │ └── ic_action_reduce.png │ │ ├── values-ar │ │ └── strings.xml │ │ ├── values-bg │ │ └── strings.xml │ │ ├── values-bs │ │ └── strings.xml │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-cs │ │ └── strings.xml │ │ ├── values-da │ │ └── strings.xml │ │ ├── values-de │ │ └── strings.xml │ │ ├── values-el │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-et │ │ └── strings.xml │ │ ├── values-fi │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-hr │ │ └── strings.xml │ │ ├── values-hu │ │ └── strings.xml │ │ ├── values-in │ │ ├── strings.xml │ │ └── values-id │ │ │ └── strings.xml │ │ ├── values-it │ │ └── strings.xml │ │ ├── values-iw │ │ ├── strings.xml │ │ └── values-iw │ │ │ └── strings.xml │ │ ├── values-ja │ │ └── strings.xml │ │ ├── values-ko │ │ └── strings.xml │ │ ├── values-lt │ │ └── strings.xml │ │ ├── values-lv │ │ └── strings.xml │ │ ├── values-nl │ │ └── strings.xml │ │ ├── values-no │ │ └── strings.xml │ │ ├── values-pl │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ └── strings.xml │ │ ├── values-pt-rPT │ │ └── strings.xml │ │ ├── values-ro │ │ └── strings.xml │ │ ├── values-ru │ │ └── strings.xml │ │ ├── values-sk │ │ └── strings.xml │ │ ├── values-sl │ │ └── strings.xml │ │ ├── values-sr │ │ └── strings.xml │ │ ├── values-sv │ │ └── strings.xml │ │ ├── values-th │ │ └── strings.xml │ │ ├── values-tr │ │ └── strings.xml │ │ ├── values-uk │ │ └── strings.xml │ │ ├── values-vi │ │ └── strings.xml │ │ ├── values-zh-rHK │ │ └── strings.xml │ │ ├── values-zh-rTW │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ └── values │ │ └── strings.xml └── worldscale-screenshot.png ├── authentication ├── .gitignore ├── README.md ├── api │ └── authentication.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ ├── androidTest │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── authentication │ │ ├── OAuthDefaultConfigurationTests.kt │ │ ├── OAuthUserLauncherTests.kt │ │ ├── ServerTrustTests.kt │ │ ├── TestAuthenticationUtils.kt │ │ ├── UiDeviceExtensions.kt │ │ └── UsernamePasswordTests.kt │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── authentication │ │ ├── Authenticator.kt │ │ ├── AuthenticatorState.kt │ │ ├── ClientCertificateChallenge.kt │ │ ├── Extensions.kt │ │ ├── OAuthAuthenticator.kt │ │ ├── OAuthUserSignInActivity.kt │ │ ├── OAuthWebView.kt │ │ ├── ServerTrustAuthenticator.kt │ │ ├── ServerTrustChallenge.kt │ │ ├── UsernamePasswordAuthenticator.kt │ │ └── UsernamePasswordChallenge.kt │ └── res │ ├── values-ar │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-bs │ └── strings.xml │ ├── values-ca │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-et │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-hr │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ ├── strings.xml │ └── values-id │ │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-iw │ ├── strings.xml │ └── values-iw │ │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-lv │ └── strings.xml │ ├── values-nl │ └── strings.xml │ ├── values-no │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt-rPT │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sk │ └── strings.xml │ ├── values-sl │ └── strings.xml │ ├── values-sr │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-th │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-vi │ └── strings.xml │ ├── values-zh-rHK │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values-zh │ └── strings.xml │ └── values │ └── strings.xml ├── basemapgallery ├── .gitignore ├── README.md ├── api │ └── basemapgallery.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── basemapgallery │ │ ├── BasemapGallery.kt │ │ └── BasemapGalleryItem.kt │ └── res │ └── drawable │ └── basemap.xml ├── compass ├── .gitignore ├── README.md ├── api │ └── compass.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.jpg └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── compass │ │ └── CompassTests.kt │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── compass │ │ └── Compass.kt │ └── res │ └── drawable │ └── ic_compass.xml ├── composable-map ├── .gitignore ├── README.md ├── build.gradle.kts ├── consumer-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── composablemap │ │ ├── ComposableMapTests.kt │ │ └── DuplexFlowStateTests.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── composablemap │ │ ├── ComposableMap.kt │ │ ├── DuplexFlow.kt │ │ └── MapInterface.kt │ └── test │ └── java │ └── com │ └── arcgismaps │ └── toolkit │ └── composablemap │ └── DuplexFlowTests.kt ├── featureforms ├── .gitignore ├── README.md ├── api │ └── featureforms.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshots │ ├── attachments_form_element.png │ ├── barcode_input.png │ ├── combo_input.png │ ├── combo_picker.png │ ├── date_time_input.png │ ├── group_element_collapsed.png │ ├── group_element_expanded.png │ ├── radio_input.png │ ├── read_only.png │ ├── switch_input.png │ ├── text_area_input.png │ ├── text_form_element.png │ └── text_input.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── featureforms │ │ ├── AttachmentTests.kt │ │ ├── BarcodeTests.kt │ │ ├── ComboBoxFieldTests.kt │ │ ├── DateTimeFieldTests.kt │ │ ├── FeatureFormTestRunner.kt │ │ ├── FormTextFieldNumericTests.kt │ │ ├── FormTextFieldRangeNumericTests.kt │ │ ├── FormTextFieldTests.kt │ │ ├── GroupElementTests.kt │ │ ├── ImageUtil.kt │ │ ├── RadioButtonFieldTests.kt │ │ ├── SemanticsNodeUtil.kt │ │ ├── SwitchFieldTests.kt │ │ ├── TestChallengeHandler.kt │ │ ├── TextFormElementTests.kt │ │ └── ThemingTests.kt │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── featureforms │ │ ├── FeatureForm.kt │ │ ├── internal │ │ ├── components │ │ │ ├── attachment │ │ │ │ ├── AttachmentElementState.kt │ │ │ │ ├── AttachmentFormElement.kt │ │ │ │ └── AttachmentTile.kt │ │ │ ├── barcode │ │ │ │ ├── BarcodeImageAnalyzer.kt │ │ │ │ ├── BarcodeScanner.kt │ │ │ │ ├── BarcodeTextField.kt │ │ │ │ ├── BarcodeTextFieldDefaults.kt │ │ │ │ ├── BarcodeTextFieldState.kt │ │ │ │ └── TransformUtils.kt │ │ │ ├── base │ │ │ │ ├── BaseFieldState.kt │ │ │ │ ├── BaseGroupState.kt │ │ │ │ ├── BaseTextField.kt │ │ │ │ ├── BaseTextFieldDefaults.kt │ │ │ │ ├── FieldValidation.kt │ │ │ │ ├── Flows.kt │ │ │ │ ├── FormElementState.kt │ │ │ │ └── FormStateCollection.kt │ │ │ ├── codedvalue │ │ │ │ ├── CodedValueFieldState.kt │ │ │ │ ├── ComboBoxDialog.kt │ │ │ │ ├── ComboBoxField.kt │ │ │ │ ├── ComboBoxFieldState.kt │ │ │ │ ├── RadioButtonField.kt │ │ │ │ ├── RadioButtonFieldState.kt │ │ │ │ ├── SwitchField.kt │ │ │ │ └── SwitchFieldState.kt │ │ │ ├── datetime │ │ │ │ ├── DateTimeField.kt │ │ │ │ ├── DateTimeFieldState.kt │ │ │ │ ├── DateUtil.kt │ │ │ │ └── picker │ │ │ │ │ ├── DateTimePicker.kt │ │ │ │ │ ├── DateTimePickerState.kt │ │ │ │ │ ├── date │ │ │ │ │ ├── CalenderModel.kt │ │ │ │ │ ├── DateInput.kt │ │ │ │ │ ├── DatePicker.kt │ │ │ │ │ ├── DatePickerTokens.kt │ │ │ │ │ └── SnapFlingBehavior.kt │ │ │ │ │ ├── material3 │ │ │ │ │ ├── Strings.kt │ │ │ │ │ └── Tokens.kt │ │ │ │ │ └── time │ │ │ │ │ ├── TimePicker.kt │ │ │ │ │ ├── TimePickerTokens.kt │ │ │ │ │ └── TouchExplorationStateProvider.kt │ │ │ ├── formelement │ │ │ │ ├── FieldElement.kt │ │ │ │ └── GroupElement.kt │ │ │ └── text │ │ │ │ ├── FormTextField.kt │ │ │ │ ├── FormTextFieldState.kt │ │ │ │ ├── Markdown.kt │ │ │ │ ├── TextFormElement.kt │ │ │ │ └── TextFormElementState.kt │ │ └── utils │ │ │ ├── AttachmentCaptureFileProvider.kt │ │ │ ├── AttachmentsFileProvider.kt │ │ │ ├── CorePrototypes.kt │ │ │ ├── Dialog.kt │ │ │ └── Utils.kt │ │ └── theme │ │ ├── DefaultThemeTokens.kt │ │ ├── FeatureFormDefaults.kt │ │ └── FeatureFormTheme.kt │ └── res │ ├── drawable │ ├── barcode_scanner.xml │ ├── baseline_cloud_download_16.xml │ └── baseline_cloud_download_24.xml │ ├── values-ar │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-bs │ └── strings.xml │ ├── values-ca │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-et │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-hr │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ ├── strings.xml │ └── values-id │ │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-iw │ ├── strings.xml │ └── values-iw │ │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-lv │ └── strings.xml │ ├── values-nl │ └── strings.xml │ ├── values-no │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt-rPT │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sk │ └── strings.xml │ ├── values-sl │ └── strings.xml │ ├── values-sr │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-th │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-vi │ └── strings.xml │ ├── values-zh-rHK │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values-zh │ └── strings.xml │ ├── values │ └── strings.xml │ └── xml │ ├── feature_forms_attachments.xml │ └── feature_forms_captured_attachments.xml ├── geoview-compose ├── README.md ├── api │ └── geoview-compose.api ├── build.gradle.kts ├── screenshot.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── geoviewcompose │ │ ├── ViewpointPersistenceTests.kt │ │ └── callout │ │ ├── CalloutScenarios.kt │ │ └── CalloutTests.kt │ └── main │ └── java │ └── com │ └── arcgismaps │ └── toolkit │ └── geoviewcompose │ ├── GeoViewProxy.kt │ ├── GeoViewScope.kt │ ├── MapView.kt │ ├── MapViewProxy.kt │ ├── SceneView.kt │ ├── SceneViewProxy.kt │ ├── ViewpointPersistence.kt │ ├── samples │ └── GeoViewDocSamples.kt │ └── theme │ └── CalloutTheme.kt ├── indoors ├── .gitignore ├── README.md ├── api │ └── indoors.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── indoors │ │ └── FloorFilterTests.kt │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── indoors │ │ ├── FloorFilter.kt │ │ ├── FloorFilterError.kt │ │ ├── FloorFilterState.kt │ │ └── SiteAndFacilitySelector.kt │ └── res │ ├── drawable │ ├── ic_chevron_left_32.xml │ ├── ic_chevron_right_32.xml │ ├── ic_search_32.xml │ ├── ic_site_facility_24.xml │ ├── ic_x_24.xml │ └── ic_x_32.xml │ ├── values-ar │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-bs │ └── strings.xml │ ├── values-ca │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-et │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-hr │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ ├── strings.xml │ └── values-id │ │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-iw │ ├── strings.xml │ └── values-iw │ │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-lv │ └── strings.xml │ ├── values-nl │ └── strings.xml │ ├── values-no │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt-rPT │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sk │ └── strings.xml │ ├── values-sl │ └── strings.xml │ ├── values-sr │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-th │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-vi │ └── strings.xml │ ├── values-zh-rHK │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values-zh │ └── strings.xml │ └── values │ └── strings.xml ├── legend ├── .gitignore ├── README.md ├── api │ └── legend.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── legend │ │ ├── LegendTests.kt │ │ └── LegendUsageScenarios.kt │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── legend │ │ ├── Legend.kt │ │ └── theme │ │ └── Theme.kt │ └── res │ └── values │ └── strings.xml ├── popup ├── .gitignore ├── README.md ├── api │ └── popup.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── popup │ │ ├── Popup.kt │ │ └── internal │ │ ├── element │ │ ├── attachment │ │ │ ├── AttachmentTile.kt │ │ │ ├── AttachmentsElementDefaults.kt │ │ │ ├── AttachmentsElementState.kt │ │ │ └── AttachmentsPopupElement.kt │ │ ├── fieldselement │ │ │ ├── FieldsElementState.kt │ │ │ └── FieldsPopupElement.kt │ │ ├── media │ │ │ ├── MediaElementDefaults.kt │ │ │ ├── MediaElementState.kt │ │ │ ├── MediaPopupElement.kt │ │ │ └── MediaTile.kt │ │ ├── state │ │ │ ├── PopupElementState.kt │ │ │ └── StateCollection.kt │ │ └── textelement │ │ │ ├── TextElementState.kt │ │ │ └── TextPopupElement.kt │ │ ├── ui │ │ ├── expandablecard │ │ │ ├── ExpandableCard.kt │ │ │ ├── ExpandableCardState.kt │ │ │ └── theme │ │ │ │ ├── DefaultThemeTokens.kt │ │ │ │ ├── ExpandableCardDefaults.kt │ │ │ │ └── ExpandableCardTheme.kt │ │ └── fileviewer │ │ │ ├── FileViewer.kt │ │ │ └── ViewableFile.kt │ │ └── util │ │ └── MediaImageProvider.kt │ └── res │ ├── values-ar │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-bs │ └── strings.xml │ ├── values-ca │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-et │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-hr │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ ├── strings.xml │ └── values-id │ │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-iw │ ├── strings.xml │ └── values-iw │ │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-lv │ └── strings.xml │ ├── values-nl │ └── strings.xml │ ├── values-no │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt-rPT │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sk │ └── strings.xml │ ├── values-sl │ └── strings.xml │ ├── values-sr │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-th │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-vi │ └── strings.xml │ ├── values-zh-rHK │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values-zh │ └── strings.xml │ ├── values │ └── strings.xml │ └── xml │ └── files.xml ├── scalebar ├── .gitignore ├── README.md ├── api │ └── scalebar.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── arcgismaps │ │ └── toolkit │ │ └── scalebar │ │ ├── ScalebarComputationsTest.kt │ │ └── ScalebarTests.kt │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── arcgismaps │ └── toolkit │ └── scalebar │ ├── Scalebar.kt │ ├── ScalebarStyle.kt │ ├── internal │ ├── ScalebarDivision.kt │ ├── ScalebarProperties.kt │ ├── ScalebarRenderer.kt │ └── ScalebarUtils.kt │ └── theme │ └── ScalebarTheme.kt ├── template ├── .gitignore ├── api │ └── template.api ├── build.gradle.kts ├── consumer-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── arcgismaps │ └── toolkit │ └── template │ ├── Template.kt │ └── TemplateInterface.kt └── utilitynetworks ├── .gitignore ├── README.md ├── api └── utilitynetworks.api ├── build.gradle.kts ├── consumer-rules.pro ├── screenshot.png └── src ├── androidTest └── java │ └── com │ └── arcgismaps │ └── toolkit │ └── utilitynetworks │ ├── TraceToolTestRunner.kt │ ├── TraceToolTests.kt │ └── TraceToolUsageScenarios.kt └── main ├── AndroidManifest.xml ├── java └── com │ └── arcgismaps │ └── toolkit │ └── utilitynetworks │ ├── Trace.kt │ ├── TraceError.kt │ ├── TraceState.kt │ ├── internal │ └── util │ │ ├── AdvancedOptionsRow.kt │ │ ├── ExpandableCardWithLabel.kt │ │ ├── TabRow.kt │ │ ├── TitleRow.kt │ │ └── UpButton.kt │ └── ui │ ├── AddStartingPointScreen.kt │ ├── ClearAllResultsDialog.kt │ ├── FeatureResultsDetailsScreen.kt │ ├── StartingPointDetailsScreen.kt │ ├── StartingPointRow.kt │ ├── Text.kt │ ├── TraceColors.kt │ ├── TraceErrorDialog.kt │ ├── TraceNavigation.kt │ ├── TraceOptionsScreen.kt │ ├── TraceResultScreen.kt │ ├── expandablecard │ ├── ExpandableCard.kt │ ├── ExpandableCardState.kt │ └── theme │ │ ├── DefaultThemeTokens.kt │ │ ├── ExpandableCardDefaults.kt │ │ └── ExpandableCardTheme.kt │ ├── gestures │ ├── AnchoredDraggable.kt │ └── InternalMutatorMutex.kt │ └── material3 │ ├── ColorSchemeKeyTokens.kt │ ├── ElevationTokens.kt │ ├── ShapeKeyTokens.kt │ ├── Slider.kt │ ├── SliderTokens.kt │ └── TypographyKeyTokens.kt └── res ├── values-ar └── strings.xml ├── values-bg └── strings.xml ├── values-bs └── strings.xml ├── values-ca └── strings.xml ├── values-cs └── strings.xml ├── values-da └── strings.xml ├── values-de └── strings.xml ├── values-el └── strings.xml ├── values-es └── strings.xml ├── values-et └── strings.xml ├── values-fi └── strings.xml ├── values-fr └── strings.xml ├── values-hr └── strings.xml ├── values-hu └── strings.xml ├── values-in ├── strings.xml └── values-id │ └── strings.xml ├── values-it └── strings.xml ├── values-iw ├── strings.xml └── values-iw │ └── strings.xml ├── values-ja └── strings.xml ├── values-ko └── strings.xml ├── values-lt └── strings.xml ├── values-lv └── strings.xml ├── values-nl └── strings.xml ├── values-no └── strings.xml ├── values-pl └── strings.xml ├── values-pt-rBR └── strings.xml ├── values-pt-rPT └── strings.xml ├── values-ro └── strings.xml ├── values-ru └── strings.xml ├── values-sk └── strings.xml ├── values-sl └── strings.xml ├── values-sr └── strings.xml ├── values-sv └── strings.xml ├── values-th └── strings.xml ├── values-tr └── strings.xml ├── values-uk └── strings.xml ├── values-vi └── strings.xml ├── values-zh-rHK └── strings.xml ├── values-zh-rTW └── strings.xml ├── values-zh └── strings.xml └── values └── strings.xml /.gitignore: -------------------------------------------------------------------------------- 1 | #Android specifics 2 | 3 | # build artifacts 4 | /build 5 | /captures 6 | .externalNativeBuild 7 | build/ 8 | 9 | # test artifacts 10 | connectedTestReports/ 11 | 12 | # Local configuration file (sdk path, etc) 13 | /local.properties 14 | .gradle 15 | 16 | # Proguard folder generated by Eclipse 17 | proguard/ 18 | 19 | # IDE project files 20 | *.iml 21 | .idea/ 22 | .project 23 | .classpath 24 | bin/ 25 | gen/ 26 | .settings/ 27 | .vscode/ 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store 32 | .DS_Store? 33 | ._* 34 | .Spotlight-V100 35 | .Trashes 36 | Icon? 37 | ehthumbs.db 38 | Thumbs.db 39 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Related to issue: # 4 | 5 | 6 | 7 | ### Description: 8 | 9 | 10 | 11 | ### Summary of changes: 12 | 13 | - 14 | 15 | ### Pre-merge Checklist 16 | 17 | 18 | - a [vTest](https://runtime-kotlin.esri.com/view/all/job/vtest/job/toolkit/) Job for this PR has been run 19 | - [ ] link: 20 | - Unit and/or integration tests have been added to exercise this PR's logic, and the tests are passing: 21 | - [ ] Yes 22 | - [ ] No 23 | -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- 1 | # Table of Contents 2 | 3 | ## General 4 | 5 | - [Design Patterns and Best Practices](./general/design_patterns.md) 6 | - [Developer Setup](./general/developer_setup.md) 7 | - [Composable Map](./general/design_patterns.md#composable-map) 8 | 9 | ## Release 10 | 11 | - [Release Process](./release/release_process.md) 12 | 13 | ## Testing 14 | 15 | - [Testing Strategy](./testing/testing_strategy.md) 16 | -------------------------------------------------------------------------------- /doc/testing/testing_strategy.md: -------------------------------------------------------------------------------- 1 | This document is a high level summary of testing effort for the Kotlin toolkit. 2 | 3 | # Testing Goals 4 | * Test toolkit component implementations and patterns. 5 | * UI Testing with Jetpack Compose layouts. 6 | * Fulfill feature test designs for Native Maps SDK features which are implemented in the toolkit repo. 7 | 8 | ## UI Testing 9 | 10 | Using [semantics](https://developer.android.com/jetpack/compose/semantics) with Compose allows us to test the layout of the composition tree. This would mean adding semantic information during the development of the composable. 11 | 12 | [Compose testing cheat sheet](https://developer.android.com/static/images/jetpack/compose/compose-testing-cheatsheet.pdf) 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /microapps/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/ArTabletopApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/ArTabletopApp/README.md: -------------------------------------------------------------------------------- 1 | # AR TableTop Micro-app 2 | 3 | This micro-app demonstrates the use of the `TableTopSceneView` toolkit component which renders an `ArcGISSceneLayer` with buildings onto a physical surface detected in the device's camera feed. 4 | 5 | ![Screenshot](../../toolkit/ar/screenshot.png) 6 | 7 | ## Usage 8 | 9 | Launch the app and follow on-screen instructions to point the camera towards a surface while moving the device slightly. When a surface is detected it will appear as a grid of white lines in the camera feed. Tap on the grid to choose an anchor location to place the 3D buildings. Shortly after tapping on the screen, the buildings will appear as shown in the screenshot above. 10 | 11 | For more information on the `TableTopSceneView` component and how it works, see the AR package [Readme](../../toolkit/ar/README.md). -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArTabletopApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArTabletopApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/drawable/baseline_straighten_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/ArWorldScaleApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/AuthenticationApp/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/AuthenticationApp/screenshot.png -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/README.md: -------------------------------------------------------------------------------- 1 | # Basemap Gallery Micro-app 2 | 3 | This micro-app demonstrates the use of the `BasemapGallery` toolkit component which allows browsing 4 | a selection of basemaps and setting them on the map. 5 | 6 | ![Screenshot](screenshot.png) 7 | 8 | ## Usage 9 | 10 | The application shows a map view and a bottom sheet containing a basemap gallery and a segmented 11 | button for selecting to display basemaps from a Basemaps Style service or a Portal. Once the gallery 12 | has been populated clicking on a basemap will set that basemap on the map in the map view. 13 | 14 | For more information on the `BasemapGallery` component and how it works, see its [Readme](../../toolkit/basemapgallery/README.md). -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | BasemapGalleryApp 21 | 22 | -------------------------------------------------------------------------------- /microapps/BasemapGalleryApp/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/BasemapGalleryApp/screenshot.png -------------------------------------------------------------------------------- /microapps/CompassApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/CompassApp/README.md: -------------------------------------------------------------------------------- 1 | # Compass Micro-app 2 | 3 | This micro-app demonstrates the use of the `Compass` toolkit component which displays the current viewpoint rotation of a MapView. 4 | 5 | ![Screenshot](screenshot.jpg) 6 | 7 | ## Usage 8 | 9 | The application loads with the compass set to auto hide. Rotate the map to see the compass point to North. 10 | To reset the orientation to North, tap on the compass icon. 11 | 12 | For more information on the `Compass` component and how it works, see its [Readme](../../toolkit/compass/README.md). 13 | -------------------------------------------------------------------------------- /microapps/CompassApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/CompassApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/CompassApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | CompassApp 21 | 22 | -------------------------------------------------------------------------------- /microapps/CompassApp/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/CompassApp/screenshot.jpg -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/drawable/ic_topographic_map.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/drawable/ic_topographic_map.jpeg -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/arcgis-maps-sdk-kotlin-toolkit/063f96f69693b35705c1d22eccd38c8c14411223/microapps/FeatureFormsApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /microapps/FeatureFormsApp/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 |