Bladeren bron

bug fix change tabs and show elements

MrOzOn 5 jaren geleden
bovenliggende
commit
51ab49d4d0

+ 2 - 0
feature_measure/src/main/java/com/mrozon/feature_measure/data/MeasureRepositoryImpl.kt

@@ -15,6 +15,7 @@ import com.mrozon.utils.extension.toDateString
 import com.mrozon.utils.network.Result
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.flow
+import timber.log.Timber
 import javax.inject.Inject
 import javax.inject.Singleton
 
@@ -117,6 +118,7 @@ class MeasureRepositoryImpl @Inject constructor(
                 emit(Result.success(mapperMeasure.reverseMap(measureDb)!!))
             }
             catch (e: Exception){
+                Timber.e(e)
                 emit(Result.error(e.message!!))
             }
         }

+ 18 - 0
feature_measure/src/main/java/com/mrozon/feature_measure/presentation/EditMeasureFragment.kt

@@ -180,5 +180,23 @@ class EditMeasureFragment: BaseFragment<FragmentEditMeasureBinding>() {
                 ActivityCompat.invalidateOptionsMenu(activity)
             }
         })
+        viewModel.goToListMeasure.observe(viewLifecycleOwner, Observer { event ->
+            event.getContentIfNotHandled()?.let { result ->
+                when (result.status) {
+                    Result.Status.LOADING -> {
+                        binding?.progressBar?.visible(true)
+                    }
+                    Result.Status.SUCCESS -> {
+                        binding?.progressBar?.visible(false)
+                        //TODO go to list measures
+                        show("Success!")
+                    }
+                    Result.Status.ERROR -> {
+                        binding?.progressBar?.visible(false)
+                        showError(result.message!!)
+                    }
+                }
+            }
+        })
     }
 }

+ 11 - 9
feature_measure/src/main/java/com/mrozon/feature_measure/presentation/ListMeasureFragment.kt

@@ -91,6 +91,7 @@ class ListMeasureFragment : BaseFragment<FragmentListMeasureBinding>() {
         arguments?.let {
             val personId = requireArguments().getLong(ARG_PERSON_ID, -1)
             val measureTypeId = requireArguments().getLong(ARG_MEASURE_TYPE_ID, -1)
+            Timber.d("onResume - $measureTypeId")
             viewModel.initialLoadData(personId, measureTypeId)
         }
     }
@@ -124,16 +125,17 @@ class ListMeasureFragment : BaseFragment<FragmentListMeasureBinding>() {
                         val measureType = result.data?.second
                         val measures = result.data?.third
                         Timber.d("measures contains ${measures?.size} items")
-                        adapter = ListMeasureAdapter(measureType!!, object:
-                            ListMeasureAdapter.ListMeasureClickListener {
-                            override fun onClick(measure: Measure) {
-                                arguments?.let {
-                                    val personId = requireArguments().getLong(ARG_PERSON_ID, 0)
-                                    val measureTypeId = requireArguments().getLong(ARG_MEASURE_TYPE_ID, 0)
-                                    navigator.navigateToEditMeasure(findNavController(),getString(R.string.add_measure),measure.id, personId, measureTypeId)
+                        if(adapter==null)
+                            adapter = ListMeasureAdapter(measureType!!, object:
+                                ListMeasureAdapter.ListMeasureClickListener {
+                                override fun onClick(measure: Measure) {
+                                    arguments?.let {
+                                        val personId = requireArguments().getLong(ARG_PERSON_ID, 0)
+                                        val measureTypeId = requireArguments().getLong(ARG_MEASURE_TYPE_ID, 0)
+                                        navigator.navigateToEditMeasure(findNavController(),getString(R.string.add_measure),measure.id, personId, measureTypeId)
+                                    }
                                 }
-                            }
-                        })
+                            })
                         binding?.rvMeasure?.adapter = adapter
                         adapter?.submitList(measures)
                     }

+ 2 - 2
feature_measure/src/main/java/com/mrozon/feature_measure/presentation/ListMeasureFragmentViewModel.kt

@@ -32,7 +32,7 @@ class ListMeasureFragmentViewModel @Inject constructor(
         get() = _measures
 
     fun initialLoadData(personId: Long, measureTypeId: Long) {
-        if(_initialData.value == null) {
+//        if(_initialData.value == null) {
             viewModelScope.launch(coroutineContextProvider.IO) {
                 repository.loadMeasure(personId, measureTypeId).collect {
                     withContext(coroutineContextProvider.Main) {
@@ -40,7 +40,7 @@ class ListMeasureFragmentViewModel @Inject constructor(
                     }
                 }
             }
-        }
+//        }
     }
 
     fun refreshMeasuresNetwork() {