diff --git a/app/src/main/java/com/example/nerbos/MapsActivity.kt b/app/src/main/java/com/example/nerbos/MapsActivity.kt index d4ccc07f8f2b97f2bbf2647fb5aab32968e20445..a64b601073689c8b66161c0863deea77583e9d61 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 30af58e0eb809487d6682be16a8f8d9c9f9bd51a..97982afd3f0740f66602942e9c0d61918e38827b 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 } }