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()