aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
authorJelena Petrovic <jelenapetrovic.7119@gmail.com>2022-11-06 23:44:51 +0100
committerJelena Petrovic <jelenapetrovic.7119@gmail.com>2022-11-06 23:44:51 +0100
commit37f735cc805d63128263d417f8150e77b4b6272a (patch)
tree16fea12094b5c23b2cbd4b9b09a55270ded1d5e3 /Client
parent40066cc6ec4039517766906e8e31e98c298244e1 (diff)
omogucen prelaz na klik na stranu objave, prenose se podaci o objavi, ali se ne prikazuju jos #16
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/build.gradle4
-rw-r--r--Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml11
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt43
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt7
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt15
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt11
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml22
9 files changed, 87 insertions, 37 deletions
diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle
index f6faf0d..fa85692 100644
--- a/Client/BrzoDoLokacije/app/build.gradle
+++ b/Client/BrzoDoLokacije/app/build.gradle
@@ -1,6 +1,7 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
+ id 'org.jetbrains.kotlin.android.extensions'
}
android {
@@ -34,6 +35,9 @@ android {
buildFeatures {
viewBinding true
}
+ androidExtensions {
+ experimental = true
+ }
}
dependencies {
diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
index 886666d..0397ee4 100644
--- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
+++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
@@ -20,7 +20,7 @@
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
- android:name=".ActivitySinglePost"
+ android:name=".Activities.ActivitySinglePost"
android:exported="false">
<meta-data
android:name="android.app.lib_name"
@@ -49,7 +49,14 @@
<activity android:name=".Activities.ActivityForgottenPasswordVerify" />
<activity android:name=".Activities.ActivityForgottenPassword" />
<activity android:name=".Activities.ActivityLoginRegister" />
- <activity android:name=".Activities.NavigationActivity" />
+ <activity
+ android:name=".Activities.NavigationActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
<activity
android:name=".MainActivity"
android:exported="false">
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
index 137277f..be4a73d 100644
--- 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
@@ -1,30 +1,32 @@
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 android.os.Handler
+import android.os.Looper
+import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.RecyclerView
import com.example.brzodolokacije.Adapters.PostImageAdapter
+import com.example.brzodolokacije.Models.PostImage
+import com.example.brzodolokacije.Models.PostPreview
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 images : MutableList<PostImage> = mutableListOf()
private var layoutManagerVar: RecyclerView.LayoutManager? = null
private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = null
private var recyclerView: RecyclerView?=null
+ private lateinit var post:PostPreview
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ binding=ActivitySinglePostBinding.inflate(layoutInflater)
setContentView(R.layout.activity_single_post)
- //load data for the list
- loadData()
+ post= intent.extras?.getParcelable("selectedPost")!!
+ /*//load data for the list
+
//instantiate adapter and linearLayout
adapterVar= PostImageAdapter(images)
layoutManagerVar= LinearLayoutManager(this)
@@ -32,10 +34,27 @@ class ActivitySinglePost : AppCompatActivity() {
// set recyclerView attributes
recyclerView?.setHasFixedSize(true)
recyclerView?.layoutManager = layoutManagerVar
- recyclerView?.adapter = adapterVar
+ recyclerView?.adapter = adapterVar*/
+ loadTextComponents()
+ }
+
+ private fun loadImages(){
+
}
- private fun loadData() {
+ private fun loadTextComponents() {
+ binding.apply {
+ tvTitle.text= post.location.name
+ tvTitle.invalidate()
+ tvLocationType.text=post.location.type.name
+ tvLocationType.invalidate()
+ tvLocationParent.text=post.location.country
+ tvLocationParent.invalidate()
+ tvRating.text=post.ratings.toString()
+ tvRating.invalidate()
+ tvNumberOfRatings.text=post.ratings.toString()
+ tvNumberOfRatings.invalidate()
+ }
}
} \ 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
index b2eaa30..3d2bf46 100644
--- 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
@@ -6,10 +6,11 @@ import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.brzodolokacije.Models.Post
+import com.example.brzodolokacije.Models.PostImage
import com.example.brzodolokacije.databinding.PostImageBinding
import com.example.brzodolokacije.databinding.PostPreviewBinding
-class PostImageAdapter(val items : MutableList<java.io.File>)
+class PostImageAdapter(val items : MutableList<PostImage>)
: RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){
//constructer has one argument - list of objects that need to be displayed
//it is bound to xml of single item
@@ -25,9 +26,9 @@ class PostImageAdapter(val items : MutableList<java.io.File>)
}
override fun getItemCount() = items.size
inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){
- fun bind(item : java.io.File){
+ fun bind(item : PostImage){
binding.apply {
- locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream()))
+ //locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream()))
}
}
}
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 9da0014..8e6093e 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
@@ -2,10 +2,13 @@ package com.example.brzodolokacije.Adapters
import android.app.Activity
import android.content.Context
+import android.content.Intent
+import android.os.Bundle
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Activities.ActivitySinglePost
import com.example.brzodolokacije.Models.PostPreview
import com.example.brzodolokacije.databinding.PostPreviewBinding
@@ -23,6 +26,14 @@ class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPrevie
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
//sets components of particular item
holder.bind(items[position])
+ holder.itemView.setOnClickListener {
+ //Toast.makeText(activity,item._id,Toast.LENGTH_LONG).show()
+ val intent:Intent = Intent(activity,ActivitySinglePost::class.java)
+ var b=Bundle()
+ b.putParcelable("selectedPost", items[position])
+ intent.putExtras(b)
+ activity.startActivity(intent)
+ }
}
@@ -35,9 +46,7 @@ class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPrevie
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/Models/Location.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt
index 25125cd..04bf3a1 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt
@@ -1,7 +1,10 @@
package com.example.brzodolokacije.Models
+import android.os.Parcelable
import com.example.brzodolokacije.Models.LocationType
+import kotlinx.android.parcel.Parcelize
+@Parcelize
data class Location (
var _id:String,
var name:String,
@@ -11,4 +14,4 @@ data class Location (
var latitude:Double,
var longitude:Double,
var type:LocationType
- )
+ ): Parcelable
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt
index 2ac2619..f667fac 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt
@@ -1,5 +1,7 @@
package com.example.brzodolokacije.Models
+import android.os.Parcelable
+import kotlinx.android.parcel.Parcelize
import okhttp3.MultipartBody
import java.time.LocalDateTime
@@ -23,7 +25,8 @@ data class PostSend(
var images: List<MultipartBody.Part>
)
-data class PostPreview(
+@Parcelize
+data class PostPreview (
var _id:String,
var ownerId:String,
var location:Location,
@@ -32,16 +35,16 @@ data class PostPreview(
var ratings:Float,
var comments:List<Comment>,
var images:List<PostImage>
-)
-
+):Parcelable
+@Parcelize
data class Comment (
var userId:String,
var comment:String,
var parent:Comment,
var timeStamp: LocalDateTime
-)
+):Parcelable
data class Rating(
var useridval :String,
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt
index d024272..93326b3 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt
@@ -1,6 +1,10 @@
package com.example.brzodolokacije.Models
+import android.os.Parcelable
+import kotlinx.android.parcel.Parcelize
+
+@Parcelize
data class PostImage (
var _id:String,
var path:String
- ) \ No newline at end of file
+ ): Parcelable \ 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
index 5688acd..d323d0c 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
@@ -23,20 +23,20 @@
android:orientation="vertical">
<TextView
- android:id="@+id/textView6"
+ android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Naslov" />
<TextView
- android:id="@+id/textView7"
+ android:id="@+id/tvLocationType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:text="tip lokacije" />
<TextView
- android:id="@+id/textView8"
+ android:id="@+id/tvLocationParent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Drzava, grad" />
@@ -51,35 +51,35 @@
android:orientation="horizontal">
<ImageView
- android:id="@+id/imageView8"
+ android:id="@+id/star1"
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:id="@+id/star2"
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:id="@+id/star3"
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:id="@+id/star4"
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:id="@+id/star5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
@@ -87,7 +87,7 @@
</LinearLayout>
<TextView
- android:id="@+id/textView9"
+ android:id="@+id/tvRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
@@ -96,7 +96,7 @@
tools:layout_editor_absoluteY="0dp" />
<TextView
- android:id="@+id/textView10"
+ android:id="@+id/tvNumberOfRatings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(10,500)"
@@ -113,7 +113,7 @@
android:elevation="5dp">
<TextView
- android:id="@+id/textView11"
+ android:id="@+id/tvDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"