aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml13
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt83
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt41
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt34
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt33
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt71
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml39
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml128
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml27
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml5
11 files changed, 444 insertions, 35 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
index 870fa98..886666d 100644
--- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
+++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
@@ -3,6 +3,10 @@
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.CAMERA" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
@@ -16,7 +20,14 @@
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
- android:name=".ActivityAddPost"
+ android:name=".ActivitySinglePost"
+ android:exported="false">
+ <meta-data
+ android:name="android.app.lib_name"
+ android:value="" />
+ </activity>
+ <activity
+ android:name=".Activities.ActivityAddPost"
android:exported="false">
<meta-data
android:name="android.app.lib_name"
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
new file mode 100644
index 0000000..0ada26a
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt
@@ -0,0 +1,83 @@
+package com.example.brzodolokacije.Activities
+
+import android.Manifest
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.net.Uri
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import android.view.View
+import android.widget.Button
+import android.widget.ImageView
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
+import com.example.brzodolokacije.Models.PostImage
+import com.example.brzodolokacije.R
+import java.net.URI
+
+
+class ActivityAddPost : AppCompatActivity() {
+ private lateinit var uploadFromGallery: Button
+ private lateinit var takePhoto: Button
+ private lateinit var image:ImageView
+ private lateinit var uploadedImages:ArrayList<Uri>
+
+ var paths = mutableListOf<String>()
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_add_post)
+
+ uploadFromGallery=findViewById<View>(R.id.btnActivityAddPostUploadImages) as Button
+ takePhoto=findViewById<View>(R.id.btnActivityAddPosTakeImage) as Button
+ image=findViewById<View>(R.id.image) as ImageView
+
+ //dodavanje iz galerije
+ uploadFromGallery.setOnClickListener{
+
+ //provera da li je odobrena upotreba galerije
+ if(ContextCompat.checkSelfPermission(this@ActivityAddPost, Manifest.permission.READ_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){
+ ActivityCompat.requestPermissions(this@ActivityAddPost, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE),101)
+ }
+
+ //otvaranje galerije
+ val intent= Intent(Intent.ACTION_PICK)
+ intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
+ intent.action = Intent.ACTION_GET_CONTENT
+ intent.type="image/*"
+ startActivityForResult(Intent.createChooser(intent,"Izaberi fotografije"),100)
+ }
+
+ //fotografisanje
+ takePhoto.setOnClickListener {
+ //provera da li je odobrena upotreba kamere
+ if(ContextCompat.checkSelfPermission(this@ActivityAddPost, Manifest.permission.CAMERA)!=PackageManager.PERMISSION_GRANTED){
+ ActivityCompat.requestPermissions(this@ActivityAddPost, arrayOf(Manifest.permission.CAMERA),200)
+ }
+ }
+
+ }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ //nakon otvaranja
+ if(requestCode==100 && resultCode== RESULT_OK){
+ //samo jedna slika
+ //image.setImageURI(data?.data)
+
+ //veci broj slika
+ if (data!!.getClipData() != null) {
+ var count = data!!.clipData!!.itemCount
+
+ for (i in 0..count - 1) {
+ var _uri: Uri = data!!.clipData!!.getItemAt(i).uri
+ uploadedImages!!.add(_uri)
+ }
+ //jedna slika
+ } else if (data?.getData() != null) {
+ uploadedImages.add(data.data!!)
+ }
+ }
+ }
+
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt
new file mode 100644
index 0000000..137277f
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt
@@ -0,0 +1,41 @@
+package com.example.brzodolokacije.Activities
+
+import android.content.Context
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Adapters.PostImageAdapter
+import com.example.brzodolokacije.R
+import com.example.brzodolokacije.databinding.ActivitySinglePostBinding
+
+class ActivitySinglePost : AppCompatActivity() {
+ private lateinit var binding: ActivitySinglePostBinding
+ private var images : MutableList<java.io.File> = mutableListOf()
+ private var layoutManagerVar: RecyclerView.LayoutManager? = null
+ private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = null
+ private var recyclerView: RecyclerView?=null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_single_post)
+ //load data for the list
+ loadData()
+ //instantiate adapter and linearLayout
+ adapterVar= PostImageAdapter(images)
+ layoutManagerVar= LinearLayoutManager(this)
+ recyclerView = binding.rvMain
+ // set recyclerView attributes
+ recyclerView?.setHasFixedSize(true)
+ recyclerView?.layoutManager = layoutManagerVar
+ recyclerView?.adapter = adapterVar
+ }
+
+ private fun loadData() {
+ }
+
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt
new file mode 100644
index 0000000..b2eaa30
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt
@@ -0,0 +1,34 @@
+package com.example.brzodolokacije.Adapters
+
+import android.graphics.BitmapFactory
+import android.media.Image
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Models.Post
+import com.example.brzodolokacije.databinding.PostImageBinding
+import com.example.brzodolokacije.databinding.PostPreviewBinding
+
+class PostImageAdapter(val items : MutableList<java.io.File>)
+ : RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){
+ //constructer has one argument - list of objects that need to be displayed
+ //it is bound to xml of single item
+ private lateinit var binding: PostImageBinding
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+ val inflater = LayoutInflater.from(parent.context)
+ binding= PostImageBinding.inflate(inflater,parent,false)
+ return ViewHolder(binding)
+ }
+ override fun onBindViewHolder(holder: ViewHolder, position: Int){
+ //sets components of particular item
+ holder.bind(items[position])
+ }
+ override fun getItemCount() = items.size
+ inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){
+ fun bind(item : java.io.File){
+ binding.apply {
+ locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream()))
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
index c8a0b77..9da0014 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
@@ -1,34 +1,43 @@
package com.example.brzodolokacije.Adapters
+import android.app.Activity
+import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
+import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
-import com.example.brzodolokacije.Models.ListItemModel
-import com.example.brzodolokacije.Models.Post
-import com.example.brzodolokacije.databinding.ListItemBinding
+import com.example.brzodolokacije.Models.PostPreview
import com.example.brzodolokacije.databinding.PostPreviewBinding
-class ShowPostsAdapter (val items : MutableList<Post>)
- : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>(){
+class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPreview>)
+ : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>() {
//constructer has one argument - list of objects that need to be displayed
//it is bound to xml of single item
private lateinit var binding: PostPreviewBinding
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val inflater = LayoutInflater.from(parent.context)
- binding=PostPreviewBinding.inflate(inflater,parent,false)
+ binding = PostPreviewBinding.inflate(inflater, parent, false)
return ViewHolder(binding)
}
- override fun onBindViewHolder(holder: ViewHolder, position: Int){
+
+ override fun onBindViewHolder(holder: ViewHolder, position: Int) {
//sets components of particular item
holder.bind(items[position])
}
+
+
override fun getItemCount() = items.size
- inner class ViewHolder(itemView : PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root){
- fun bind(item : Post){
+ inner class ViewHolder(itemView: PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root) {
+ fun bind(item: PostPreview) {
binding.apply {
- tvTitle.text=item.location.name
- tvLocationParent.text=item.location.country
- tvLocationType.text=item.location.type.toString()
+ tvTitle.text = item.location.name
+ tvLocationParent.text = item.location.country
+ tvLocationType.text = item.location.type.toString()
+
+ itemView.isClickable = true
+ itemView.setOnClickListener {
+ Toast.makeText(activity,item._id,Toast.LENGTH_LONG).show()
+ }
}
}
}
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 6bc9d12..e9b4c08 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
@@ -1,26 +1,32 @@
package com.example.brzodolokacije.Fragments
+import android.content.Context
+import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Activities.NavigationActivity
import com.example.brzodolokacije.Adapters.SampleAdapter
import com.example.brzodolokacije.Adapters.ShowPostsAdapter
-import com.example.brzodolokacije.Models.ListItemModel
-import com.example.brzodolokacije.Models.Location
-import com.example.brzodolokacije.Models.LocationType
-import com.example.brzodolokacije.Models.Post
+import com.example.brzodolokacije.Models.*
import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
import com.example.brzodolokacije.databinding.FragmentHomeBinding
+import okhttp3.ResponseBody
+import retrofit2.Call
+import retrofit2.Response
class FragmentShowPosts : Fragment() {
private lateinit var binding: FragmentShowPosts
- private var posts : MutableList<Post> = mutableListOf()
+ private var posts : MutableList<PostPreview> = mutableListOf()
private var layoutManagerVar: RecyclerView.LayoutManager? = null
private var adapterVar: RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>? = null
private var recyclerView: RecyclerView?=null
@@ -30,28 +36,55 @@ class FragmentShowPosts : Fragment() {
//load data for the list
loadData()
//instantiate adapter and linearLayout
- adapterVar=ShowPostsAdapter(posts)
+ val postApi= RetrofitHelper.getInstance()
+ val token=SharedPreferencesHelper.getValue("jwt", requireActivity())
+ val request=postApi.getPosts("Bearer "+token)
+
+ request.enqueue(object : retrofit2.Callback<MutableList<PostPreview>?> {
+ override fun onResponse(call: Call<MutableList<PostPreview>?>, response: Response<MutableList<PostPreview>?>) {
+ if(response.isSuccessful){
+ //posts=response.body()!!
+ //recyclerView?.adapter=ShowPostsAdapter(requireActivity(),posts)
+ Toast.makeText(
+ activity, "prosao zahtev", Toast.LENGTH_LONG
+ ).show()
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(activity, response.errorBody()!!.string(), Toast.LENGTH_LONG).show();
+ }
+
+
+ }
+
+ override fun onFailure(call: Call<MutableList<PostPreview>?>, t: Throwable) {
+ Toast.makeText(
+ activity, t.toString(), Toast.LENGTH_LONG
+ ).show();
+ }
+ })
+
+ adapterVar=ShowPostsAdapter(requireActivity(),posts)
layoutManagerVar= LinearLayoutManager(activity)
}
private fun loadData() {
- posts.add(Post("123",
+ posts.add(PostPreview("123","asdasd",
Location("asd","Ajfelov toranj","Pariz",
- "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad",
- mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf()))
- posts.add(Post("123",
+ "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13,
+ 4.3f,mutableListOf(),mutableListOf()))
+ posts.add(PostPreview("123","asdasd",
Location("asd","Ajfelov toranj","Pariz",
- "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad",
- mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf()))
- posts.add(Post("123",
+ "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13,
+ 4.3f,mutableListOf(),mutableListOf()))
+ posts.add(PostPreview("123","asdasd",
Location("asd","Ajfelov toranj","Pariz",
- "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad",
- mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf()))
- posts.add(Post("123",
+ "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13,
+ 4.3f,mutableListOf(),mutableListOf()))
+ posts.add(PostPreview("123","asdasd",
Location("asd","Ajfelov toranj","Pariz",
- "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad",
- mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf()))
- }
+ "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13,
+ 4.3f,mutableListOf(),mutableListOf()))
+ }
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
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 0bbf72e..bcb6e13 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
@@ -4,9 +4,11 @@ import com.example.brzodolokacije.Models.Auth.JustMail
import com.example.brzodolokacije.Models.Auth.Login
import com.example.brzodolokacije.Models.Auth.Register
import com.example.brzodolokacije.Models.Auth.ResetPass
+import com.example.brzodolokacije.Models.PostPreview
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.http.Body
+import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.POST
@@ -21,7 +23,8 @@ interface IBackendApi {
fun forgotpass(@Body obj:JustMail):Call<ResponseBody>
@POST("/api/auth/resetpass")
fun resetpass(@Body obj:ResetPass):Call<ResponseBody>
-
+ @GET("/api/post")
+ fun getPosts(@Header("Authorization") authHeader:String):Call<MutableList<PostPreview>>
//@POST("putanja")
//fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call<Post>
} \ No newline at end of file
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
new file mode 100644
index 0000000..da38262
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml
@@ -0,0 +1,39 @@
+<?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="match_parent"
+ tools:context=".Activities.ActivityAddPost">
+
+ <ImageView
+ android:id="@+id/image"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:layout_weight="1"
+ app:layout_constraintBottom_toTopOf="@+id/btnActivityAddPostUploadImages"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <Button
+ android:id="@+id/btnActivityAddPostUploadImages"
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:layout_gravity="center"
+ android:layout_weight="0"
+ android:text="Importuj"
+ app:layout_constraintBottom_toTopOf="@+id/btnActivityAddPosTakeImage"
+ tools:layout_editor_absoluteX="-16dp" />
+
+ <Button
+ android:id="@+id/btnActivityAddPosTakeImage"
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:layout_gravity="center"
+ android:layout_weight="0"
+ android:text="Slikaj"
+ app:layout_constraintBottom_toBottomOf="parent"
+ tools:layout_editor_absoluteX="-16dp" />
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
new file mode 100644
index 0000000..5688acd
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ tools:context=".Activities.ActivitySinglePost">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rvMain"
+ android:layout_width="match_parent"
+ android:layout_height="443dp"
+ android:orientation="horizontal"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ </androidx.recyclerview.widget.RecyclerView>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/textView6"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Naslov" />
+
+ <TextView
+ android:id="@+id/textView7"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="11dp"
+ android:text="tip lokacije" />
+
+ <TextView
+ android:id="@+id/textView8"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Drzava, grad" />
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <LinearLayout
+ android:layout_width="213dp"
+ android:layout_height="27dp"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:id="@+id/imageView8"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:src="@android:drawable/btn_star_big_on" />
+
+ <ImageView
+ android:id="@+id/imageView9"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:src="@android:drawable/btn_star_big_on" />
+
+ <ImageView
+ android:id="@+id/imageView10"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:src="@android:drawable/btn_star_big_on" />
+
+ <ImageView
+ android:id="@+id/imageView11"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:src="@android:drawable/btn_star_big_on" />
+
+ <ImageView
+ android:id="@+id/imageView12"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:src="@android:drawable/btn_star_big_on" />
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/textView9"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="8dp"
+ android:text="4.2"
+ app:layout_constraintEnd_toStartOf="@+id/textView10"
+ tools:layout_editor_absoluteY="0dp" />
+
+ <TextView
+ android:id="@+id/textView10"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="(10,500)"
+ app:layout_constraintEnd_toEndOf="parent"
+ tools:layout_editor_absoluteY="0dp" />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:padding="10dp"
+ android:background="@drawable/rounded_picture_background"
+ android:elevation="5dp">
+
+ <TextView
+ android:id="@+id/textView11"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.048"
+ app:layout_constraintStart_toStartOf="parent"
+ tools:layout_editor_absoluteY="4dp" />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+ </LinearLayout>
+
+
+</LinearLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml
new file mode 100644
index 0000000..c2a999d
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="380dp"
+ android:layout_height="wrap_content"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_margin="10dp"
+ android:background="@drawable/rounded_picture_background"
+ android:clipToOutline="true"
+ android:clickable="true">
+
+ <ImageView
+ android:id="@+id/locationImage"
+ android:layout_width="match_parent"
+ android:layout_height="420dp"
+ android:outlineProvider="background"
+ android:scaleType="centerCrop"
+ android:src="@drawable/b1"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0" />
+
+
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
index ffdd5d7..7283931 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
@@ -9,11 +9,13 @@
android:clipToOutline="true"
>
+
<ImageView
android:id="@+id/locationImage"
android:layout_width="match_parent"
- android:layout_height="330dp"
+ android:layout_height="250dp"
android:outlineProvider="background"
+ android:scaleType="centerCrop"
android:src="@drawable/b1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -75,5 +77,4 @@
app:layout_constraintTop_toTopOf="@+id/vBanner"
app:layout_constraintVertical_bias="0.737" />
-
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file