diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index 92d1800d29..98841b3606 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -1850,23 +1850,23 @@ public class MwmActivity extends BaseMwmFragmentActivity @Override public void onLocationError() { - if (mLocationErrorDialogAnnoying) + if (mLocationErrorDialogAnnoying || (mLocationErrorDialog != null && mLocationErrorDialog.isShowing())) return; - Intent intent = makeAppSettingsLocationIntent(); - if (intent == null) - return; - showLocationErrorDialog(intent); - } - - private Intent makeAppSettingsLocationIntent() - { - Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); - if (intent.resolveActivity(getPackageManager()) != null) - return intent; - - intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS); - return intent.resolveActivity(getPackageManager()) == null ? null : intent; + AlertDialog.Builder builder = new AlertDialog.Builder(this) + .setTitle(R.string.enable_location_services) + .setMessage(R.string.location_is_disabled_long_text) + .setOnCancelListener(dialog -> mLocationErrorDialogAnnoying = true) + .setNegativeButton(R.string.close, (dialog, which) -> mLocationErrorDialogAnnoying = true); + final Intent intent = Utils.makeSystemLocationSettingIntent(this); + if (intent != null) + { + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); + intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); + builder.setPositiveButton(R.string.connection_settings, (dialog, which) -> startActivity(intent)); + } + mLocationErrorDialog = builder.show(); } @Override @@ -1894,26 +1894,6 @@ public class MwmActivity extends BaseMwmFragmentActivity } } - private void showLocationErrorDialog(@NonNull final Intent intent) - { - if (mLocationErrorDialog != null && mLocationErrorDialog.isShowing()) - return; - - mLocationErrorDialog = new AlertDialog.Builder(this) - .setTitle(R.string.enable_location_services) - .setMessage(R.string.location_is_disabled_long_text) - .setNegativeButton(R.string.close, new DialogInterface.OnClickListener() - { - @Override - public void onClick(DialogInterface dialog, int which) - { - mLocationErrorDialogAnnoying = true; - } - }) - .setOnCancelListener(dialog -> mLocationErrorDialogAnnoying = true) - .setPositiveButton(R.string.connection_settings, (dialog, which) -> startActivity(intent)).show(); - } - @Override public void onLocationNotFound() { diff --git a/android/src/com/mapswithme/util/InputUtils.java b/android/src/com/mapswithme/util/InputUtils.java index 8e127b7451..3124c11ef1 100644 --- a/android/src/com/mapswithme/util/InputUtils.java +++ b/android/src/com/mapswithme/util/InputUtils.java @@ -7,6 +7,8 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import androidx.annotation.NonNull; + import com.mapswithme.util.concurrency.UiThread; import java.util.ArrayList; @@ -17,7 +19,7 @@ public class InputUtils private InputUtils() { /* static class */ } - public static boolean isVoiceInputSupported(Context context) + public static boolean isVoiceInputSupported(@NonNull Context context) { if (mVoiceInputSupported == null) mVoiceInputSupported = Utils.isIntentSupported(context, new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)); diff --git a/android/src/com/mapswithme/util/Utils.java b/android/src/com/mapswithme/util/Utils.java index dc9aca68aa..3f98197400 100644 --- a/android/src/com/mapswithme/util/Utils.java +++ b/android/src/com/mapswithme/util/Utils.java @@ -147,11 +147,27 @@ public class Utils showSnackbarAbove(view, viewAbove, message); } - public static boolean isIntentSupported(Context context, Intent intent) + public static boolean isIntentSupported(@NonNull Context context, @NonNull Intent intent) { return context.getPackageManager().resolveActivity(intent, 0) != null; } + public static @Nullable Intent makeSystemLocationSettingIntent(@NonNull Context context) + { + Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); + if (isIntentSupported(context, intent)) + return intent; + intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS); + if (isIntentSupported(context, intent)) + return intent; + intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", context.getPackageName(), null); + intent.setData(uri); + if (isIntentSupported(context, intent)) + return intent; + return null; + } + public static void checkNotNull(Object object) { if (null == object) throw new NullPointerException("Argument here must not be NULL"); diff --git a/android/src/google/play/release-notes/tr-TR/default.txt b/android/src/google/play/release-notes/tr-TR/default.txt deleted file mode 100644 index 2eb142e403..0000000000 --- a/android/src/google/play/release-notes/tr-TR/default.txt +++ /dev/null @@ -1,11 +0,0 @@ -• Yeni OSM harita verileri (4 Şubat 2022) -• Android 11'de bozuk yer sayfası düzeltildi -• Araba ve bisiklet için geçersiz rotalar düzeltildi -• Bisiklet/yürüyüş rotaları için "kaçınma" ayarları -• Uygulama etkinse cihazın kilidini açmanıza gerek kalmaz -• Su, Karavan Tesisleri ve Geri Dönüşüm kategorilerini arayın -• Yeni obje türleri eklendi (rıhtım, marina, karavan...) -• Türkçe SSS eklendi -• İyileştirilmiş çeviriler - -…ve https://organicmaps.app adresindeki sürüm notundaki diğer birçok iyileştirme diff --git a/iphone/metadata/tr/release_notes.txt b/iphone/metadata/tr/release_notes.txt index 8eec77c3fe..d78107309c 100644 --- a/iphone/metadata/tr/release_notes.txt +++ b/iphone/metadata/tr/release_notes.txt @@ -1,28 +1,7 @@ -• Yeni OSM harita verileri (4 Şubat 2022) -• Ana ekranda yeni Yardım/Hakkında seçeneği -• Haritada boş bir yere dokunarak alttaki araç çubuğunu gizleme -• Şeffaf alt araç çubuğu arka planı - -Rota: -• Otoyoldan gereksiz çıkışlarla ilgili rota hataları düzeltildi -• Bazı bisiklet rotası hataları düzeltildi -• Bisiklet/yürüyüş rotaları için "kaçınma" ayarları -• Geçersiz bölgeler arası rota ile ilgili hata düzeltildi - -Harita: -• Arama kısmına Su, Karavan Tesisleri ve Geri Dönüşüm kategorileri eklendi -• Yeni obje türleri eklendi (koli toplama, dışkı torbaları, rıhtım, marina, karavan, çöp istasyonu, direk, bayrak direği, cenaze müdürlüğü) -• Navigasyonda daha iyi daire numaraları -• Basılı tutarak alan nesneleri yerine doğrusal nesneleri seçin -• Kasabalar ve şehirler, 10-11 yakınlaştırma seviyelerinde uygun şekilde önceliklendirilir -• Diğer alanlara göre daha öncelikli park yerleri -• İskeleler, barajlar ve kesim hatları için iyileştirilmiş işlenme -• Geliştirilmiş tren istasyonları görünürlüğü -• Milli park ve askeri alanlar daha az rahatsız edici hale getirildi -• Düzeltilmiş otoyol görünürlüğü -• Dünya haritasında yanlış işaretlenmiş bazı büyük harfler düzeltildi -• Bazı yanlış simgeler düzeltildi - -Çeviriler: -• Almanca, İtalyanca ve Türkçe çevirileri düzeltildi -• Türkçe SSS eklendi +• Yeni OSM harita verileri (3 Ocak 2022) +• İyileştirilmiş arama sonuçları sıralaması +• Dünya haritasında birçok "başkent" düzeltildi +• Geçersiz bölgeler arası rotalar düzeltildi +• Arama bölümü, İngilizce'deki rd/st/ct=road/street/court kısaltmalarını tanır +• Belarusça, Farsça, yarım İbranice ve Svahili çevirileri eklendi +• Almanca, İtalyanca, Rumence, Rusça, Ukraynaca, Türkçe çevirileri güncellendi