diff --git a/app/src/main/java/org/rfcx/ranger/view/report/ReportActivity.kt b/app/src/main/java/org/rfcx/ranger/view/report/ReportActivity.kt index 917947fb7..2a8d4d8fa 100644 --- a/app/src/main/java/org/rfcx/ranger/view/report/ReportActivity.kt +++ b/app/src/main/java/org/rfcx/ranger/view/report/ReportActivity.kt @@ -16,6 +16,7 @@ import android.view.MenuItem import android.view.View import android.widget.ScrollView import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.LinearLayoutManager @@ -44,6 +45,7 @@ import java.io.File import java.io.IOException import java.util.* import org.rfcx.ranger.databinding.ActivityReportBinding +import kotlin.concurrent.timerTask class ReportActivity : BaseReportImageActivity(), OnMapReadyCallback { @@ -59,6 +61,8 @@ class ReportActivity : BaseReportImageActivity(), OnMapReadyCallback { private var lastLocation: Location? = null private val analytics by lazy { Analytics(this) } + private val waitingForLocationTimer: Timer = Timer() + private lateinit var binding: ActivityReportBinding private fun bitmapDescriptorFromVector(context: Context, vectorResId: Int): BitmapDescriptor? { @@ -127,6 +131,7 @@ class ReportActivity : BaseReportImageActivity(), OnMapReadyCallback { supportFragmentManager.beginTransaction().remove(it).commitAllowingStateLoss() } stopPlaying() + waitingForLocationTimer.cancel() } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -215,14 +220,31 @@ class ReportActivity : BaseReportImageActivity(), OnMapReadyCallback { if (isDestroyed) return locationManager?.removeUpdates(locationListener) locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager? + waitingForLocationTimer.schedule(timerTask { + if (lastLocation == null) { + runOnUiThread { + showLocationMessageError(getString(R.string.in_air_plane_mode)) + AlertDialog.Builder(this@ReportActivity) + .setTitle(null) + .setMessage("${getString(R.string.in_air_plane_mode)}. ${getString(R.string.please_try_again_later)}") + .setCancelable(true) + .setPositiveButton(R.string.button_ok) { dialog, _ -> + dialog.dismiss() + finish() + }.show() + } + } + }, 30 * 1000) // waiting for 30 sec if cannot get location show error try { locationManager?.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5 * 1000L, 0f, locationListener) lastLocation = locationManager?.getLastKnownLocation(LocationManager.GPS_PROVIDER) showLocationFinding() lastLocation?.let { markRangerLocation(it) } } catch (ex: SecurityException) { + showLocationMessageError(getString(R.string.in_air_plane_mode)) ex.printStackTrace() } catch (ex: IllegalArgumentException) { + showLocationMessageError(getString(R.string.in_air_plane_mode)) ex.printStackTrace() } diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index fda6fc7b6..6f7b6c506 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -245,6 +245,7 @@ La contraseña ha sido cambiada con éxito. Algo salió mal. Por favor, inténtelo de nuevo más tarde. Cuenta + inténtelo de nuevo más tarde Cambio de perfil de fotos Editar perfil diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 6c9fc4302..7502bfe66 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -245,6 +245,7 @@ Password telah berhasil diubah. Ada yang salah. Silakan coba lagi nanti. Akun + Silakan coba lagi nanti Ganti foto profil Sunting profil diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 3268d6cf5..092b46313 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -235,6 +235,7 @@ Terugkoppeling Beoordeel de app Wijzigingen opslaan + Probeer het later opnieuw. Terugkoppeling ingediend. Bedankt voor je tijd :) Indienen van gebruikersfeedback mislukt! Probeer het opnieuw. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index b949ca664..454bc218c 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -245,6 +245,7 @@ A senha foi alterada com sucesso. Algo deu errado. Por favor, tente novamente mais tarde. Conta + tente novamente mais tarde. Alterar foto do perfil Editar Perfil diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index b007cfe6f..d7f9a4e1b 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -243,6 +243,7 @@ การเปลี่ยนรหัสผ่านสำเร็จ มีบางอย่างผิดพลาด กรุณาลองใหม่อีกครั้ง บัญชีผู้ใช้ + มีบางอย่างผิดพลาด กรุณาลองใหม่อีกครั้ง เปลี่ยนรูปโปรไฟล์ แก้ไขโปรไฟล์ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 22db05551..cc4117972 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -235,6 +235,7 @@ Feedback Rate the app Save Changes + Please try again later Feedback submitted. Thank you for your time :) Feedback submission failed! Please try again.