diff --git a/app/build.gradle b/app/build.gradle index f8a156e..c674480 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,12 +2,18 @@ apply plugin: 'com.android.application' android { compileSdk 34 + dependenciesInfo { + // Disable including dependency metadata when building APKs + includeInApk = false + // Disable including dependency metadata when building Android App Bundles + includeInBundle = false + } defaultConfig { applicationId "us.spotco.maps" minSdkVersion 21 targetSdk 34 - versionCode 41 - versionName "4.1" + versionCode 43 + versionName "4.3" } buildTypes { debug { @@ -22,8 +28,9 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - lint { + lintOptions { abortOnError false + disable 'MissingTranslation' } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b3515bf..3170d16 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ android:theme="@android:style/Theme.DeviceDefault"> diff --git a/app/src/main/java/us/spotco/maps/MainActivity.java b/app/src/main/java/us/spotco/maps/MainActivity.java index 59b6446..22e1483 100644 --- a/app/src/main/java/us/spotco/maps/MainActivity.java +++ b/app/src/main/java/us/spotco/maps/MainActivity.java @@ -20,6 +20,8 @@ import android.Manifest; import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; +import android.content.ClipData; +import android.content.ClipDescription; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; @@ -222,7 +224,19 @@ public class MainActivity extends Activity { } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } - + } else if (request.getUrl().toString().startsWith("http://")){ + new AlertDialog.Builder(context) + .setTitle(R.string.title_open_link) + .setIcon(R.drawable.ic_warning) // Set the alert icon + .setMessage(context.getString(R.string.text_warning_link) + "\n\n" + context.getString(R.string.text_open_link, request.getUrl().toString())) + .setNegativeButton(android.R.string.cancel, null) + .setPositiveButton( + android.R.string.ok, + (dialogInterface, i) -> + startActivity(new Intent(Intent.ACTION_VIEW, request.getUrl())) + ) + .create() + .show(); } return true; //Deny URLs that aren't HTTPS } @@ -245,7 +259,7 @@ public class MainActivity extends Activity { if (!allowed) { Log.d(TAG, "[shouldOverrideUrlLoading][NOT ON ALLOWLIST] Blocked access to " + request.getUrl().getHost()); if (request.getUrl().toString().startsWith("https://")) { - (new AlertDialog.Builder(context) + new AlertDialog.Builder(context) .setTitle(R.string.title_open_link) .setMessage(context.getString(R.string.text_open_link, request.getUrl().toString())) .setNegativeButton(android.R.string.cancel, null) @@ -254,9 +268,8 @@ public class MainActivity extends Activity { (dialogInterface, i) -> startActivity(new Intent(Intent.ACTION_VIEW, request.getUrl())) ) - ) - .create() - .show(); + .create() + .show(); } return true; //Deny URLs not on ALLOWLIST @@ -431,20 +444,33 @@ public class MainActivity extends Activity { private void initShareLinkListener() { ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); - clipboard.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() { - @Override - public void onPrimaryClipChanged() { - String url = mapsWebView.getUrl(); - String regex = "@(-?d*\\d+.\\d+),(-?d*\\d+.\\d+)"; - Pattern p = Pattern.compile(regex); - Matcher m = p.matcher(url); - if (m.find()) { - String latlon = m.group(1) + "," + m.group(2); - try { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("geo:" + latlon + "?q=" + latlon))); - } catch (ActivityNotFoundException ignored) { - Toast.makeText(context, R.string.no_app_installed, Toast.LENGTH_SHORT).show(); + clipboard.addPrimaryClipChangedListener(() -> { + if (!clipboard.hasPrimaryClip()) return; + + ClipDescription description = clipboard.getPrimaryClipDescription(); + if (description == null) return; + + // Only process plain text + if (description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { + try { + CharSequence copiedText = clipboard.getPrimaryClip().getItemAt(0).getText(); + if (copiedText == null) return; + + // Match coordinates in copied text (e.g., "40.7128,74.0060" or "40.7128 -74.006") + Pattern p = Pattern.compile("(-?\\d*\\.\\d+),\\s*(-?\\d*\\.\\d+)"); + Matcher m = p.matcher(copiedText); + + if (m.find()) { + String latlon = m.group(1) + "," + m.group(2); + String clipContent = "geo:" + latlon + "?q=" + latlon; + ClipData newClip = ClipData.newPlainText("Geo URI", clipContent); + clipboard.setPrimaryClip(newClip); } + } catch (ActivityNotFoundException e) { + // Show "No app installed" message if no app can handle the geo intent + Toast.makeText(context, R.string.no_app_installed, Toast.LENGTH_SHORT).show(); + } catch (Exception e) { + Log.e(TAG, "Error processing clipboard content", e); } } }); diff --git a/app/src/main/res/drawable/ic_warning.xml b/app/src/main/res/drawable/ic_warning.xml new file mode 100644 index 0000000..69a7ed9 --- /dev/null +++ b/app/src/main/res/drawable/ic_warning.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index e4366bb..c5516ae 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1,6 +1,5 @@ - GMaps WV إذن الموقع الرجاء تفعيل GPS افتح في webview مقيد diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index f165f35..597ed45 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -3,7 +3,6 @@ Отворете в ограничен уеб изглед Моля, дайте разрешение за местоположение и натиснете бутона отново. Няма инсталирано приложение - GMaps уеб изглед Моля, активирайте GPS Разрешение за местоположение \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 44ec7ab..da8da26 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1,9 +1,13 @@ - - GMaps WV + GMaps WV Otevřít v omezeném webovém zobrazení - Oprávnění k poloze - Udělte prosím oprávnění k poloze a znovu stiskněte tlačítko. - Povolte prosím polohové služby + Přístup k poloze + Udělte přístup oprávnění k poloze a znovu stiskněte tlačítko. + Zapněte prosím polohové služby Není nainstalována žádná aplikace - \ No newline at end of file + Otevřít odkaz + Otevřít v externím prohlížeči? %s + VAROVÁNÍ: Tento odkaz není zabezpečený! + Líbí se vám tato aplikace? Dejte jí prosím hvězdičku na GitHubu nebo kupte vývojáři kávu přes PayPal. + Možná později + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c65dcbf..156b8a4 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Im eingeschränktem Webview öffnen Standortfreigabe Bitte die Standordfreigabe gewähren und die Funktion erneut aufrufen. @@ -8,6 +7,7 @@ Keine App installiert Link öffnen In externem Browser öffnen? %s + ACHTUNG: Dieser Link ist nicht sicher! Mögen Sie diese App? Bitte vergeben Sie einen Stern auf GitHub oder spendieren Sie dem Entwickler einen Kaffee über PayPal. Vielleicht später diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 84e3b4b..9dccecc 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Abrir con webview restringido Permiso de ubicación Por favor, concede permisos de ubicación y presiona el botón nuevamente. diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index e91ea20..9f86701 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -1,6 +1,5 @@ - GMaps veebivaade Ava piiratud veebivaatena Õigused asukoha tuvastamiseks Palun anna rakendusele õigused asukoha tuvastamiseks ja vajuta uuesti nuppu. diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 3f4a296..f1b8347 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -1,12 +1,11 @@ - - GMaps WV - بازکردن در مشاهده‌گر وب محدود شده - دسترسی مکان - لطفا دسترسی مکان را داده و دوباره روی دکمه ضربه بزنید/string> - لطفا مکان‌یاب را روشن کنید - برنامه‌ای نصب نشده - بازکردن پیوند - بازکردن در مرورگر خارجی؟ %s - این برنامه رو دوست داشتید؟ لطفا به ما در گیت‌هاب ستاره دهید و یا در پی‌پال برای برنامه‌نویس قهوه بخرید - شاید بعدا - + + بازکردن در مشاهده‌گر وب محدود شده + دسترسی مکان + لطفا دسترسی مکان را داده و دوباره روی دکمه ضربه بزنید + لطفا مکان‌یاب را روشن کنید + برنامه‌ای نصب نشده + بازکردن پیوند + بازکردن در مرورگر خارجی؟ %s + این برنامه رو دوست داشتید؟ لطفا به ما در گیت‌هاب ستاره دهید و یا در پی‌پال برای برنامه‌نویس قهوه بخرید + شاید بعدا + \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a1b7e66..4fff833 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Accès à la localisation Veuillez donner l\'accès à la localisation et appuyer à nouveau sur le bouton. Veuillez activer le GPS diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index e63b6c6..facd88d 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Abrir nunha webview con restricións Permiso de localización Concede permiso para a localización e preme outra vez no botón. diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index d8f5682..8458820 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1,7 +1,6 @@ प्रतिबंधित वेबव्यू में खोलें - जीमैप्स डब्ल्यू वी स्थान अनुमति कृपया स्थान की अनुमति दें और पुनः दबाएँ। कृपया जीपीएस सक्रिय करें diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 8e04401..43589f5 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -3,7 +3,6 @@ Molimo aktivirajte GPS Dozvola za lokaciju Nema instalirane aplikacije - GMaps WV Otvori u ograničenom web prikazu Molimo Vas dajte dopuštenje za lokaciju i ponovo pritisnite gumb. \ No newline at end of file diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 6c93e68..f506df1 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Buka dengan tampilan-web terbatas Izinkan akses lokasi Mohon berikan izin akses lokasi dan tekan tombol kembali. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 684a64d..ca5ab1b 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1,9 +1,13 @@ + Apri in una webview ristretta + Permessi di localizzazione Attiva i permessi di localizzazione e premi nuovamente il pulsante. Per favore, attiva il GPS Nessuna app installata - Mappe Google WV - Apri in una webview ristretta - Permessi di localizzazione - \ No newline at end of file + Apri link + Vuoi aprire? %s + ATTENZIONE: Link non sicuro! + Ti piace quest\'app? Dai una stella su Github oppure offri un caffè allo sviluppatore tramite PayPal. + Forse più tardi + diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 941bac9..3b6ed35 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -5,5 +5,4 @@ നിയന്ത്രിത വെബ്‌വ്യൂവിൽ തുറക്കുക സ്ഥാന അനുമതി നൽകി വീണ്ടും അമർത്തുക. ഒരു പ്രയോഗവും സ്ഥാപിച്ചിട്ടില്ല - ജിമാപ്സ് ഡബ്ല്യുവി \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml new file mode 100644 index 0000000..6f5f4b3 --- /dev/null +++ b/app/src/main/res/values-nl/strings.xml @@ -0,0 +1,13 @@ + + + Openen in beperkte Webview + Locatierechten + A.u.b. locatierechten toekennen en deze knop opnieuw indrukken. + A.u.b. GPS activeren + Geen app is geïnstalleerd + Link openen + Openen in externe webbrowser? %s + WAARSCHUWING: Deze link is niet veilig! + Vind je deze app leuk of handig? Geef een ster op GitHub of doneer een koffie aan de ontwikkelaar via PayPal. + Misschien later + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 0addb6a..1824824 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Otwórz w chronionym webview Dostęp do lokalizacji Prosimy udzielić dostępu do lokalizacji i nacisnąć przycisk ponownie. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3a16656..ec58f3a 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Abrir em WebView restrito Permissão de localização Conceda a permissão de localização e toque no botão novamente. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 0164fe1..ebdcbe4 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1,5 +1,4 @@ - GMaps WV Abrir em WebView restrito Permissão de localização Conceda a permissão de localização e toque no botão novamente. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 6bd0f11..8a5612c 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -5,7 +5,6 @@ Пожалуйста, активируйте GPS Вам нравится это приложение? Пожалуйста, поставьте звёздочку на GitHub или купите разработчику кофе через PayPal. Может быть позже - GMaps WV Пожалуйста, дайте разрешение на определение местоположения и нажмите кнопку еще раз. Приложение не установлено \ No newline at end of file diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 4b99767..b9e7039 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -1,6 +1,5 @@ - Gmaps wv தடைசெய்யப்பட்ட வெப்வியூவில் திறக்கவும் சி.பி.எச்சை செயல்படுத்தவும் இருப்பிட இசைவு diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index bb2609a..3bd0976 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1,6 +1,5 @@ - GMaps WV Відкрити в обмеженому вебпереглядачі Дозвіл на місцезнаходження Будь ласка, надайте дозвіл на визначення місцезнаходження та натисніть кнопку ще раз. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ca46fce..d3e0ae4 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2,7 +2,6 @@ 请激活 GPS 位置权限 - GMaps WV App未安装 在受限的WebView中打开 请授予位置权限,然后再次按下按钮。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3ef8754..4ad245d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - GMaps WV + GMaps WV Open in restricted webview Location permission Please grant location permission and press button again. @@ -7,6 +7,7 @@ No app installed Open link Open in external browser? %s + WARNING: This link is not secure! Do you like this app? Please give a star on GitHub or buy the developer a coffee via PayPal. Maybe later diff --git a/fastlane/metadata/android/en-US/changelogs/42.txt b/fastlane/metadata/android/en-US/changelogs/42.txt new file mode 100644 index 0000000..1617cb4 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/42.txt @@ -0,0 +1,2 @@ +Allow placeinfo images +Translations \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/43.txt b/fastlane/metadata/android/en-US/changelogs/43.txt new file mode 100644 index 0000000..ec4346f --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/43.txt @@ -0,0 +1,2 @@ +Bugfixes +Translation update \ No newline at end of file