diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index fdf8d99..b1077fb 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/app/src/main/java/com/appttude/h_mal/farmr/base/BaseRecyclerAdapter.kt b/app/src/main/java/com/appttude/h_mal/farmr/base/BaseRecyclerAdapter.kt index ab62a76..fd34388 100644 --- a/app/src/main/java/com/appttude/h_mal/farmr/base/BaseRecyclerAdapter.kt +++ b/app/src/main/java/com/appttude/h_mal/farmr/base/BaseRecyclerAdapter.kt @@ -13,11 +13,6 @@ open class BaseRecyclerAdapter( ): RecyclerView.Adapter() { var list: List? = null - fun updateData(newList: List) { - list = newList - notifyDataSetChanged() - } - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { return if (list.isNullOrEmpty()) { val emptyViewHolder = parent.generateView(emptyViewId) diff --git a/app/src/main/java/com/appttude/h_mal/farmr/model/Sortable.kt b/app/src/main/java/com/appttude/h_mal/farmr/model/Sortable.kt index 6a0c9a1..f027a92 100644 --- a/app/src/main/java/com/appttude/h_mal/farmr/model/Sortable.kt +++ b/app/src/main/java/com/appttude/h_mal/farmr/model/Sortable.kt @@ -7,5 +7,9 @@ enum class Sortable(val label: String) { DESCRIPTION("Description"), DURATION("Added"), UNITS("Duration"), RATEOFPAY("Rate of pay"), - TOTALPAY("Total Pay") + TOTALPAY("Total Pay"); + + companion object { + val entries = Sortable.values() + } } \ No newline at end of file diff --git a/app/src/main/java/com/appttude/h_mal/farmr/ui/FilterDataFragment.kt b/app/src/main/java/com/appttude/h_mal/farmr/ui/FilterDataFragment.kt index 6611c31..745fb68 100644 --- a/app/src/main/java/com/appttude/h_mal/farmr/ui/FilterDataFragment.kt +++ b/app/src/main/java/com/appttude/h_mal/farmr/ui/FilterDataFragment.kt @@ -74,8 +74,8 @@ class FilterDataFragment : BaseFragment(R.layout.fragment_filter_ id: Long ) { type = when (position) { - 1 -> ShiftType.HOURLY.toString() - 2 -> ShiftType.PIECE.toString() + 1 -> ShiftType.HOURLY.type + 2 -> ShiftType.PIECE.type else -> return } } diff --git a/app/src/main/java/com/appttude/h_mal/farmr/ui/FragmentMain.kt b/app/src/main/java/com/appttude/h_mal/farmr/ui/FragmentMain.kt index f0bfaf8..f083778 100644 --- a/app/src/main/java/com/appttude/h_mal/farmr/ui/FragmentMain.kt +++ b/app/src/main/java/com/appttude/h_mal/farmr/ui/FragmentMain.kt @@ -14,14 +14,19 @@ import android.widget.Toast import androidx.core.app.ActivityCompat import androidx.core.content.FileProvider import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver import com.appttude.h_mal.farmr.R import com.appttude.h_mal.farmr.base.BackPressedListener import com.appttude.h_mal.farmr.base.BaseFragment import com.appttude.h_mal.farmr.data.legacydb.ShiftObject import com.appttude.h_mal.farmr.model.Order import com.appttude.h_mal.farmr.model.Sortable +import com.appttude.h_mal.farmr.model.Success import com.appttude.h_mal.farmr.utils.createDialog +import com.appttude.h_mal.farmr.utils.displayToast +import com.appttude.h_mal.farmr.utils.hide import com.appttude.h_mal.farmr.utils.navigateToFragment +import com.appttude.h_mal.farmr.utils.show import com.appttude.h_mal.farmr.viewmodel.MainViewModel import com.google.android.material.floatingactionbutton.FloatingActionButton import java.io.File @@ -30,6 +35,7 @@ import kotlin.system.exitProcess class FragmentMain : BaseFragment(R.layout.fragment_main), BackPressedListener { private lateinit var productListView: RecyclerView + private lateinit var emptyView: View private lateinit var mAdapter: ShiftListAdapter override fun onCreate(savedInstanceState: Bundle?) { @@ -47,6 +53,15 @@ class FragmentMain : BaseFragment(R.layout.fragment_main), BackPr } productListView = view.findViewById(R.id.list_item_view) productListView.adapter = mAdapter + emptyView = view.findViewById(R.id.empty_view) + + mAdapter.registerAdapterDataObserver(object : AdapterDataObserver() { + override fun onChanged() { + super.onChanged() + if (mAdapter.itemCount == 0) emptyView.show() + else emptyView.hide() + } + }) view.findViewById(R.id.fab1).setOnClickListener { navigateToFragment(FragmentAddItem(), name = "additem") @@ -65,6 +80,9 @@ class FragmentMain : BaseFragment(R.layout.fragment_main), BackPr @Suppress("UNCHECKED_CAST") mAdapter.submitList(data as List) } + if (data is Success) { + displayToast(data.successMessage) + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/java/com/appttude/h_mal/farmr/viewmodel/MainViewModel.kt b/app/src/main/java/com/appttude/h_mal/farmr/viewmodel/MainViewModel.kt index 5c79752..bec425b 100644 --- a/app/src/main/java/com/appttude/h_mal/farmr/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/appttude/h_mal/farmr/viewmodel/MainViewModel.kt @@ -522,6 +522,7 @@ class MainViewModel( ) { repository.setFilteringDetailsInPrefs(description, dateFrom, dateTo, type) onSuccess(Success("Filter(s) successfully applied")) + refreshLiveData() } fun getFiltrationDetails(): FilterStore { @@ -568,11 +569,12 @@ class MainViewModel( Label(10, 0, COLUMN_SHIFT_TOTALPAY) ) // table content - val data = shiftLiveData.value - if (data.isNullOrEmpty()) { + if (shiftLiveData.value.isNullOrEmpty()) { onError("No data to parse into excel file") return null } + val sortAndOrder = getSortAndOrder() + val data = shiftLiveData.value!!.applyFilters().sortList(sortAndOrder.first, sortAndOrder.second) var currentRow = 0 val cells = data.mapIndexed { index, shift -> currentRow += 1 diff --git a/app/src/main/res/drawable/farm.jpg b/app/src/main/res/drawable/farm.jpg deleted file mode 100644 index 290da71..0000000 Binary files a/app/src/main/res/drawable/farm.jpg and /dev/null differ diff --git a/app/src/main/res/drawable/ic_info_black_24dp.xml b/app/src/main/res/drawable/ic_info_black_24dp.xml deleted file mode 100644 index 34b8202..0000000 --- a/app/src/main/res/drawable/ic_info_black_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index ca3826a..0000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_release_background.xml b/app/src/main/res/drawable/ic_launcher_release_background.xml deleted file mode 100644 index ca3826a..0000000 --- a/app/src/main/res/drawable/ic_launcher_release_background.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_notifications_black_24dp.xml b/app/src/main/res/drawable/ic_notifications_black_24dp.xml deleted file mode 100644 index e3400cf..0000000 --- a/app/src/main/res/drawable/ic_notifications_black_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_sync_black_24dp.xml b/app/src/main/res/drawable/ic_sync_black_24dp.xml deleted file mode 100644 index 2aef437..0000000 --- a/app/src/main/res/drawable/ic_sync_black_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/img_i_full.png b/app/src/main/res/drawable/img_i_full.png deleted file mode 100644 index 97c195c..0000000 Binary files a/app/src/main/res/drawable/img_i_full.png and /dev/null differ diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml deleted file mode 100644 index dfa3dfc..0000000 --- a/app/src/main/res/layout/fragment_home.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 681d46f..e9fd9c1 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -23,4 +23,9 @@ android:src="@drawable/add" app:backgroundTint="@color/colorPrimary" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 077fa23..7120641 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,11 +1,9 @@ Farmr - Settings Shifts Add Shift Edit Shift - Delete Shift failed to insert Shift Shift successfully added Update Failed @@ -25,11 +23,6 @@ General - Enable social recommendations - Recommendations for people to contact - based on your message history - - Display name John Smith diff --git a/build.gradle b/build.gradle index f56abf1..4e3983e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = '1.9.0' + kotlin_version = '1.7.10' } repositories { google()