diff options
Diffstat (limited to 'Client')
3 files changed, 43 insertions, 12 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt index b9e4fd7..d5712cc 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt @@ -17,16 +17,15 @@ import com.example.brzodolokacije.Models.Location import com.example.brzodolokacije.Models.LocationType 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 okhttp3.MediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody import retrofit2.Call import retrofit2.Response import java.io.File -import java.io.IOException class ActivityAddPost : AppCompatActivity() { @@ -42,6 +41,11 @@ class ActivityAddPost : AppCompatActivity() { private lateinit var locationString:String private lateinit var descriptionString:String private lateinit var post:Button + private lateinit var addLocation:Button + val incorectCoord:Double=1000.0 + val LOCATIONREQCODE=123 + var longitude:Double=incorectCoord + var latitude:Double=incorectCoord //private var paths :ArrayList<String?>?=null private var place=0; override fun onCreate(savedInstanceState: Bundle?) { @@ -61,6 +65,7 @@ class ActivityAddPost : AppCompatActivity() { location=findViewById<View>(R.id.etActivityAddPostLocation) as EditText description=findViewById<View>(R.id.etActivityAddPostDescription) as EditText post=findViewById<View>(R.id.btnActivityAddPostPost) as Button + addLocation=findViewById<View>(R.id.btnActivityAddPostAddLocation) as Button switcher?.setFactory{ @@ -68,6 +73,10 @@ class ActivityAddPost : AppCompatActivity() { imgView.scaleType = ImageView.ScaleType.CENTER_CROP imgView.setPadding(8, 8, 8, 8) imgView} + addLocation.setOnClickListener { + val myIntent = Intent(this, MapsActivity::class.java) + startActivityForResult(myIntent,LOCATIONREQCODE) + } //dodavanje iz galerije uploadFromGallery.setOnClickListener{ @@ -116,7 +125,7 @@ class ActivityAddPost : AppCompatActivity() { descriptionString=description.text.toString().trim() //prazan unos? if(locationString.isEmpty()) { - location.hint="Unesite lokaciju" + location.hint="Unesite naziv lokaciju" location.setHintTextColor(Color.RED) } if(descriptionString.isEmpty()) { @@ -124,7 +133,7 @@ class ActivityAddPost : AppCompatActivity() { description.setHintTextColor(Color.RED) } - if(!locationString.isEmpty() && !descriptionString.isEmpty()){ + if(!locationString.isEmpty() && !descriptionString.isEmpty() && longitude!=incorectCoord && latitude!=incorectCoord){ sendPost() } } @@ -162,14 +171,26 @@ class ActivityAddPost : AppCompatActivity() { uploadFromGallery.isVisible=false } } + if(requestCode==LOCATIONREQCODE && resultCode== RESULT_OK){ + var bundle=data!!.extras + longitude=bundle!!.getDouble("longitude",incorectCoord) + latitude=bundle!!.getDouble("latitude",incorectCoord) + } } private fun sendPost(){ uploadLocation() } fun uploadLocation() { + //TO DO SEARCH EXISTING LOCATION FROM DB + //IF NOT EXISTS ADD NEW LOCATION val api =RetrofitHelper.getInstance() - var loc:Location=Location("",locationString,"","","",0.0,0.0,LocationType.GRAD) + var geocoder=GeocoderHelper.getInstance() + var loc1=geocoder!!.getFromLocation(latitude,longitude,1) + var countryName=loc1[0].countryName + var address="todo not possible in query" + var city=loc1[0].adminArea//not possible + var loc:Location=Location("",locationString,city,countryName,address,latitude,longitude,LocationType.GRAD) var jwtString= SharedPreferencesHelper.getValue("jwt",this) var data=api.addLocation("Bearer "+jwtString,loc) @@ -177,12 +198,11 @@ class ActivityAddPost : AppCompatActivity() { data.enqueue(object : retrofit2.Callback<Location?> { override fun onResponse(call: Call<Location?>, response: Response<Location?>) { if(response.isSuccessful()){ + + uploadPost(response.body()!!._id) Toast.makeText( applicationContext, "USPEH", Toast.LENGTH_LONG ).show(); - uploadPost(response.body()!!._id) - Log.d("MAIN","RADI") - Log.d("MAIN","RADI") }else { @@ -190,7 +210,6 @@ class ActivityAddPost : AppCompatActivity() { Log.d("Main",response.errorBody()!!.string()) Log.d("Main",response.message()) } - Log.d("Main","sadadsa") Log.d("Main",response.errorBody()!!.string()) Log.d("Main",response.message()) } 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 e8b9ceb..b9e3b08 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 @@ -78,7 +78,7 @@ class MapsActivity : AppCompatActivity() { } confirmButton.setOnClickListener{ if(locLatitude!=null && locLatitude!=null) - returnValue() + returnValue() } searchBar.setOnKeyListener(View.OnKeyListener { v1, keyCode, event -> // If the event is a key-down event on the "enter" button if (event.action === KeyEvent.ACTION_DOWN && diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml index a7a6e06..6c9b40f 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml @@ -73,7 +73,7 @@ <EditText android:id="@+id/etActivityAddPostLocation" - android:layout_width="match_parent" + android:layout_width="200dp" android:layout_height="50dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" @@ -81,9 +81,21 @@ android:hint="Reykjavik, Iceland" android:inputType="textEmailAddress" app:layout_constraintBottom_toTopOf="@+id/tvActivityAddPostDescriptiontext" - app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> + <Button + android:id="@+id/btnActivityAddPostAddLocation" + android:layout_width="wrap_content" + android:layout_height="50dp" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:background="@drawable/rounded_cyan_button" + android:backgroundTint="#1C789A" + android:text="Dodaj lokaciju" + app:layout_constraintBottom_toTopOf="@+id/tvActivityAddPostDescriptiontext" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/etActivityAddPostLocation" /> + <TextView android:id="@+id/tvActivityAddPostDescriptiontext" android:layout_width="match_parent" |