aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-28 11:23:53 +0100
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-28 11:23:53 +0100
commitd945204fba909a2dfeb25cae2d320ab6e62eaf51 (patch)
tree7189f150b60cbb96c6b83f72d260d7a3ba120ad3 /Client
parentec9fac41c863a0b6c7d83452521f8ce0ead14c30 (diff)
Promenjen zahtev za pretragu lokacije na backendu. Omogucena pretraga lokacija na clientu, prikazuje se naziv lokacije.
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt42
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt3
2 files changed, 39 insertions, 6 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt
index d8c874c..46cc5fe 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt
@@ -22,8 +22,11 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.widget.addTextChangedListener
+import com.example.brzodolokacije.Models.PostPreview
import com.example.brzodolokacije.R
import com.example.brzodolokacije.Services.GeocoderHelper
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
import com.google.android.gms.location.*
import com.google.android.material.button.MaterialButton
import com.google.android.material.floatingactionbutton.FloatingActionButton
@@ -41,6 +44,8 @@ import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider
import org.osmdroid.views.overlay.gestures.RotationGestureOverlay
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider
import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay
+import retrofit2.Call
+import retrofit2.Response
import java.util.*
import kotlin.collections.ArrayList
@@ -59,6 +64,8 @@ class MapsActivity : AppCompatActivity() {
var client: FusedLocationProviderClient? = null
var locLongitude:Double?=null
var locLatitude:Double?=null
+ var selectedLocation:com.example.brzodolokacije.Models.Location?=null
+ var responseLocations:MutableList<com.example.brzodolokacije.Models.Location>?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_maps)
@@ -114,8 +121,6 @@ class MapsActivity : AppCompatActivity() {
fun setUpSpinner() {
arraySpinner=mutableListOf<String>()
- arraySpinner!!.add("test")
-
spinnerAdapter= ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1, arraySpinner!!)
@@ -128,11 +133,36 @@ class MapsActivity : AppCompatActivity() {
}
- var test=1
fun onTextEnter(){
- test++
- spinnerAdapter!!.add("test"+test)
- spinnerAdapter!!.notifyDataSetChanged()
+ var api=RetrofitHelper.getInstance()
+ var jwtString= SharedPreferencesHelper.getValue("jwt",this)
+ var text=searchBar.text
+ if(text==null ||text.toString().trim()=="")
+ return
+ var data=api.searchLocationsQuery("Bearer "+jwtString,text.toString())
+ data.enqueue(object : retrofit2.Callback<MutableList<com.example.brzodolokacije.Models.Location>> {
+ override fun onResponse(call: Call<MutableList<com.example.brzodolokacije.Models.Location>?>, response: Response<MutableList<com.example.brzodolokacije.Models.Location>>) {
+ if(response.isSuccessful){
+ var existingLocation=responseLocations
+ responseLocations=response.body()!!
+ var tempList=mutableListOf<String>()
+ if(existingLocation!=null && existingLocation.size>0)
+ for(loc in existingLocation!!){
+ spinnerAdapter!!.remove(loc.name)
+ }
+ for(loc in responseLocations!!){
+ spinnerAdapter!!.add(loc.name)
+ }
+ spinnerAdapter!!.notifyDataSetChanged()
+ }
+ }
+
+ override fun onFailure(call: Call<MutableList<com.example.brzodolokacije.Models.Location>>, t: Throwable) {
+
+ }
+ })
+
+
}
fun returnValue(){
val intent = intent
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
index e4bfbc8..8556047 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
@@ -92,4 +92,7 @@ interface IBackendApi {
@GET("/api/Post/posts/get10Newest")
fun get10Newest(@Header("Authorization") authHeader:String):Call<MutableList<PostPreview>>
+ @GET("api/Location/search")
+ fun searchLocationsQuery(@Header("Authorization") authHeader:String,@Query("query") query: String):Call<MutableList<Location>>
+
} \ No newline at end of file