From fac0991c4ed5401e50b29c8a817107e7f07972a8 Mon Sep 17 00:00:00 2001 From: fadhilAmri <13521066@std.stei.itb.ac.id> Date: Tue, 2 Apr 2024 10:23:27 +0700 Subject: [PATCH] fix: Address not found handler --- .../java/com/example/nerbos/MapsActivity.kt | 16 ++++++++++++++-- .../transaction/TransactionFragment.kt | 17 +++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/example/nerbos/MapsActivity.kt b/app/src/main/java/com/example/nerbos/MapsActivity.kt index d4ccc07..a64b601 100644 --- a/app/src/main/java/com/example/nerbos/MapsActivity.kt +++ b/app/src/main/java/com/example/nerbos/MapsActivity.kt @@ -48,7 +48,9 @@ class MapsActivity : AppCompatActivity(), OnMapReadyCallback { val geocoder = Geocoder(this, Locale.getDefault()) val address = geocoder.getFromLocationName(locationName!!, 1) if (address != null) { - location = address[0] + if (address.size > 0) { + location = address[0] + } } // Navigation @@ -63,7 +65,17 @@ class MapsActivity : AppCompatActivity(), OnMapReadyCallback { override fun onMapReady(googleMap: GoogleMap) { mMap = googleMap mMap.uiSettings.isZoomControlsEnabled = true - val currentLatLong : LatLng = LatLng(location.latitude,location.longitude) + val currentLatLong : LatLng + if ( ::location.isInitialized){ + currentLatLong = LatLng(location.latitude,location.longitude) + } else { + currentLatLong = LatLng(-6.8915, 107.6107 ) + // Navigation + Toast.makeText(this, "Address Can't be Found", Toast.LENGTH_LONG).show() + val mainIntent: Intent = Intent(this, MainActivity::class.java) + startActivity(mainIntent) + + } val markerOptions = MarkerOptions().position(currentLatLong).title("Current Location") mMap.addMarker(markerOptions) mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentLatLong, 15f)) diff --git a/app/src/main/java/com/example/nerbos/fragments/transaction/TransactionFragment.kt b/app/src/main/java/com/example/nerbos/fragments/transaction/TransactionFragment.kt index 30af58e..97982af 100644 --- a/app/src/main/java/com/example/nerbos/fragments/transaction/TransactionFragment.kt +++ b/app/src/main/java/com/example/nerbos/fragments/transaction/TransactionFragment.kt @@ -326,8 +326,9 @@ class TransactionFragment : Fragment() { transactionDate.text = Utils.formatDate(transaction.date.toString()) dialog.findViewById<Button>(R.id.saveButton).setOnClickListener{ - updateDataToDatabase(dialog, transaction.id) - dialog.dismiss() + if(updateDataToDatabase(dialog, transaction.id)){ + dialog.dismiss() + } } dialog.findViewById<Button>(R.id.deleteButton).setOnClickListener{ @@ -357,13 +358,21 @@ class TransactionFragment : Fragment() { } } - private fun updateDataToDatabase(view: Dialog, idTransaction:Int){ + private fun updateDataToDatabase(view: Dialog, idTransaction:Int) : Boolean{ val transaction: Transaction? = getDialogData(view) - if (transaction != null){ + return if (transaction != null){ // Update Data to Database transaction.id = idTransaction transactionViewModel.updateTransaction(transaction) Toast.makeText(requireContext(), this.getString(R.string.edit_success), Toast.LENGTH_LONG).show() + true + }else { + Toast.makeText( + requireContext(), + this.getString(R.string.error_fields), + Toast.LENGTH_LONG + ).show() + false } } -- GitLab