diff --git a/app/src/main/java/com/example/bondoman/BondomanApp.kt b/app/src/main/java/com/example/bondoman/BondomanApp.kt index 035197a39cc37fa76494acfa84ec2b807a9b7fe9..d4dfb46e1d1a8a7499486f74f38f122778f22e84 100644 --- a/app/src/main/java/com/example/bondoman/BondomanApp.kt +++ b/app/src/main/java/com/example/bondoman/BondomanApp.kt @@ -13,5 +13,6 @@ class BondomanApp : Application() { // Global statics should be here companion object{ const val ACTION_RANDOM_TRANSACTION = "com.example.bondoman.ACTION_RANDOM_TRANSACTION" + const val LOCATION_MARK: Double = 200.0 } } \ No newline at end of file diff --git a/app/src/main/java/com/example/bondoman/ui/hub/addtransaction/AddTransactionFragment.kt b/app/src/main/java/com/example/bondoman/ui/hub/addtransaction/AddTransactionFragment.kt index c5c7a22bd9657e5a7208e075ea26d3c5d968a835..35f4ef009ad2cc7409871f710b360b5f75a6b5c8 100644 --- a/app/src/main/java/com/example/bondoman/ui/hub/addtransaction/AddTransactionFragment.kt +++ b/app/src/main/java/com/example/bondoman/ui/hub/addtransaction/AddTransactionFragment.kt @@ -17,6 +17,7 @@ import android.widget.Toast import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import com.example.bondoman.BondomanApp import com.example.bondoman.R import com.example.bondoman.database.entity.TransactionEntity import com.example.bondoman.databinding.FragmentAddTransactionBinding @@ -91,12 +92,18 @@ class AddTransactionFragment : Fragment() { val titleInitial = arguments?.getString(KEY_TITLE) ?: "" val amountInitial = arguments?.getInt(KEY_AMOUNT, 0) ?: 0 val categoryInitial = arguments?.getInt(KEY_CATEGORY, 0) ?: 0 - val locationInitial = arguments?.getString(KEY_LOCATION) ?: "" + var latInitial = arguments?.getDouble(KEY_LATITUDE) + var lngInitial = arguments?.getDouble(KEY_LONGITUDE) + if (latInitial == BondomanApp.LOCATION_MARK || lngInitial == BondomanApp.LOCATION_MARK) { + latInitial = null + lngInitial = null + } + locationViewModel.setLoc(latInitial, lngInitial) binding.titleInput.setText(titleInitial) binding.amountInput.setText(amountInitial.toString()) binding.categoryInput.setSelection(categoryInitial, true) - binding.locationText.text = locationInitial + // location initial already set by observer // Initialize category dropdown color (binding.categoryInput.selectedView as TextView).setTextColor(ContextCompat.getColor(requireContext(), R.color.black)) @@ -107,8 +114,6 @@ class AddTransactionFragment : Fragment() { if(actionCode == ACTION_EDIT) { binding.categoryInput.isEnabled = false - locateButton.isEnabled = false - deleteButton.isEnabled = false } fusedLocationClient = LocationServices.getFusedLocationProviderClient(requireContext()) @@ -271,7 +276,9 @@ class AddTransactionFragment : Fragment() { const val KEY_TITLE = "Title" const val KEY_AMOUNT = "Amount" const val KEY_CATEGORY = "Category" - const val KEY_LOCATION = "Location" +// const val KEY_LOCATION = "Location" + const val KEY_LATITUDE = "Latitude" + const val KEY_LONGITUDE = "Longitude" const val KEY_ACTION = "Action" const val KEY_TRANSACTION_ID = "TransactionId" diff --git a/app/src/main/java/com/example/bondoman/ui/hub/transaction/TransactionAdapter.kt b/app/src/main/java/com/example/bondoman/ui/hub/transaction/TransactionAdapter.kt index 1836697ba7133d747da397e5e2fe4058e5859a0c..ea03a9b5f640b869b8cfc2ecc032a576597330dc 100644 --- a/app/src/main/java/com/example/bondoman/ui/hub/transaction/TransactionAdapter.kt +++ b/app/src/main/java/com/example/bondoman/ui/hub/transaction/TransactionAdapter.kt @@ -13,6 +13,7 @@ import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView +import com.example.bondoman.BondomanApp import com.example.bondoman.R import com.example.bondoman.database.entity.TransactionEntity import com.example.bondoman.databinding.ItemTransactionBinding @@ -98,7 +99,8 @@ class TransactionAdapter( bundle.putString(AddTransactionFragment.KEY_TITLE, tsList[position].title) bundle.putInt(AddTransactionFragment.KEY_AMOUNT, tsList[position].amount) bundle.putInt(AddTransactionFragment.KEY_CATEGORY, context.resources.getStringArray(R.array.category_choices).indexOf(tsList[position].category)) - bundle.putString(AddTransactionFragment.KEY_LOCATION, location) + bundle.putDouble(AddTransactionFragment.KEY_LATITUDE, tsList[position].latitude ?: BondomanApp.LOCATION_MARK) + bundle.putDouble(AddTransactionFragment.KEY_LONGITUDE, tsList[position].longitude ?: BondomanApp.LOCATION_MARK) bundle.putString(AddTransactionFragment.KEY_TIMESTAMP, tsList[position].timestamp) val transaction = fragmentManager.beginTransaction()