├── wiki ├── settings.md ├── png │ ├── picker.png │ ├── api-demo.png │ ├── bookmarks.png │ ├── settings.png │ ├── app-map-menu.png │ ├── app-map-nomenue.png │ ├── ic_action_edit.png │ ├── ic_action_help.png │ ├── ic_action_map.png │ ├── ic_action_cancel.png │ ├── ic_action_delete.png │ ├── teneriffa-cluster.png │ ├── ic_action_important.png │ ├── ic_action_settings.png │ ├── ic_action_previous_item.png │ └── teneriffa-noncluster-bubble.png ├── examples │ ├── hannover.geo-uri │ └── hannover-gpx11.gpx ├── History.md ├── bookmarks.md ├── map.md ├── home.md └── toc.md ├── geoIntentDemo ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── drawable-hdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── values-v21 │ │ │ └── styles.xml │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── styles.xml │ │ │ └── dimens.xml │ │ ├── menu │ │ │ └── menu_geo_intent_demo.xml │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ └── layout │ │ │ └── activity_geo_intent_demo.xml │ │ ├── AndroidManifest.xml │ │ ├── resources │ │ └── eu │ │ │ └── lp0 │ │ │ └── slf4j │ │ │ └── android │ │ │ └── config.properties │ │ └── java │ │ └── de │ │ └── k3b │ │ └── android │ │ └── locationMapViewer │ │ └── demo │ │ └── GeoIntentDemoActivity.java ├── proguard-rules.pro └── build.gradle ├── LocationMapViewer ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-mdpi │ │ │ │ ├── bubble.png │ │ │ │ ├── person.png │ │ │ │ ├── marker_red.png │ │ │ │ ├── marker_default.png │ │ │ │ ├── marker_green.png │ │ │ │ ├── marker_no_data.png │ │ │ │ ├── marker_yellow.png │ │ │ │ ├── moreinfo_arrow.png │ │ │ │ ├── marker_red_empty.png │ │ │ │ ├── moreinfo_arrow_pressed.png │ │ │ │ ├── ic_action_holo_dark_folder.png │ │ │ │ └── btn_moreinfo.xml │ │ │ ├── drawable │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_edit.png │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_delete.png │ │ │ │ ├── ic_action_important.png │ │ │ │ ├── ic_action_settings.png │ │ │ │ ├── ic_action_previous_item.png │ │ │ │ └── custom_button.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_action_holo_dark_folder.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_action_holo_dark_folder.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_action_holo_dark_folder.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── html.xml │ │ │ │ ├── styles.xml │ │ │ │ └── strings.xml │ │ │ ├── menu │ │ │ │ ├── location_map_viewer_21.xml │ │ │ │ └── location_map_viewer.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── layout │ │ │ │ ├── about_dialog.xml │ │ │ │ ├── geobmp_list_view_row.xml │ │ │ │ ├── bonuspack_bubble.xml │ │ │ │ ├── bonuspack_bubble_black.xml │ │ │ │ ├── geobmp_edit_name.xml │ │ │ │ ├── bubble_geo_point_dto.xml │ │ │ │ ├── geobmp_edit.xml │ │ │ │ └── mapview.xml │ │ │ ├── values-v11 │ │ │ │ └── styles.xml │ │ │ ├── values-v14 │ │ │ │ └── styles.xml │ │ │ ├── xml │ │ │ │ └── preferences.xml │ │ │ ├── values-fr │ │ │ │ └── strings.xml │ │ │ ├── values-sr │ │ │ │ └── strings.xml │ │ │ └── values-de │ │ │ │ └── strings.xml │ │ ├── resources │ │ │ └── eu │ │ │ │ └── lp0 │ │ │ │ └── slf4j │ │ │ │ └── android │ │ │ │ └── config.properties │ │ └── java │ │ │ └── de │ │ │ └── k3b │ │ │ ├── android │ │ │ ├── package-info.java │ │ │ ├── widgets │ │ │ │ ├── IViewHolder.java │ │ │ │ ├── Clipboard.java │ │ │ │ ├── EditTextPreferenceWithSummary.java │ │ │ │ └── AboutDialogPreference.java │ │ │ ├── locationMapViewer │ │ │ │ ├── geobmp │ │ │ │ │ ├── GeoBmpDtoAndroid.java │ │ │ │ │ ├── GeoBmpEditDialog.java │ │ │ │ │ ├── GeoBmpFileRepository.java │ │ │ │ │ ├── GeoBmpEditActivity.java │ │ │ │ │ ├── GeoBmpListAdapter.java │ │ │ │ │ ├── GeoBmpBinder.java │ │ │ │ │ └── BookmarkListController.java │ │ │ │ ├── constants │ │ │ │ │ └── Constants.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ ├── RadiusMarkerClustererWithInfo.java │ │ │ │ └── GeoPointMarkerInfoWindow.java │ │ │ ├── GuiUtil.java │ │ │ ├── util │ │ │ │ └── HtmlUtils.java │ │ │ ├── osmdroid │ │ │ │ └── ZoomUtil.java │ │ │ └── GeoUtil.java │ │ │ ├── util │ │ │ ├── ImageResize.java │ │ │ └── Unzip2.java │ │ │ ├── geo │ │ │ └── geobmp │ │ │ │ ├── GeoBmpDto.java │ │ │ │ └── BookmarkUtil.java │ │ │ └── io │ │ │ └── GeoConfig2.java │ ├── androidTest │ │ └── java │ │ │ └── de │ │ │ └── k3b │ │ │ └── android │ │ │ └── locationMapViewer │ │ │ ├── ApplicationTest.java │ │ │ └── de │ │ │ └── k3b │ │ │ └── android │ │ │ └── util │ │ │ └── AndroidStringTemplateTests.java │ └── test │ │ ├── java │ │ └── de │ │ │ └── k3b │ │ │ └── util │ │ │ └── ImageResizeTest.java │ │ └── resources │ │ └── simplelogger.properties ├── proguard-rules.pro └── build.gradle ├── fastlane ├── metadata │ └── android │ │ ├── en-US │ │ ├── title.txt │ │ ├── short_description.txt │ │ ├── images │ │ │ └── phoneScreenshots │ │ │ │ └── 1-LocationMapViewer.png │ │ ├── changelogs │ │ │ ├── 7.txt │ │ │ ├── 8.txt │ │ │ ├── 9.txt │ │ │ └── 10.txt │ │ └── full_description.txt │ │ ├── he │ │ └── summary.txt │ │ ├── zh-CN │ │ └── summary.txt │ │ ├── pt-BR │ │ └── summary.txt │ │ ├── uk │ │ └── summary.txt │ │ ├── tr │ │ └── summary.txt │ │ ├── pt │ │ └── summary.txt │ │ ├── pt-PT │ │ └── summary.txt │ │ ├── ro │ │ └── summary.txt │ │ ├── ru │ │ └── summary.txt │ │ ├── pl │ │ └── summary.txt │ │ └── fr │ │ └── summary.txt └── lib │ ├── rename_screenshots.py │ ├── generate_changelog.py │ └── generate_metadata.py ├── gradle.properties ├── .gitmodules ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── settings.gradle ├── .gitattributes ├── .gitignore ├── .travis.yml ├── gradlew.bat └── README.md /wiki/settings.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /geoIntentDemo/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /LocationMapViewer/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Location Map Viewer -------------------------------------------------------------------------------- /fastlane/metadata/android/he/summary.txt: -------------------------------------------------------------------------------- 1 | הצגת מידע גאוגרפי על מפה 2 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.enableJetifier=true 2 | android.useAndroidX=true -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/summary.txt: -------------------------------------------------------------------------------- 1 | 在地图上显示来自网址或本地gpx/kml文件的地理信息 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/summary.txt: -------------------------------------------------------------------------------- 1 | Exibe informações geográficas em um mapa 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/uk/summary.txt: -------------------------------------------------------------------------------- 1 | Відображення географічних даних на мапі 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/tr/summary.txt: -------------------------------------------------------------------------------- 1 | Coğrafi bilgileri harita üzerinde görüntüleyin 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "geo"] 2 | path = geo 3 | url = https://github.com/k3b/k3b-geoHelper 4 | -------------------------------------------------------------------------------- /wiki/png/picker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/picker.png -------------------------------------------------------------------------------- /wiki/png/api-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/api-demo.png -------------------------------------------------------------------------------- /wiki/png/bookmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/bookmarks.png -------------------------------------------------------------------------------- /wiki/png/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/settings.png -------------------------------------------------------------------------------- /wiki/png/app-map-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/app-map-menu.png -------------------------------------------------------------------------------- /wiki/png/app-map-nomenue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/app-map-nomenue.png -------------------------------------------------------------------------------- /wiki/png/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_edit.png -------------------------------------------------------------------------------- /wiki/png/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_help.png -------------------------------------------------------------------------------- /wiki/png/ic_action_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_map.png -------------------------------------------------------------------------------- /fastlane/metadata/android/pt/summary.txt: -------------------------------------------------------------------------------- 1 | Mostra informações geográficas de url ou ficheiro gpx/kml local num mapa 2 | -------------------------------------------------------------------------------- /wiki/png/ic_action_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_cancel.png -------------------------------------------------------------------------------- /wiki/png/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_delete.png -------------------------------------------------------------------------------- /wiki/png/teneriffa-cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/teneriffa-cluster.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Display geografic information from url or local gpx/kml file in a map -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/summary.txt: -------------------------------------------------------------------------------- 1 | Mostra informações geográficas de url ou ficheiro gpx/kml local num mapa 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /wiki/png/ic_action_important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_important.png -------------------------------------------------------------------------------- /wiki/png/ic_action_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_settings.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ro/summary.txt: -------------------------------------------------------------------------------- 1 | Afișarea informațiilor geografice din url sau din fișierul local gpx/kml pe o hartă 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/summary.txt: -------------------------------------------------------------------------------- 1 | Отображение географической информации из url или локального файла gpx/kml на карте 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pl/summary.txt: -------------------------------------------------------------------------------- 1 | Wyświetla informacje geograficzne na mapie z adresu url lub lokalnego pliku gpx/kml 2 | -------------------------------------------------------------------------------- /wiki/png/ic_action_previous_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/ic_action_previous_item.png -------------------------------------------------------------------------------- /fastlane/metadata/android/fr/summary.txt: -------------------------------------------------------------------------------- 1 | Afficher les informations géographiques d'un url ou d'un fichier local gpx/kml dans une carte 2 | -------------------------------------------------------------------------------- /wiki/png/teneriffa-noncluster-bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/wiki/png/teneriffa-noncluster-bubble.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/bubble.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/person.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_launcher.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_edit.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_help.png -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/geoIntentDemo/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/geoIntentDemo/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/geoIntentDemo/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/geoIntentDemo/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | // startParameter.offline=true 2 | include ':LocationMapViewer', ':geoIntentDemo' 3 | // include ':LocationMapViewer', ':geoIntentDemo', ':geo:k3b-geoHelper' -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_red.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_delete.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_default.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_green.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_no_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_no_data.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_yellow.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/moreinfo_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/moreinfo_arrow.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_important.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_settings.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/marker_red_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/marker_red_empty.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/ic_action_previous_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable/ic_action_previous_item.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/moreinfo_arrow_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/moreinfo_arrow_pressed.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-hdpi/ic_action_holo_dark_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-hdpi/ic_action_holo_dark_folder.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/ic_action_holo_dark_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-mdpi/ic_action_holo_dark_folder.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-xhdpi/ic_action_holo_dark_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-xhdpi/ic_action_holo_dark_folder.png -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-xxhdpi/ic_action_holo_dark_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/LocationMapViewer/src/main/res/drawable-xxhdpi/ic_action_holo_dark_folder.png -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/1-LocationMapViewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k3b/LocationMapViewer/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/1-LocationMapViewer.png -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.java text 4 | *.txt text 5 | *.xml text 6 | *.gradle text 7 | *.php text 8 | *.properties text 9 | .classpath text 10 | .project text 11 | 12 | *.png binary 13 | *.jpg binary 14 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/7.txt: -------------------------------------------------------------------------------- 1 | Made compatible with Android-7 and Android-10 2 | Dropped Support for Android-2.3 3 | Works with Android 4.1 and later 4 | Updated Libraries 5 | Reduced apk-Size below 600 KB 6 | -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Geo Intent Demo 5 | Settings 6 | 7 | 8 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/8.txt: -------------------------------------------------------------------------------- 1 | Made compatible with Android-7 and Android-10 2 | Dropped Support for Android-2.3 3 | Works with Android 4.1 and later 4 | Updated Libraries 5 | Reduced apk-Size below 600 KB 6 | First update after 5 Years 7 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/9.txt: -------------------------------------------------------------------------------- 1 | * kml, gpx, poi format now supports symbols (icon in map or popup) 2 | * added support for formats kmz (kml in zip), gpz (gpx in zip), poz (poi in zip) 3 | * Toolbar "open file" action to pick a gpx, kml, kmx, ..... geo file -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/10.txt: -------------------------------------------------------------------------------- 1 | * fixed crash when LocationMapViewer is opened with a geo:-uri 2 | * kml, gpx, poi format now supports symbols (icon in map or popup) 3 | * added support for formats kmz (kml in zip), gpz (gpx in zip), poz (poi in zip) 4 | * Toolbar "open file" action to pick a gpx, kml, kmx, ..... geo file -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/menu/menu_geo_intent_demo.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | # see https://gradle.org/release-checksums/ 7 | distributionSha256Sum=23e7d37e9bb4f8dabb8a3ea7fdee9dd0428b9b1a71d298aefd65b11dccea220f 8 | -------------------------------------------------------------------------------- /geoIntentDemo/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /wiki/examples/hannover.geo-uri: -------------------------------------------------------------------------------- 1 | Hannover 2 | With a population of 518,000, Hanover is a major centre of Northern Germany and the country's thirteenth largest city. Hanover also hosts annual commercial trade fairs such as the Hanover Fair and the CeBIT. 3 | 4 | 5 | geo:52.366667,9.716667 6 | 7 | http://en.wikipedia.org/wiki/Hannover 8 | 9 | https://en.wikipedia.org/wiki/GPS_eXchange_Format 10 | http://www.topografix.com/gpx.asp -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable-mdpi/btn_moreinfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LocationMapViewer/src/androidTest/java/de/k3b/android/locationMapViewer/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package de.k3b.android.locationMapViewer; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /LocationMapViewer/src/test/java/de/k3b/util/ImageResizeTest.java: -------------------------------------------------------------------------------- 1 | package de.k3b.util; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | public class ImageResizeTest { 7 | 8 | @Test 9 | public void getResizeFactor() { 10 | Assert.assertNull("to small", ImageResize.getResizeFactor(40,30,48)); 11 | Assert.assertEquals("96 x 48", 0.5, ImageResize.getResizeFactor(96,48,48), 0.00001); 12 | Assert.assertEquals("48 x 96",0.5, ImageResize.getResizeFactor(48,96,48), 0.00001); 13 | } 14 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # generated files 12 | bin/ 13 | gen/ 14 | gen-external-apklibs/ 15 | target/ 16 | 17 | # Local configuration file (sdk path, etc) 18 | local.properties 19 | 20 | # Eclipse project files 21 | .classpath 22 | .project 23 | .settings 24 | 25 | # Proguard folder generated by Eclipse 26 | proguard/ 27 | 28 | # Intellij project files 29 | *.iml 30 | *.ipr 31 | *.iws 32 | .idea/ 33 | 34 | # Gradle 35 | build/ 36 | .gradle 37 | 38 | # vim swap files 39 | *.swp 40 | *.swo 41 | /gradle-app.setting 42 | 43 | /osmdroid-third-party/libs/maps.jar 44 | /osmdroid-android 45 | /download 46 | /.deleted 47 | -------------------------------------------------------------------------------- /wiki/History.md: -------------------------------------------------------------------------------- 1 | # History 2 | 3 | ## Not released yet 4 | 5 | * added support for [geo-bookmarks](bookmarks) 6 | * added serbian translations (thanks to Mladen Pejakovic) 7 | 8 | * Bugfix #2 LMV is associated with all file types 9 | * New Feature #3 : Bookmark overlay to remember named geo-locations with zoom for quick navigation 10 | * Clicking on a marker in the [[map]] shows bubble with [Name](api#name), [Description](api#description) and [Link](api#) 11 | * Serbian and german translations 12 | 13 | ## [Version0.2.2.150321](https://github.com/k3b/LocationMapViewer/releases/tag/Version0.2.2.150321) 14 | 15 | * geo-uri support as viewer or picker 16 | * file support gpx und kml 17 | * Settings menu 18 | * Aboutbox 19 | * Released on FDroid -------------------------------------------------------------------------------- /geoIntentDemo/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:/Program Files (x86)/sdk/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /geoIntentDemo/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 29 5 | 6 | defaultConfig { 7 | applicationId "de.k3b.android.locationMapViewer.demo" 8 | minSdkVersion 14 9 | targetSdkVersion 26 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | compileOptions { 14 | sourceCompatibility JavaVersion.VERSION_1_7 15 | targetCompatibility JavaVersion.VERSION_1_7 16 | } 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | } 24 | 25 | dependencies { 26 | implementation fileTree(dir: 'libs', include: ['*.jar']) 27 | } 28 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | The app has support for GPX and KML files, as 2 | well as the "geo URI scheme" and popular map 3 | services (google-maps, openstreetmap, yandex, ...). 4 | 5 | It can work offline (without Internet/WiFi) once 6 | geodata has been downloaded and cached. 7 | 8 | Other Android apps can use LocationMapViewer through an 9 | Intent-interface. 10 | 11 | Required Android Permissions: 12 | 13 | * INTERNET: to download map data from Open Streetmap Server 14 | * ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE: to find out if wifi/internet is online to start downloaded geodata 15 | * WRITE_EXTERNAL_STORAGE (to cache downloaded map data in local file system and to load gpx/kml-Files to be displayed in the map) 16 | * ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION: to display my own location in the map 17 | -------------------------------------------------------------------------------- /geoIntentDemo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /geoIntentDemo/src/main/resources/eu/lp0/slf4j/android/config.properties: -------------------------------------------------------------------------------- 1 | # /eu/lp0/slf4j/android/config.properties 2 | # contains logging configuration for https://github.com/lp0/slf4j-android 3 | 4 | # tag for the specified logger prefix: 5 | # tag.logger-prefix=TagName 6 | # With no tag configured, logger names are automatically compacted to fit the Android 23 character tag limit. 7 | tag.eu.lp0.slf4j.android=slf4j-android 8 | tag.org.slf4j=slf4j-api 9 | 10 | #tag.add2GoZip=k3b-android 11 | #tag.de.k3b.zip=k3b-ziblib 12 | 13 | # Set the log level for the specified logger prefix: 14 | # level.logger-prefix=SUPPRESS|ERROR|WARN|INFO|DEBUG|VERBOSE|NATIVE (default=native) 15 | level=verbose 16 | 17 | # Show the logger name in short, compact, long format, or show caller stack frame: 18 | # showName.logger-prefix=false|short|compact|long|caller 19 | 20 | # Show the current thread: 21 | # showThread.*=true|false (default=false) 22 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/resources/eu/lp0/slf4j/android/config.properties: -------------------------------------------------------------------------------- 1 | # /eu/lp0/slf4j/android/config.properties 2 | # contains logging configuration for https://github.com/lp0/slf4j-android 3 | 4 | # tag for the specified logger prefix: 5 | # tag.logger-prefix=TagName 6 | # With no tag configured, logger names are automatically compacted to fit the Android 23 character tag limit. 7 | tag.eu.lp0.slf4j.android=slf4j-android 8 | tag.org.slf4j=slf4j-api 9 | 10 | #tag.add2GoZip=k3b-android 11 | #tag.de.k3b.zip=k3b-ziblib 12 | 13 | # Set the log level for the specified logger prefix: 14 | # level.logger-prefix=SUPPRESS|ERROR|WARN|INFO|DEBUG|VERBOSE|NATIVE (default=native) 15 | level=verbose 16 | 17 | # Show the logger name in short, compact, long format, or show caller stack frame: 18 | # showName.logger-prefix=false|short|compact|long|caller 19 | 20 | # Show the current thread: 21 | # showThread.*=true|false (default=false) 22 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 by k3b. 3 | * 4 | * This file is part of LocationMapViewer. 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | 20 | /** 21 | * This Package defines non-portable, "Android only" code for LocationMapViewer. 22 | **/ 23 | package de.k3b.android; 24 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # travis build for LocationMapViewer 2 | language: android 3 | 4 | jdk: 5 | - oraclejdk8 6 | 7 | addons: 8 | apt: 9 | packages: 10 | # graphviz to render javadoc uml 11 | # https://docs.travis-ci.com/user/multi-os/ 12 | - graphviz 13 | 14 | android: 15 | components: 16 | # https://github.com/travis-ci/travis-ci/issues/5036 17 | - tools 18 | 19 | - android-23 20 | 21 | - add-on 22 | - extra 23 | 24 | before_install: 25 | # http://stackoverflow.com/questions/33820638/travis-yml-gradlew-permission-denied 26 | # must execute 27 | # git update-index --chmod=+x gradlew 28 | # instead of 29 | # - chmod +x gradlew 30 | 31 | # https://stackoverflow.com/questions/52274229/travis-ci-android-28-licenses-have-not-been-accepted 32 | # - yes | sdkmanager "platforms;android-28" 33 | 34 | - yes | sdkmanager "platforms;android-23" 35 | - yes | sdkmanager "platforms;android-28" 36 | - yes | sdkmanager "platforms;android-29" 37 | 38 | script: 39 | - jdk_switcher use oraclejdk8 40 | - ./gradlew assemble 41 | -------------------------------------------------------------------------------- /LocationMapViewer/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:/Program Files (x86)/sdk/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | ############### 20 | # I use proguard only to remove unused stuff and to keep the app small. 21 | # I donot want to obfuscate (rename packages, classes, methods, ...) since this is open source 22 | -dontobfuscate 23 | -dontoptimize 24 | -keepnames class ** { *; } 25 | -keepnames interface ** { *; } 26 | -keepnames enum ** { *; } 27 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | @android:color/black 23 | #FFCCCCCC 24 | #80CCCCCC 25 | 26 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/drawable/custom_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/widgets/IViewHolder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 by k3b. 3 | * 4 | * This file is part of LocationMapViewer. 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | 20 | package de.k3b.android.widgets; 21 | 22 | import android.view.View; 23 | 24 | /** 25 | * Allows to use findViewById() on {@link android.app.Dialog}, {@link android.app.Activity} and 26 | * {@link android.app.Fragment} with common code 27 | * Created by k3b on 26.03.2015. 28 | */ 29 | public interface IViewHolder { 30 | T findViewById(int id); 31 | } 32 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/menu/location_map_viewer_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 27 | 28 | -------------------------------------------------------------------------------- /wiki/bookmarks.md: -------------------------------------------------------------------------------- 1 | #LocationMapViewer bookmarks 2 | 3 | LocationMapViewer can store the current latitude/longitude/zoomlevel as named **bookmark**. 4 | 5 | Similar to a web browser you can return to any bookmarked latitude/longitude/zoomlevel 6 | by selecting it-s name. 7 | 8 | From the [map view](map) you reach the bookmarks by pressing the 9 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/ic_action_important.png) symbol or 10 | through the menu "bookmarks" . 11 | 12 | 13 | ![](https://github.com/k3b/LocationMapViewer/blob/master/LocationMapViewer/src/main/res/drawable/ic_launcher.png) 14 | 15 | 16 | 17 | 18 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_settings.png) 19 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_cancel.png) 20 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_delete.png) 21 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_edit.png) 22 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_help.png) 23 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_important.png) 24 | ![](https://github.com/k3b/LocationMapViewer/blob/master/wiki/png/ic_action_map.png) -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 16dp 24 | 16dp 25 | 32px 26 | 32px 27 | 4px 28 | 29 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 25 | 64dp 26 | 27 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/util/ImageResize.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 by k3b. 3 | * 4 | * This file is part of LocationMapViewer. 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | 20 | package de.k3b.util; 21 | 22 | public class ImageResize { 23 | public static Double getResizeFactor(double width, double height, double targetSize) { 24 | if (width > 0 && height > 0 && (width > targetSize || height > targetSize)) { 25 | double scale = (width < height) ? width / height : height / width; 26 | return scale; 27 | } 28 | 29 | return null; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/layout/about_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 26 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values/html.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 32 | 33 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/locationMapViewer/geobmp/GeoBmpDtoAndroid.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2021 by k3b. 3 | * 4 | * This file is part of LocationMapViewer. 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | 20 | package de.k3b.android.locationMapViewer.geobmp; 21 | 22 | import android.graphics.Bitmap; 23 | 24 | import java.io.Serializable; 25 | 26 | import de.k3b.geo.api.GeoPointDto; 27 | import de.k3b.geo.geobmp.GeoBmpDto; 28 | 29 | /** 30 | * a GeoPoint with a bitmap. 31 | * 32 | * Created by k3b on 24.03.2015. 33 | */ 34 | public class GeoBmpDtoAndroid extends GeoBmpDto implements Serializable { 35 | public GeoBmpDtoAndroid() {}; 36 | public GeoBmpDtoAndroid(GeoPointDto geoPointFromIntent) { 37 | super(geoPointFromIntent); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/menu/location_map_viewer.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 27 | 32 | 33 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/GuiUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 k3b 3 | * 4 | * This file is part of de.k3b.android.toGoZip (https://github.com/k3b/ToGoZip/) . 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | package de.k3b.android; 20 | 21 | import android.content.Context; 22 | import android.content.pm.PackageManager.NameNotFoundException; 23 | 24 | /** 25 | * gui utils 26 | */ 27 | public class GuiUtil { 28 | public static String getAppVersionName(final Context context) { 29 | try { 30 | 31 | final String versionName = context.getPackageManager() 32 | .getPackageInfo(context.getPackageName(), 0).versionName; 33 | return versionName; 34 | } catch (final NameNotFoundException e) { 35 | } 36 | return null; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/locationMapViewer/constants/Constants.java: -------------------------------------------------------------------------------- 1 | package de.k3b.android.locationMapViewer.constants; 2 | 3 | import android.os.Build; 4 | 5 | /** 6 | * This class contains constants used by the application. 7 | */ 8 | public interface Constants { 9 | /** false: old android-2.3 or below that does not support actionbars */ 10 | public static final boolean USE_ACTIONBAR = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB); 11 | 12 | // =========================================================== 13 | // keys for preferences 14 | // =========================================================== 15 | 16 | public static final String PREFS_TILE_SOURCE = "tilesource"; 17 | public static final String PREFS_SHOW_LOCATION = "showLocation"; 18 | public static final String PREFS_SHOW_MINIMAP = "showMiniMap"; 19 | public static final String PREFS_CLUSTER_POINTS = "clusterPoints"; 20 | 21 | public static final String PREFS_CURRENT_ZOOMLEVEL = "currentZoom"; 22 | public static final String PREFS_CURRENT_NORTH = "currentNorth"; 23 | public static final String PREFS_CURRENT_EAST = "currentEast"; 24 | 25 | // public static final String PREFS_SHOW_GUESTURES = "guesturesEnable"; 26 | public static final String PREFS_DEBUG_GUESTURES = "guesturesDebug"; 27 | 28 | // =========================================================== 29 | // Methods 30 | // =========================================================== 31 | } 32 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 27 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 27 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /fastlane/lib/rename_screenshots.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # Author: Torsten Grote 4 | # License: GPLv3 or later 5 | # source: 2020-04-16 https://github.com/grote/Transportr/blob/master/fastlane/rename_screenshots.py 6 | 7 | import glob 8 | import os 9 | import re 10 | 11 | METADATA_PATH = 'metadata/android' 12 | GLOB = '/*/images/phoneScreenshots/*.png' 13 | 14 | REGEX = re.compile(r'(^\d_\w+)_\d{13}\.png$') 15 | REGEX_IN_FILE = re.compile(r'(\d_\w+)_\d{13}\.png', re.MULTILINE) 16 | PATH = os.path.dirname(os.path.realpath(__file__)) 17 | 18 | 19 | def main(): 20 | for path in glob.glob("%s%s" % (os.path.join(PATH, METADATA_PATH), GLOB)): 21 | filename = os.path.basename(path) 22 | match = REGEX.match(filename) 23 | if match: 24 | directory = os.path.dirname(path) 25 | new_filename = "%s.png" % match.group(1) 26 | new_path = os.path.join(directory, new_filename) 27 | os.rename(path, new_path) 28 | print("Renaming\n %s\nto\n %s\n" % (path, new_path)) 29 | else: 30 | print("Warning: Path did not match %s" % path) 31 | 32 | # rename fields also in screenshot overview file 33 | overview = os.path.join(PATH, METADATA_PATH, 'screenshots.html') 34 | with open(overview, 'r') as f: 35 | file_data = f.read() 36 | 37 | file_data = REGEX_IN_FILE.sub(r'\1.png', file_data) 38 | 39 | with open(overview, 'w') as f: 40 | f.write(file_data) 41 | 42 | 43 | if __name__ == "__main__": 44 | main() -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/widgets/Clipboard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 k3b 3 | * 4 | * This file is part of de.k3b.android.toGoZip (https://github.com/k3b/ToGoZip/) . 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | package de.k3b.android.widgets; 20 | 21 | import android.content.Context; 22 | 23 | /** 24 | * Helper to set text to android clipboard.
25 | *
26 | * Created by k3b on 17.11.2014. 27 | */ 28 | public class Clipboard { 29 | public static void addToClipboard(Context context, CharSequence text) { 30 | // for compatibility reaons using depricated clipboard api. the non depricateded clipboard was not available before api 11. 31 | try { 32 | android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); 33 | clipboard.setText(text); 34 | } catch (Exception e) { 35 | e.printStackTrace(); 36 | } 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /fastlane/lib/generate_changelog.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # Author: Torsten Grote 4 | # License: GPLv3 or later 5 | # source: 2020-04-16 https://github.com/grote/Transportr/blob/master/fastlane/generate_changelog.py 6 | 7 | import os 8 | from xml.etree import ElementTree 9 | 10 | 11 | PATH = os.path.dirname(os.path.realpath(__file__)) 12 | XML_PATH = os.path.join(PATH, '../app/src/main/res/xml') 13 | CHANGELOG_PATH = os.path.join(PATH, 'metadata/android/en-US/changelogs') 14 | START_VERSION_CODE = 100 15 | LIMIT = 500 16 | 17 | 18 | def main(): 19 | changelog_file = os.path.join(XML_PATH, 'changelog_master.xml') 20 | if not os.path.isfile(changelog_file): 21 | print("Error: %s does not exist" % changelog_file) 22 | return 23 | 24 | print("Parsing %s..." % changelog_file) 25 | root = ElementTree.parse(changelog_file).getroot() 26 | for release in root: 27 | if release.tag == "release": 28 | store_release(release) 29 | 30 | 31 | def store_release(release): 32 | version_code = release.attrib['versioncode'] 33 | if int(version_code) < START_VERSION_CODE: 34 | return 35 | version_file = os.path.join(CHANGELOG_PATH, version_code + '.txt') 36 | print("Writing to %s ..." % version_file) 37 | count = 0 38 | with open(version_file, 'w') as f: 39 | for change in release: 40 | text = '* ' + change.text + '\n' 41 | count = count + len(text) 42 | if count > LIMIT: 43 | print("Warning: Maximum length exceeded. Truncating...") 44 | text = text[:(LIMIT - count)] 45 | f.write(text) 46 | 47 | 48 | if __name__ == "__main__": 49 | main() -------------------------------------------------------------------------------- /wiki/map.md: -------------------------------------------------------------------------------- 1 | #LocationMapViewer map view 2 | 3 | map 4 | poi 5 | green 6 | red 7 | yellow 8 | bubble 9 | symbol 10 | tilte 11 | text 12 | link 13 | menu 14 | favorites 15 | picker 16 | minimap 17 | zoom buttons [+] [-] 18 | zoom bar 19 | 20 | An app that can display geografic info in a map. It has support for **gpx** and **kml** files and [**geo-uri-s**](geo_intent_api) 21 | and can work offline (without internet/wifi) 22 | once geodata is downloaded and cached. 23 | 24 | Minimal requirements: Android 2.1 (Eclair, API 7), internet/wifi-connection to download geodata and a SD-Card to cache geodata
25 | 26 | Licence: [GPLv3](http://www.gnu.org/licenses/gpl-3.0)
27 | 28 | Requred permissions: 29 | 30 | * INTERNET: to download map data from Open Streetmap Server 31 | * ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE: to find out if wifi/internet is online to start downloaded geodata 32 | * WRITE_EXTERNAL_STORAGE 33 | * to cache downloaded map data in local file system 34 | * to load gpx/kml-Files to be displayed in the map 35 | * ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION: to display my own location in the map, too 36 | 37 | The code uses [osmdroid library](https://github.com/osmdroid/osmdroid) 38 | with [osmbonuspack library](http://code.google.com/p/osmbonuspack/) 39 | to display maps from [Open Street Map](http://www.openstreetmap.org). 40 | 41 | LocationMapViewer is designed to be used by other apps. This means in Terms of [GPLv3](http://www.gnu.org/licenses/gpl-3.0) that your app 42 | that uses the Intent-Iterface [is not considered a Derived Work.](https://en.wikipedia.org/wiki/GPL_v3#Point_of_view:_linking_is_irrelevant) 43 | 44 | In other words: you can used LocationMapViewer as a [driver for your non gpl/non opensource app.](http://www.rosenlaw.com/lj19.htm). 45 | -------------------------------------------------------------------------------- /LocationMapViewer/src/test/resources/simplelogger.properties: -------------------------------------------------------------------------------- 1 | # SLF4J's SimpleLogger configuration file 2 | # Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err. 3 | 4 | # Default logging detail level for all instances of SimpleLogger. 5 | # Must be one of ("trace", "debug", "info", "warn", or "error"). 6 | # If not specified, defaults to "info". 7 | #org.slf4j.simpleLogger.defaultLog=info 8 | org.slf4j.simpleLogger.defaultLogLevel=trace 9 | 10 | # Logging detail level for a SimpleLogger instance named "xxxxx". 11 | # Must be one of ("trace", "debug", "info", "warn", or "error"). 12 | # If not specified, the default logging detail level is used. 13 | #org.slf4j.simpleLogger.log.xxxxx= 14 | 15 | # Set to true if you want the current date and timeOfMeasurement to be included in output messages. 16 | # Default is false, and will output the number of milliseconds elapsed since startup. 17 | #org.slf4j.simpleLogger.showDateTime=false 18 | 19 | # The date and timeOfMeasurement toUriString to be used in the output messages. 20 | # The pattern describing the date and timeOfMeasurement toUriString is the same that is used in java.text.SimpleDateFormat. 21 | # If the toUriString is not specified or is invalid, the default toUriString is used. 22 | # The default toUriString is yyyy-MM-dd HH:mm:ss:SSS Z. 23 | #org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z 24 | 25 | # Set to true if you want to output the current thread name. 26 | # Defaults to true. 27 | #org.slf4j.simpleLogger.showThreadName=true 28 | 29 | # Set to true if you want the Logger instance name to be included in output messages. 30 | # Defaults to true. 31 | #org.slf4j.simpleLogger.showLogName=true 32 | 33 | # Set to true if you want the last component of the name to be included in output messages. 34 | # Defaults to false. 35 | #org.slf4j.simpleLogger.showShortLogName=false 36 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/java/de/k3b/android/util/HtmlUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 by k3b. 3 | * 4 | * This file is part of LocationMapViewer. 5 | * 6 | * This program is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along with 17 | * this program. If not, see 18 | */ 19 | 20 | package de.k3b.android.util; 21 | 22 | import android.os.Build; 23 | import android.text.Html; 24 | 25 | import java.util.regex.Pattern; 26 | 27 | 28 | public class HtmlUtils { 29 | // include multiline 30 | private static Pattern isHtml = Pattern.compile("<[a-zA-Z]+"); 31 | 32 | // Pattern.DOTALL == mulitline matching; ".*?" anything non-greedy 33 | private static Pattern htmlComment = Pattern.compile("", Pattern.DOTALL); 34 | private static Pattern htmlImage = Pattern.compile("", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); 35 | 36 | public static CharSequence interpreteHtml(String html) { 37 | if (html != null && isHtml.matcher(html).find()) { 38 | String htmlSanitzied = htmlComment.matcher(html).replaceAll(""); 39 | htmlSanitzied = htmlImage.matcher(htmlSanitzied).replaceAll(""); 40 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 41 | return Html.fromHtml(htmlSanitzied, Html.FROM_HTML_MODE_COMPACT); 42 | } else { 43 | return Html.fromHtml(htmlSanitzied); 44 | } 45 | } 46 | return html; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/layout/geobmp_list_view_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 28 | 32 | 37 | 44 | 45 | -------------------------------------------------------------------------------- /LocationMapViewer/src/main/res/layout/bonuspack_bubble.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 16 | 20 | 28 |