aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTAMARA JERINIC <tamara.jerinic@gmail.com>2022-11-22 13:10:21 +0100
committerTAMARA JERINIC <tamara.jerinic@gmail.com>2022-11-22 13:10:48 +0100
commitf2350319553504189bf8b4ea9beba6443eefe2c8 (patch)
tree799f38c216be3fe2193f68291ac18a4e3950e547
parent6684a156434f38fd89cefcf5a78acc7bc4d31170 (diff)
Dodati dijalozi za filtriranje i sortiranje.
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt45
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml10
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml25
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml13
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml147
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml67
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/values/strings.xml3
8 files changed, 313 insertions, 3 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
index c8ffb90..a840d6b 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
@@ -6,7 +6,10 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Button
+import android.widget.EditText
import android.widget.ImageButton
+import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
@@ -14,6 +17,7 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+import com.example.brzodolokacije.Activities.ActivityAddPost
import com.example.brzodolokacije.Activities.ChatActivity
import com.example.brzodolokacije.Adapters.ShowPostsAdapter
import com.example.brzodolokacije.Models.SearchParams
@@ -22,6 +26,8 @@ import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.databinding.FragmentShowPostsBinding
import com.example.brzodolokacije.paging.SearchPostsViewModel
import com.example.brzodolokacije.paging.SearchPostsViewModelFactory
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import kotlinx.android.synthetic.main.fragment_show_posts.*
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.launch
@@ -37,6 +43,8 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
private var swipeRefreshLayout:SwipeRefreshLayout?=null
private lateinit var searchPostsViewModel:SearchPostsViewModel
private var searchParams:SearchParams?= SearchParams("6375784fe84e2d53df32bf03",1,1)
+ private lateinit var btnFilter:ImageButton
+ private lateinit var btnSort:ImageButton
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -107,6 +115,17 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
swipeRefreshLayout?.isRefreshing=true
requestToBack(searchParams!!)
})
+
+ btnFilter=rootView.findViewById(R.id.btnSortType)
+ btnSort=rootView.findViewById(R.id.btnSortDirection)
+
+ btnFilter.setOnClickListener{
+ showBottomSheetFilter()
+ }
+
+ btnSort.setOnClickListener{
+ showBottomSheetSort()
+ }
return rootView
}
@@ -114,4 +133,30 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
requestToBack(searchParams!!)
}
+
+ private fun showBottomSheetFilter() {
+ var bottomSheetDialog: BottomSheetDialog
+ bottomSheetDialog = BottomSheetDialog(requireContext())
+ bottomSheetDialog.setContentView(R.layout.bottom_sheet_filter)
+ bottomSheetDialog.show()
+
+ var dateFrom=bottomSheetDialog.findViewById<View>(R.id.dateFromBSF)as EditText
+ var dateTo=bottomSheetDialog.findViewById<View>(R.id.dateToBSF) as EditText
+ var location=bottomSheetDialog.findViewById<View>(R.id.locationBSF) as EditText
+ var filter = bottomSheetDialog.findViewById<View>(R.id.btnBSFFilter) as Button
+
+
+ filter.setOnClickListener {
+ //povezati sa back-om
+
+
+ }
+ }
+ private fun showBottomSheetSort() {
+ var bottomSheetDialogSort: BottomSheetDialog
+ bottomSheetDialogSort = BottomSheetDialog(requireContext())
+ bottomSheetDialogSort.setContentView(R.layout.bottom_sheet_sort)
+ bottomSheetDialogSort.show()
+
+ }
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml
new file mode 100644
index 0000000..00b22aa
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_filter.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="#FF093A4C"
+ android:pathData="M11 18c-0.28 0-0.52-0.1-0.71-0.29C10.09 17.52 10 17.28 10 17c0-0.28 0.1-0.52 0.29-0.71C10.48 16.09 10.72 16 11 16h2c0.28 0 0.52 0.1 0.71 0.29C13.91 16.48 14 16.72 14 17c0 0.28-0.1 0.52-0.29 0.71C13.52 17.91 13.28 18 13 18h-2ZM4 8C3.72 8 3.48 7.9 3.29 7.71 3.09 7.52 3 7.28 3 7c0-0.28 0.1-0.52 0.29-0.71C3.48 6.09 3.72 6 4 6h16c0.28 0 0.52 0.1 0.71 0.29C20.91 6.48 21 6.72 21 7c0 0.28-0.1 0.52-0.29 0.71C20.52 7.91 20.28 8 20 8H4Zm3 5c-0.28 0-0.52-0.1-0.71-0.29C6.09 12.52 6 12.28 6 12c0-0.28 0.1-0.52 0.29-0.71C6.48 11.09 6.72 11 7 11h10c0.28 0 0.52 0.1 0.71 0.29C17.91 11.48 18 11.72 18 12c0 0.28-0.1 0.52-0.29 0.71C17.52 12.91 17.28 13 17 13H7Z"/>
+</vector> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml
new file mode 100644
index 0000000..4c0c8a5
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_find_on_map.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:strokeColor="#FF093A4C"
+ android:strokeWidth="2"
+ android:strokeLineCap="round"
+ android:strokeLineJoin="round"
+ android:pathData="M11 18l-2-1-6 3V7l6-3 6 3 6-3v10M9 4v13m6-10v5"/>
+ <path
+ android:strokeColor="#FF093A4C"
+ android:strokeWidth="2"
+ android:strokeLineCap="round"
+ android:strokeLineJoin="round"
+ android:pathData="M16.5 20c1.38 0 2.5-1.12 2.5-2.5S17.88 15 16.5 15 14 16.12 14 17.5s1.12 2.5 2.5 2.5Z"/>
+ <path
+ android:strokeColor="#FF093A4C"
+ android:strokeWidth="2"
+ android:strokeLineCap="round"
+ android:strokeLineJoin="round"
+ android:pathData="M18.5 19.5L21 22"/>
+</vector> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml
new file mode 100644
index 0000000..fe93f22
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/button_sort.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:strokeColor="#FF093A4C"
+ android:strokeWidth="1.5"
+ android:strokeLineCap="round"
+ android:strokeLineJoin="round"
+ android:pathData="M10 14H2m6-4H2m4-4H2m10 12H2m17 2V4m0 16l3-3m-3 3l-3-3m3-13l3 3m-3-3l-3 3"/>
+</vector> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml
new file mode 100644
index 0000000..249c654
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_filter.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <TextView
+ android:id="@+id/textView7"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:text="Filteri"
+ android:textSize="25sp"
+ android:textStyle="bold"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/textView8"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:text="@string/datum"
+ android:textSize="17sp"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView7" />
+
+ <EditText
+ android:id="@+id/dateFromBSF"
+ android:layout_width="140dp"
+ android:layout_height="48dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:ems="10"
+ android:inputType="date"
+ app:layout_constraintStart_toEndOf="@+id/textView9"
+ app:layout_constraintTop_toBottomOf="@+id/textView8"
+ tools:ignore="SpeakableTextPresentCheck" />
+
+ <TextView
+ android:id="@+id/textView9"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="20dp"
+ android:text="@string/od"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView8" />
+
+ <TextView
+ android:id="@+id/textView10"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:layout_marginEnd="8dp"
+ android:text="Do"
+ app:layout_constraintEnd_toStartOf="@+id/dateToBSF"
+ app:layout_constraintTop_toBottomOf="@+id/textView8" />
+
+ <EditText
+ android:id="@+id/dateToBSF"
+ android:layout_width="140dp"
+ android:layout_height="48dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ android:ems="10"
+ android:inputType="date"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView8"
+ tools:ignore="SpeakableTextPresentCheck" />
+
+ <TextView
+ android:id="@+id/textView11"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:text="Lokacija"
+ android:textSize="17sp"
+ android:textStyle="bold"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/divider2" />
+
+ <View
+ android:id="@+id/divider2"
+ android:layout_width="409dp"
+ android:layout_height="1dp"
+ android:background="?android:attr/listDivider"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/dateFromBSF" />
+
+ <EditText
+ android:id="@+id/locationBSF"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="24dp"
+ android:ems="10"
+ android:inputType="textPersonName"
+ app:layout_constraintEnd_toStartOf="@+id/imageView8"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView11"
+ tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" />
+
+ <ImageView
+ android:id="@+id/imageView8"
+ android:layout_width="50dp"
+ android:layout_height="40dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="16dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView11"
+ app:srcCompat="@drawable/button_find_on_map" />
+
+ <View
+ android:id="@+id/divider4"
+ android:layout_width="409dp"
+ android:layout_height="1dp"
+ android:background="?android:attr/listDivider"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/locationBSF" />
+
+ <Button
+ android:id="@+id/btnBSFFilter"
+ android:layout_width="169dp"
+ android:layout_height="39dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="24dp"
+ android:background="@drawable/rounded_cyan_button"
+ android:text="Primeni"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/divider4"
+ app:layout_constraintVertical_bias="1.0"
+ tools:ignore="TouchTargetSizeCheck" />
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml
new file mode 100644
index 0000000..fb06308
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/bottom_sheet_sort.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <RadioGroup
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/textView12">
+
+ <RadioButton
+ android:id="@+id/radioButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="12dp"
+ android:text="Najnovije"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+
+ <RadioButton
+ android:id="@+id/radioButton2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:text="Najbolje ocenjeno"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/radioButton4" />
+
+ <RadioButton
+ android:id="@+id/radioButton3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:text="Najstarije"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/radioButton" />
+
+ <RadioButton
+ android:id="@+id/radioButton4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+
+ android:text="NajviĆĄe pregleda"
+ app:layout_constraintTop_toBottomOf="@+id/radioButton3"
+ tools:layout_editor_absoluteX="16dp" />
+ </RadioGroup>
+
+ <TextView
+ android:id="@+id/textView12"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:text="Sortiraj po"
+ android:textSize="25sp"
+ android:textStyle="bold"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml
index 6e22456..89a7fa1 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml
@@ -52,10 +52,11 @@
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
+ android:layout_marginStart="16dp"
android:background="@color/white"
android:padding="@dimen/component_padding"
android:scaleType="centerCrop"
- android:src="@drawable/filter"
+ android:src="@drawable/button_filter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -63,12 +64,11 @@
android:id="@+id/btnSortDirection"
android:layout_width="50dp"
android:layout_height="50dp"
- android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@color/white"
android:padding="@dimen/component_padding"
android:scaleType="centerCrop"
- android:src="@drawable/sort"
+ android:src="@drawable/button_sort"
app:layout_constraintStart_toEndOf="@+id/btnSortType"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml b/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml
index fef04ac..b180869 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/values/strings.xml
@@ -6,6 +6,9 @@
<string name="title_activity_maps">MapsActivity</string>
<string name="dodaj_objavu">Dodaj objavu</string>
<string name="todo">TODO</string>
+ <string name="datum">Datum</string>
+
+ <string name="od">Od</string>
<!-- example lista tagova, make actual list for app -->