aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml4
-rw-r--r--Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml8
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangeUserData.kt127
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt72
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt12
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt2
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt59
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt103
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt31
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt39
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt60
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt4
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml28
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_logout_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_account_circle_24.xml6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_change_circle_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_edit_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_share_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_stats_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_check_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_favorite_border_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml5
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_user_data.xml206
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml416
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml182
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_my_profile_info.xml65
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml267
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_comments.xml74
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_description.xml187
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/values/styles.xml22
35 files changed, 1515 insertions, 518 deletions
diff --git a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml
index 41db9a0..0d90ad1 100644
--- a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml
+++ b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml
@@ -12,6 +12,10 @@
</deviceKey>
</Target>
</targetSelectedWithDropDown>
+<<<<<<< HEAD
<timeTargetWasSelectedWithDropDown value="2022-12-05T15:17:54.592850800Z" />
+=======
+ <timeTargetWasSelectedWithDropDown value="2022-12-06T03:10:09.596363200Z" />
+>>>>>>> 8e563f959c168a9778658c5fa2a2b143730d44fa
</component>
</project> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
index 6e29823..a059c5b 100644
--- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
+++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
@@ -38,6 +38,14 @@
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
+ android:name=".Activities.ActivityChangeUserData"
+ android:exported="false"
+ android:screenOrientation="portrait">
+ <meta-data
+ android:name="android.app.lib_name"
+ android:value="" />
+ </activity>
+ <activity
android:name=".Activities.ActivityShowFollowersAndFollowing"
android:exported="false"
android:screenOrientation="portrait">
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangeUserData.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangeUserData.kt
new file mode 100644
index 0000000..3dee6ac
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangeUserData.kt
@@ -0,0 +1,127 @@
+package com.example.brzodolokacije.Activities
+
+import android.graphics.Color
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import android.util.Log
+import android.widget.EditText
+import android.widget.ImageView
+import android.widget.TextView
+import android.widget.Toast
+import androidx.core.view.isGone
+import androidx.core.view.isVisible
+import com.example.brzodolokacije.Models.UserReceive
+import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
+
+class ActivityChangeUserData : AppCompatActivity() {
+ private lateinit var username:EditText
+ private lateinit var name:EditText
+ private lateinit var editName:ImageView
+ private lateinit var editUsername:ImageView
+ private lateinit var confirmName:ImageView
+ private lateinit var confirmUsername:ImageView
+ private lateinit var errorName:TextView
+ private lateinit var errorUsername:TextView
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_change_user_data)
+
+ username=findViewById(R.id.tvActivityChangeUserDataUsername)
+ name=findViewById(R.id.tvActivityChangeUserDataName)
+ editName=findViewById(R.id.btnActivityChangeUserDataName)
+ editUsername=findViewById(R.id.btnActivityChangeUserDataUsername)
+ confirmName=findViewById(R.id.btnActivityChangeUserDataNameConfirm)
+ confirmUsername=findViewById(R.id.btnActivityChangeUserDataUsernameConfirm)
+ errorName=findViewById(R.id.btnActivityChangeUserDataNameError)
+ errorUsername=findViewById(R.id.btnActivityChangeUserDataUsernameError)
+
+ editUsername.isClickable=true
+ editUsername.isVisible=true
+ editUsername.isEnabled=true
+ editUsername.isGone=false
+ confirmUsername.isClickable=false
+ confirmUsername.isVisible=false
+ confirmUsername.isEnabled=false
+ confirmUsername.isGone=true
+
+ getUser()
+
+ editUsername.setOnClickListener{
+ username.setText("")
+ editUsername.isClickable=false
+ editUsername.isVisible=false
+ editUsername.isEnabled=false
+ editUsername.isGone=true
+ confirmUsername.isClickable=true
+ confirmUsername.isVisible=true
+ confirmUsername.isEnabled=true
+ confirmUsername.isGone=false
+
+ //dodati on change listener
+ confirmUsername.setOnClickListener {
+ val api = RetrofitHelper.getInstance()
+ val token = SharedPreferencesHelper.getValue("jwt", this@ActivityChangeUserData)
+ var data = api.changeMyUsername("Bearer " + token,username.toString().trim());
+ data.enqueue(object : Callback<Int> {
+ override fun onResponse(
+ call: Call<Int>,
+ response: Response<Int>
+ ) {
+ var res=response.body()!!
+ Log.d("res",res.toString())
+ if(res==-1){
+ errorUsername.setText("Izaberite drugo korisničko ime")
+ errorUsername.setTextColor(Color.RED)
+ }
+ else if(res==-2){
+ errorUsername.setText("Nije moguće promeniti korisničko ime")
+ errorUsername.setTextColor(Color.RED)
+ }
+ else if(res==1){
+ errorUsername.setText("Korisničko ime je promenjeno")
+ errorUsername.setTextColor(Color.GREEN)
+ confirmUsername.isClickable=false
+ confirmUsername.isVisible=false
+ editUsername.isClickable=true
+ editUsername.isVisible=true
+ }
+ }
+
+ override fun onFailure(call: Call<Int>, t: Throwable) {
+ Log.d("changeUsername","failllllllllllllllllllllll")
+
+ }
+ })
+
+ }
+
+ }
+
+
+ }
+
+ fun getUser(){
+ val api = RetrofitHelper.getInstance()
+ val token = SharedPreferencesHelper.getValue("jwt", this@ActivityChangeUserData)
+ var data = api.selfProfile("Bearer " + token);
+ data.enqueue(object : Callback<UserReceive> {
+ override fun onResponse(
+ call: Call<UserReceive>,
+ response: Response<UserReceive>
+ ) {
+ var user=response.body()!!
+ username.setText(user.username)
+ name.setText(user.name)
+ }
+
+ override fun onFailure(call: Call<UserReceive>, t: Throwable) {}
+ })
+
+ }
+} \ 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
index c9ed2f7..2483e7e 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
@@ -7,13 +7,22 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.preference.PreferenceManager
import android.util.Log
+
+import android.view.ViewGroup
+import android.view.ViewGroup.LayoutParams
+import android.widget.Button
+
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
+
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
+import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
+import androidx.core.view.isGone
+import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.auth0.android.jwt.JWT
@@ -26,6 +35,7 @@ import com.example.brzodolokacije.Services.SharedPreferencesHelper
import com.example.brzodolokacije.databinding.ActivitySinglePostBinding
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.gson.Gson
+import kotlinx.android.synthetic.main.activity_single_post.view.*
import org.osmdroid.config.Configuration
import org.osmdroid.tileprovider.tilesource.TileSourceFactory
import org.osmdroid.util.GeoPoint
@@ -49,17 +59,38 @@ class ActivitySinglePost : AppCompatActivity() {
private var starNumber:Number=0
private lateinit var userData:UserReceive
private lateinit var user:TextView
+ private lateinit var linearLayout2:ConstraintLayout
+ private lateinit var btnChangeHeightUp:ImageView
+ private lateinit var btnChangeHeightDown:ImageView
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding=ActivitySinglePostBinding.inflate(layoutInflater)
setContentView(binding.root)
post= intent.extras?.getParcelable("selectedPost")!!
+ btnChangeHeightUp=findViewById(R.id.activitySinglePostChangeHeightUp)
+ btnChangeHeightDown=findViewById(R.id.activitySinglePostChangeHeightDown)
+
+ btnChangeHeightDown.isVisible=false
+ btnChangeHeightDown.isGone=true
+ btnChangeHeightDown.isClickable=false
+ btnChangeHeightUp.isVisible=true
+ btnChangeHeightUp.isGone=false
+ btnChangeHeightUp.isClickable=true
+
+ linearLayout2=findViewById(R.id.linearLayout2)
+
+ linearLayout2.setOnClickListener {
+ linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;
+ }
+
//instantiate adapter and linearLayout
adapterImages= PostImageAdapter(this@ActivitySinglePost, post.images as MutableList<PostImage>)
layoutManagerImages= LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
recyclerViewImages = binding.rvMain
+ /*
buildRecyclerViewComments()
requestGetComments()
favouriteImage=binding.ivFavourite
@@ -73,7 +104,7 @@ class ActivitySinglePost : AppCompatActivity() {
loadFavourite()
val alreadyrated= RatingReceive(starNumber.toInt(),post._id)
requestAddRating(alreadyrated)
-
+ */
binding.tvUser.setOnClickListener {
val intent: Intent = Intent(this@ActivitySinglePost,ActivityUserProfile::class.java)
var b= Bundle()
@@ -84,6 +115,31 @@ class ActivitySinglePost : AppCompatActivity() {
getMap()
}
+
+
+ btnChangeHeightUp.setOnClickListener {
+ btnChangeHeightUp.isVisible=false
+ btnChangeHeightUp.isGone=true
+ btnChangeHeightUp.isClickable=false
+ btnChangeHeightDown.isVisible=true
+ btnChangeHeightDown.isGone=false
+ btnChangeHeightDown.isClickable=true
+ linearLayout2.setMinHeight(0);
+ linearLayout2.setMinimumHeight(0);
+ linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;
+ }
+ btnChangeHeightDown.setOnClickListener {
+ btnChangeHeightDown.isVisible=false
+ btnChangeHeightDown.isGone=true
+ btnChangeHeightDown.isClickable=false
+ btnChangeHeightUp.isVisible=true
+ btnChangeHeightUp.isGone=false
+ btnChangeHeightUp.isClickable=true
+ linearLayout2.setMinHeight(0);
+ linearLayout2.setMinimumHeight(0);
+ linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.WRAP_CONTENT;
+ }
+
favouriteImage!!.setOnClickListener{
addRemoveFavourite()
}
@@ -120,16 +176,17 @@ class ActivitySinglePost : AppCompatActivity() {
}
})
+
}
fun getMap(){
- val mapDialogue = BottomSheetDialog(this@ActivitySinglePost, android.R.style.Theme_Black_NoTitleBar)
+ /*val mapDialogue = BottomSheetDialog(this@ActivitySinglePost, android.R.style.Theme_Black_NoTitleBar)
mapDialogue.getWindow()?.setBackgroundDrawable(ColorDrawable(Color.argb(100, 0, 0, 0)))
mapDialogue.setContentView(R.layout.map_dialogue)
mapDialogue.setCancelable(true)
- mapDialogue.setCanceledOnTouchOutside(true)
+ mapDialogue.setCanceledOnTouchOutside(true)*/
var map: MapView? = null
Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this));
- map=mapDialogue.findViewById(R.id.MapDialogueMapView)
+ map=findViewById(R.id.MapDialogueMapView)
//findViewById(R.id.MapDialogueMapView) as MapView
map!!.setTileSource(TileSourceFactory.MAPNIK);
map!!.setBuiltInZoomControls(true);
@@ -145,11 +202,10 @@ class ActivitySinglePost : AppCompatActivity() {
startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_CENTER)
map!!.getOverlays().add(startMarker)
map!!.controller.setCenter(LocMarker)
- mapDialogue.show()
-
- }
+ }
+/*
fun buildRecyclerViewComments(){
recyclerViewComments=binding.rvComments
adapterComments=CommentsAdapter(comments as MutableList<CommentSend>,this@ActivitySinglePost)
@@ -424,4 +480,6 @@ class ActivitySinglePost : AppCompatActivity() {
binding.tvCommentCount.text=(Integer.parseInt(binding.tvCommentCount.text.toString())+1).toString()
binding.tvCommentCount.invalidate()
}
+
+ */
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt
index 180b59d..23cbca6 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt
@@ -18,19 +18,20 @@ class NavigationActivity : AppCompatActivity() {
//lateinit var openAddPost:Button
//lateinit var capturePost:Button
-
+ public lateinit var bottomNav:BottomNavigationView
+ public lateinit var searchQuery:String
+ public lateinit var searchId:String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_navigation)
- Toast.makeText(
- applicationContext, "Open ", Toast.LENGTH_LONG
- ).show();
+ searchQuery=""
+ searchId=""
val fragmentHomePage=FragmentHomePage()
val fragmentShowPosts=FragmentShowPosts()
val browseFragment=FragmentBrowse()
val addPostFragment= FragmentAddNew()
val profileFragment=FragmentProfile()
- val bottomNav=findViewById<View>(R.id.bottomNavigationView) as BottomNavigationView
+ bottomNav=findViewById<View>(R.id.bottomNavigationView) as BottomNavigationView
setCurrentFragment(fragmentHomePage)
bottomNav.setOnNavigationItemSelectedListener {
when(it.itemId){
@@ -46,6 +47,7 @@ class NavigationActivity : AppCompatActivity() {
}
+
}
private fun setCurrentFragment(fragment: Fragment)=
supportFragmentManager.beginTransaction().apply {
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt
index 731566f..8f737a3 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt
@@ -143,7 +143,7 @@ class CommentsAdapter (val items : MutableList<CommentSend>,val activity: Activi
var adapter:CommentsAdapter=rv.adapter as CommentsAdapter
adapter.items.add(0,newComment)
rv.adapter=adapter
- (activity as ActivitySinglePost).addedComment()
+ //(activity as ActivitySinglePost).addedComment()
}
private fun requestProfilePic(item:CommentSend){
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt
new file mode 100644
index 0000000..f2b11ab
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt
@@ -0,0 +1,59 @@
+package com.example.brzodolokacije
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [FragmentSinglePostComments.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class FragmentSinglePostComments : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_single_post_comments, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment FragmentSinglePostComments.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ FragmentSinglePostComments().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt
index cb48d3e..a26aaba 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt
@@ -2,27 +2,31 @@ package com.example.brzodolokacije.Fragments
import android.content.Intent
import android.os.Bundle
+import android.util.Log
+import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.Button
-import android.widget.ImageButton
-import android.widget.ImageView
-import android.widget.ScrollView
-import android.widget.Toast
+import android.widget.*
import androidx.core.view.isVisible
+import androidx.core.widget.addTextChangedListener
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.brzodolokacije.Activities.ChatActivity
+import com.example.brzodolokacije.Activities.NavigationActivity
import com.example.brzodolokacije.Adapters.ShowPostsHomePageAdapter
import com.example.brzodolokacije.Interfaces.IBackendApi
+import com.example.brzodolokacije.Models.Location
import com.example.brzodolokacije.Models.LocationType
import com.example.brzodolokacije.Models.PostPreview
+import com.example.brzodolokacije.Models.SearchParams
import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.Services.RetrofitHelper.baseUrl
import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import com.google.android.material.button.MaterialButton
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
@@ -34,6 +38,9 @@ class FragmentHomePage : Fragment() {
private lateinit var btnChat:ImageView
private lateinit var btnBack:ImageView
+ private lateinit var searchBar:AutoCompleteTextView
+ private lateinit var searchButton: MaterialButton
+ var responseLocations:MutableList<com.example.brzodolokacije.Models.Location>?=null
/* override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -47,8 +54,10 @@ class FragmentHomePage : Fragment() {
var view:View= inflater.inflate(R.layout.fragment_home_page, container, false)
btnBack=view.findViewById(R.id.btnFragmentHomePageBack)
btnChat=view.findViewById(R.id.ivFragmentHomePageChat)
+ searchBar=view.findViewById(R.id.etFragmentHomePageSearch)
+ searchButton=view.findViewById(R.id.mbFragmentHomePageSearchButton)
setBtnBackInvisible()
-
+ setUpSpinner()
var fm: FragmentTransaction =childFragmentManager.beginTransaction()
fm.replace(R.id.flFragmentHomePageMainContent, FragmentHomePageMainScroll())
fm.commit()
@@ -62,9 +71,36 @@ class FragmentHomePage : Fragment() {
val intent: Intent = Intent(activity, ChatActivity::class.java)
requireActivity().startActivity(intent)
}
+ searchButton.setOnClickListener{
+ searchText()
+ }
+ searchBar.addTextChangedListener{
+ onTextEnter()
+ }
+ 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 &&
+ keyCode == KeyEvent.KEYCODE_ENTER
+ ) {
+ // Perform action on key press
+ searchText()
+ return@OnKeyListener true
+ }
+ false
+ })
return view
}
+
+
+ fun searchText(){
+ if(searchBar.text==null || searchBar.text.toString().trim()=="")
+ return
+
+ var act=requireActivity() as NavigationActivity
+ act.searchQuery=searchBar.text.toString()
+ act.searchId=""
+ act.bottomNav.selectedItemId=R.id.navAllPosts
+ }
fun changeScrollVIewToLocationView(){
var fm: FragmentTransaction =childFragmentManager.beginTransaction()
fm.replace(R.id.flFragmentHomePageMainContent, FragmentShowPostsByLocation())
@@ -81,4 +117,59 @@ class FragmentHomePage : Fragment() {
fun setBtnBackVisible(){
btnBack.isVisible=true
}
+ fun onTextEnter(){
+ var api= RetrofitHelper.getInstance()
+ var jwtString= SharedPreferencesHelper.getValue("jwt",requireActivity())
+ var text=searchBar.text
+ Log.d("test",text.toString())
+ 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<Location>?>, response: Response<MutableList<Location>>) {
+ if(response.isSuccessful){
+ var existingLocation=responseLocations
+ responseLocations=response.body()!!
+ 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<Location>>, t: Throwable) {
+
+ }
+ })
+
+
+ }
+ var arraySpinner :MutableList<String>?=null
+ var spinnerAdapter: ArrayAdapter<String>?=null
+
+ fun setUpSpinner() {
+ arraySpinner=mutableListOf<String>()
+ spinnerAdapter= ArrayAdapter<String>(
+ requireContext(),
+ android.R.layout.simple_list_item_1, arraySpinner!!)
+ searchBar.threshold=1
+ searchBar.setAdapter(spinnerAdapter)
+ searchBar.setOnItemClickListener(AdapterView.OnItemClickListener { parent, view, position, id ->
+ val selected = parent.getItemAtPosition(position) as String
+ var selectedLocation = responseLocations!!.find { location -> location.name == selected }
+
+ var act=requireActivity() as NavigationActivity
+ act.searchQuery=selectedLocation!!.name
+ act.searchId=selectedLocation!!._id
+ act.bottomNav.selectedItemId=R.id.navAllPosts
+
+
+ })
+
+
+ }
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt
index 46904d4..82c78a1 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt
@@ -239,9 +239,6 @@ private lateinit var change:Button
// Toast.makeText(
// activity, "get all mv ", Toast.LENGTH_LONG
// ).show();
- Toast.makeText(
- activity," get popular all", Toast.LENGTH_LONG
- ).show();
val api = RetrofitHelper.getInstance()
val token= SharedPreferencesHelper.getValue("jwt", requireActivity())
val data=api.get10MostViewed("Bearer "+token)
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
index 9cce17f..d6e345b 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
@@ -6,36 +6,19 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
+import androidx.core.content.ContextCompat.startActivity
import androidx.fragment.app.Fragment
import com.exam.DBHelper
+import com.example.brzodolokacije.Activities.ActivityChangeUserData
+import com.example.brzodolokacije.Activities.ActivityForgottenPassword
import com.example.brzodolokacije.Activities.ActivityLoginRegister
import com.example.brzodolokacije.R
import com.example.brzodolokacije.Services.SharedPreferencesHelper
-// TODO: Rename parameter arguments, choose names that match
-// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
-private const val ARG_PARAM1 = "param1"
-private const val ARG_PARAM2 = "param2"
-/**
- * A simple [Fragment] subclass.
- * Use the [FragmentMyProfileInfo.newInstance] factory method to
- * create an instance of this fragment.
- */
class FragmentMyProfileInfo : Fragment() {
private lateinit var logout:Button
- // TODO: Rename and change types of parameters
- private var param1: String? = null
- private var param2: String? = null
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- arguments?.let {
- param1 = it.getString(ARG_PARAM1)
- param2 = it.getString(ARG_PARAM2)
- }
-
- }
+ private lateinit var changeAccount:Button
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -45,9 +28,15 @@ class FragmentMyProfileInfo : Fragment() {
var view=inflater.inflate(R.layout.fragment_my_profile_info, container, false)
logout=view.findViewById<View>(R.id.buttonLogOut) as Button
+ changeAccount=view.findViewById(R.id.changeAccountData)
+
logout.setOnClickListener{
logOut()
+ }
+ changeAccount.setOnClickListener {
+ val intent = Intent (getActivity(), ActivityChangeUserData::class.java)
+ getActivity()?.startActivity(intent)
}
return view
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 714f994..76fa4e0 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
@@ -19,6 +19,7 @@ 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.Activities.NavigationActivity
import com.example.brzodolokacije.Adapters.ShowPostsAdapter
import com.example.brzodolokacije.Models.Location
import com.example.brzodolokacije.Models.SearchParams
@@ -51,7 +52,7 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
private var swipeRefreshLayout:SwipeRefreshLayout?=null
private lateinit var searchButton: MaterialButton
private lateinit var searchPostsViewModel:SearchPostsViewModel
- private var searchParams:SearchParams?= SearchParams("6385b79d7e1a2c93575e1ef1",1,1)
+ private var searchParams:SearchParams?= SearchParams("Kragujevac",1,1)
private lateinit var btnFilter:ImageButton
private lateinit var btnSort:ImageButton
private lateinit var searchBar: AutoCompleteTextView
@@ -62,14 +63,19 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
super.onCreate(savedInstanceState)
setUpViewModel()
binding=FragmentShowPostsBinding.inflate(layoutInflater)
-
//instantiate adapter and linearLayout
adapterVar=ShowPostsAdapter(requireActivity())
linearManagerVar= LinearLayoutManager(activity)
gridManagerVar=GridLayoutManager(activity,2)
}
fun searchText(){
- Log.d("MAIN","TODO")
+ if(searchBar.text==null || searchBar.text.toString().trim()=="")
+ return
+ var act=requireActivity() as NavigationActivity
+ act.searchQuery=searchBar.text.toString()
+ act.searchId=""
+ searchParams=SearchParams(searchBar.text.toString(),1,1)
+ requestToBack(searchParams!!)
}
fun onTextEnter(){
var api=RetrofitHelper.getInstance()
@@ -115,6 +121,9 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
searchBar.setOnItemClickListener(AdapterView.OnItemClickListener { parent, view, position, id ->
val selected = parent.getItemAtPosition(position) as String
selectedLocation = responseLocations!!.find { location -> location.name == selected }
+ var act=requireActivity() as NavigationActivity
+ act.searchQuery=selectedLocation!!.name
+ act.searchId=selectedLocation!!._id
searchParams=SearchParams(selectedLocation!!._id,1,1)//to do sort type
requestToBack(searchParams!!)
@@ -211,12 +220,36 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
}
false
})
+ refreshSearch()
+
return rootView
}
override fun onRefresh() {
requestToBack(searchParams!!)
+ refreshSearch()
+ }
+ override fun onResume() {
+ super.onResume()
+ refreshSearch()
+
+ }
+ private fun refreshSearch(){
+ var act=requireActivity() as NavigationActivity
+ Log.d("TEST","USAO")
+ if(act.searchId!=null && act.searchId.trim()!="")
+ {
+ searchBar.setText(act.searchQuery,TextView.BufferType.EDITABLE)
+ searchParams= SearchParams(act.searchId,1,1)
+ requestToBack(searchParams!!)
+ }else
+ if(act.searchQuery!=null && act.searchQuery.trim()!="")
+ {
+ searchBar.setText(act.searchQuery,TextView.BufferType.EDITABLE)
+ searchParams= SearchParams(act.searchQuery,1,1)
+ requestToBack(searchParams!!)
+ }
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt
new file mode 100644
index 0000000..1a7e7da
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt
@@ -0,0 +1,60 @@
+package com.example.brzodolokacije.Fragments
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.example.brzodolokacije.R
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [FragmentSinglePostDescription.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class FragmentSinglePostDescription : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_single_post_description, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment FragmentSinglePostDescription.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ FragmentSinglePostDescription().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+} \ No newline at end of file
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 60f243d..39527f2 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
@@ -112,4 +112,7 @@ interface IBackendApi {
@GET("/api/Post/favourite/{id}")
fun addRemoveFavourite(@Header("Authorization") authHeader:String,@Path("id") id:String):Call <Boolean>
+ @GET("/api/user/{newUsername}/changeMyUsername")
+ fun changeMyUsername(@Header("Authorization") authHeader:String,@Path("newUsername") newUsername:String):Call<Int>
+
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt
index 43c2109..88685e4 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt
@@ -7,8 +7,8 @@ import retrofit2.converter.gson.GsonConverterFactory
object RetrofitHelper {
- val baseUrl="http://10.0.2.2:5279"
- //val baseUrl="http://147.91.204.115:10082"
+ //val baseUrl="http://10.0.2.2:5279"
+ val baseUrl="http://147.91.204.115:10082"
private var retrofit_noauth: IBackendApi? = null
private var retrofit_auth: IBackendApi? = null
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml
new file mode 100644
index 0000000..0d73580
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml
@@ -0,0 +1,28 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="324dp"
+ android:height="43dp"
+ android:viewportWidth="324"
+ android:viewportHeight="43">
+ <group>
+ <path
+ android:pathData="M0 0H324V43H0z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:type="linear"
+ android:startX="162"
+ android:startY="0"
+ android:endX="162"
+ android:endY="43">
+ <item
+ android:color="#1A192124"
+ android:offset="0.2"/>
+
+ <item
+ android:color="#FA192124"
+ android:offset="1"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ </group>
+</vector> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_logout_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_logout_24.xml
new file mode 100644
index 0000000..ac81ab8
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_logout_24.xml
@@ -0,0 +1,5 @@
+<vector android:autoMirrored="true" android:height="24dp"
+ android:tint="#747474" android:viewportHeight="24"
+ android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M17,7l-1.41,1.41L18.17,11H8v2h10.17l-2.58,2.58L17,17l5,-5zM4,5h8V3H4c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h8v-2H4V5z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_account_circle_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_account_circle_24.xml
new file mode 100644
index 0000000..b5e6c8c
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_account_circle_24.xml
@@ -0,0 +1,6 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM7.35,18.5C8.66,17.56 10.26,17 12,17s3.34,0.56 4.65,1.5C15.34,19.44 13.74,20 12,20S8.66,19.44 7.35,18.5zM18.14,17.12L18.14,17.12C16.45,15.8 14.32,15 12,15s-4.45,0.8 -6.14,2.12l0,0C4.7,15.73 4,13.95 4,12c0,-4.42 3.58,-8 8,-8s8,3.58 8,8C20,13.95 19.3,15.73 18.14,17.12z"/>
+ <path android:fillColor="@android:color/white" android:pathData="M12,6c-1.93,0 -3.5,1.57 -3.5,3.5S10.07,13 12,13s3.5,-1.57 3.5,-3.5S13.93,6 12,6zM12,11c-0.83,0 -1.5,-0.67 -1.5,-1.5S11.17,8 12,8s1.5,0.67 1.5,1.5S12.83,11 12,11z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_change_circle_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_change_circle_24.xml
new file mode 100644
index 0000000..1a36910
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_change_circle_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8s8,3.59 8,8S16.41,20 12,20zM16.17,14.76l-1.1,-1.1c0.71,-1.33 0.53,-3.01 -0.59,-4.13C13.79,8.84 12.9,8.5 12,8.5c-0.03,0 -0.06,0.01 -0.09,0.01L13,9.6l-1.06,1.06L9.11,7.83L11.94,5L13,6.06l-0.96,0.96c1.27,0.01 2.53,0.48 3.5,1.44C17.24,10.17 17.45,12.82 16.17,14.76zM14.89,16.17L12.06,19L11,17.94l0.95,-0.95c-1.26,-0.01 -2.52,-0.5 -3.48,-1.46c-1.71,-1.71 -1.92,-4.35 -0.64,-6.29l1.1,1.1c-0.71,1.33 -0.53,3.01 0.59,4.13c0.7,0.7 1.63,1.04 2.56,1.01L11,14.4l1.06,-1.06L14.89,16.17z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_edit_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_edit_24.xml
new file mode 100644
index 0000000..05e90d7
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_edit_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M14.06,9.02l0.92,0.92L5.92,19L5,19v-0.92l9.06,-9.06M17.66,3c-0.25,0 -0.51,0.1 -0.7,0.29l-1.83,1.83 3.75,3.75 1.83,-1.83c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.2,-0.2 -0.45,-0.29 -0.71,-0.29zM14.06,6.19L3,17.25L3,21h3.75L17.81,9.94l-3.75,-3.75z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_share_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_share_24.xml
new file mode 100644
index 0000000..e95b628
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_share_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92c0,-1.61 -1.31,-2.92 -2.92,-2.92zM18,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM6,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM18,20.02c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_stats_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_stats_24.xml
new file mode 100644
index 0000000..05eb65f
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_outline_stats_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M19.88,18.47c0.44,-0.7 0.7,-1.51 0.7,-2.39c0,-2.49 -2.01,-4.5 -4.5,-4.5s-4.5,2.01 -4.5,4.5s2.01,4.5 4.49,4.5c0.88,0 1.7,-0.26 2.39,-0.7L21.58,23L23,21.58L19.88,18.47zM16.08,18.58c-1.38,0 -2.5,-1.12 -2.5,-2.5c0,-1.38 1.12,-2.5 2.5,-2.5s2.5,1.12 2.5,2.5C18.58,17.46 17.46,18.58 16.08,18.58zM15.72,10.08c-0.74,0.02 -1.45,0.18 -2.1,0.45l-0.55,-0.83l-3.8,6.18l-3.01,-3.52l-3.63,5.81L1,17l5,-8l3,3.5L13,6C13,6 15.72,10.08 15.72,10.08zM18.31,10.58c-0.64,-0.28 -1.33,-0.45 -2.05,-0.49c0,0 5.12,-8.09 5.12,-8.09L23,3.18L18.31,10.58z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_check_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_check_24.xml
new file mode 100644
index 0000000..a8e2c6e
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_check_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M9,16.17L5.53,12.7c-0.39,-0.39 -1.02,-0.39 -1.41,0 -0.39,0.39 -0.39,1.02 0,1.41l4.18,4.18c0.39,0.39 1.02,0.39 1.41,0L20.29,7.71c0.39,-0.39 0.39,-1.02 0,-1.41 -0.39,-0.39 -1.02,-0.39 -1.41,0L9,16.17z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_favorite_border_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_favorite_border_24.xml
new file mode 100644
index 0000000..0444f34
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_favorite_border_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M19.66,3.99c-2.64,-1.8 -5.9,-0.96 -7.66,1.1 -1.76,-2.06 -5.02,-2.91 -7.66,-1.1 -1.4,0.96 -2.28,2.58 -2.34,4.29 -0.14,3.88 3.3,6.99 8.55,11.76l0.1,0.09c0.76,0.69 1.93,0.69 2.69,-0.01l0.11,-0.1c5.25,-4.76 8.68,-7.87 8.55,-11.75 -0.06,-1.7 -0.94,-3.32 -2.34,-4.28zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml
new file mode 100644
index 0000000..ee6e4de
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="30dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="30dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M8.12,9.29L12,13.17l3.88,-3.88c0.39,-0.39 1.02,-0.39 1.41,0 0.39,0.39 0.39,1.02 0,1.41l-4.59,4.59c-0.39,0.39 -1.02,0.39 -1.41,0L6.7,10.7c-0.39,-0.39 -0.39,-1.02 0,-1.41 0.39,-0.38 1.03,-0.39 1.42,0z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml
new file mode 100644
index 0000000..0d6676b
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="30dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="30dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M8.12,14.71L12,10.83l3.88,3.88c0.39,0.39 1.02,0.39 1.41,0 0.39,-0.39 0.39,-1.02 0,-1.41L12.7,8.71c-0.39,-0.39 -1.02,-0.39 -1.41,0L6.7,13.3c-0.39,0.39 -0.39,1.02 0,1.41 0.39,0.38 1.03,0.39 1.42,0z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml
new file mode 100644
index 0000000..e97ab0a
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#747474"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="@android:color/white" android:pathData="M19.65,9.04l-4.84,-0.42 -1.89,-4.45c-0.34,-0.81 -1.5,-0.81 -1.84,0L9.19,8.63l-4.83,0.41c-0.88,0.07 -1.24,1.17 -0.57,1.75l3.67,3.18 -1.1,4.72c-0.2,0.86 0.73,1.54 1.49,1.08l4.15,-2.5 4.15,2.51c0.76,0.46 1.69,-0.22 1.49,-1.08l-1.1,-4.73 3.67,-3.18c0.67,-0.58 0.32,-1.68 -0.56,-1.75zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/>
+</vector>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_user_data.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_user_data.xml
new file mode 100644
index 0000000..39362b7
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_user_data.xml
@@ -0,0 +1,206 @@
+<?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"
+ android:padding="16dp"
+ tools:context=".Activities.ActivityChangeUserData">
+
+ <ImageView
+ android:id="@+id/btnActivityShowFollowersAndFollowingBackToUser"
+ android:layout_width="35dp"
+ android:layout_height="35dp"
+ android:clickable="true"
+ android:src="@drawable/ic_baseline_arrow_back"
+ android:textAllCaps="false"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
+
+ <TextView
+ android:id="@+id/tvActivityUserProfileName"
+ style="@style/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_column="1"
+ android:layout_gravity="center"
+ android:layout_marginTop="2dp"
+
+ android:text="Izmeni profil"
+ app:layout_constraintStart_toEndOf="@+id/btnActivityShowFollowersAndFollowingBackToUser"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <androidx.cardview.widget.CardView
+ android:id="@+id/cvFragmentHomePageProfile"
+ android:layout_width="130dp"
+ android:layout_height="130dp"
+ android:layout_gravity="center"
+ android:layout_marginTop="24dp"
+ android:elevation="10dp"
+ app:cardCornerRadius="250dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvActivityUserProfileName">
+
+ <ImageView
+
+ android:id="@+id/tvActivityProfileProfilePicture"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:elevation="10dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_baseline_person_24"
+ tools:ignore="ContentDescription" />
+
+
+ </androidx.cardview.widget.CardView>
+
+ <androidx.cardview.widget.CardView
+ android:id="@+id/ChangeProfileEditImage"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:layout_gravity="center"
+ android:layout_marginTop="90dp"
+ android:elevation="5dp"
+ app:cardCornerRadius="250dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/cvFragmentHomePageProfile"
+ app:layout_constraintTop_toTopOf="@+id/cvFragmentHomePageProfile">
+
+ <ImageView
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:layout_gravity="bottom|right"
+ android:background="@color/white"
+ android:elevation="20dp"
+ android:src="@drawable/ic_outline_edit_24" />
+ </androidx.cardview.widget.CardView>
+
+ <TextView
+ android:id="@+id/changeDataName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="60dp"
+ android:layout_marginEnd="337dp"
+ android:text="Ime"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/cvFragmentHomePageProfile" />
+
+ <EditText
+ android:id="@+id/tvActivityChangeUserDataName"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:inputType="textPersonName"
+ android:text="Name"
+ app:layout_constraintEnd_toStartOf="@+id/btnActivityChangeUserDataName"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataName" />
+
+ <TextView
+ android:id="@+id/changeDataUsername"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="40dp"
+ android:layout_marginEnd="333dp"
+ android:text="Korisničko ime"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvActivityChangeUserDataName" />
+
+ <EditText
+ android:id="@+id/tvActivityChangeUserDataUsername"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:ems="10"
+ android:inputType="textPersonName"
+ android:text="Name"
+ app:layout_constraintEnd_toStartOf="@+id/btnActivityChangeUserDataUsername"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataUsername" />
+
+ <Button
+ android:id="@+id/button"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="140dp"
+ android:text="Izmeni lozinku"
+ app:shapeAppearanceOverlay="@style/Circular"
+
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvActivityChangeUserDataUsername" />
+
+ <Button
+ android:id="@+id/button2"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ app:shapeAppearanceOverlay="@style/Circular"
+
+ android:text="Sačuvaj izmene"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/button" />
+
+ <ImageView
+ android:clickable="true"
+ android:id="@+id/btnActivityChangeUserDataName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:layout_marginEnd="4dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataName"
+ app:srcCompat="@drawable/ic_outline_edit_24" />
+ <ImageView
+ android:id="@+id/btnActivityChangeUserDataNameConfirm"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:layout_marginEnd="4dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataName"
+ app:srcCompat="@drawable/ic_round_check_24" />
+
+ <ImageView
+ android:clickable="true"
+ android:id="@+id/btnActivityChangeUserDataUsername"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:layout_marginEnd="4dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataUsername"
+ app:srcCompat="@drawable/ic_outline_edit_24" />
+ <ImageView
+ android:id="@+id/btnActivityChangeUserDataUsernameConfirm"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:layout_marginEnd="4dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/changeDataUsername"
+ app:srcCompat="@drawable/ic_round_check_24" />
+
+ <TextView
+ android:id="@+id/btnActivityChangeUserDataNameError"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="TextView"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvActivityChangeUserDataName" />
+
+ <TextView
+ android:id="@+id/btnActivityChangeUserDataUsernameError"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="TextView"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvActivityChangeUserDataUsername" />
+
+</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
index 3824f69..744a2a2 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
@@ -1,322 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
-
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
+ xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="@dimen/component_padding"
- xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Activities.ActivitySinglePost">
- <androidx.core.widget.NestedScrollView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:fillViewport="true">
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <androidx.recyclerview.widget.RecyclerView
+
+ <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvMain"
android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_margin="0dp"
android:paddingBottom="@dimen/component_padding"
- android:layout_height="400dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
- </androidx.recyclerview.widget.RecyclerView>
-
-
-
-<androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:layout_constraintTop_toBottomOf="@id/rvMain"
- tools:layout_editor_absoluteX="0dp">
-
- <TextView
- android:id="@+id/tvLocationParent"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|start"
- android:padding="@dimen/text_padding"
- android:text="Drzava, grad"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvLocationType" />
-
- <TextView
- android:id="@+id/tvTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|start"
- android:padding="@dimen/text_padding"
- android:text="Naslov"
- android:textSize="@dimen/header1_size"
- android:textStyle="bold"
- app:layout_constraintStart_toStartOf="parent" />
-
- <TextView
- android:id="@+id/tvLocationType"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|start"
- android:padding="@dimen/text_padding"
- android:text="Tip lokacije"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
-
- <TextView
- android:id="@+id/tvUser"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="true"
- android:gravity="top|start"
- android:padding="@dimen/text_padding"
- android:text="User"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvLocationParent" />
-
- <ImageView
- android:id="@+id/ivFavourite"
- android:layout_width="40dp"
- android:layout_height="40dp"
- android:layout_marginBottom="17dp"
- android:layout_marginRight="30dp"
- android:layout_marginTop="30dp"
- android:clickable="true"
- android:src="@drawable/ic_baseline_favorite_border_24"
- app:layout_constraintBottom_toTopOf="@+id/tvLocationType"
+ app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="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
- android:id="@+id/constraintLayout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="36dp"
+ android:id="@+id/linearLayout2"
+ android:layout_width="408dp"
+ android:layout_height="723dp"
+ android:layout_marginBottom="8dp"
+ android:background="@drawable/view_top_corner_radius"
+ android:elevation="30dp"
+ android:padding="16dp"
+ app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvLocationParent">
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent">
- <LinearLayout
- android:id="@+id/linearLayout"
+
+ <TextView
+ android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal"
+ android:layout_marginTop="24dp"
+ android:gravity="top|start"
+ android:padding="@dimen/text_padding"
+ android:text="Naslov"
+ style="@style/title"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <ImageView
- 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" />
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageView
- 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/imageView12"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ android:src="@drawable/ic_baseline_location_on_24"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
- <ImageView
- 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" />
+ <TextView
+ android:id="@+id/tvLocationParent"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="top|start"
+ android:padding="@dimen/text_padding"
+ android:text="Drzava, grad"
+ app:layout_constraintStart_toEndOf="@+id/imageView12"
+ app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
- <ImageView
- 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" />
+ <TextView
+ android:id="@+id/tvLocationType"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="16dp"
+ android:gravity="top|start"
+ android:padding="@dimen/text_padding"
+ android:text="Tip lokacije"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
- <ImageView
- android:id="@+id/star5"
- 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/tvUser"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:clickable="true"
+ android:gravity="top|start"
+ android:padding="@dimen/text_padding"
+ android:text="User"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvLocationType" />
<TextView
android:id="@+id/tvRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
+ android:layout_marginEnd="4dp"
android:padding="@dimen/text_padding"
android:text="4.2"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tvNumberOfRatings"
- tools:layout_editor_absoluteY="4dp" />
+ app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvNumberOfRatings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
android:padding="@dimen/text_padding"
android:text="(10,500)"
app:layout_constraintEnd_toEndOf="parent"
- tools:layout_editor_absoluteY="4dp" />
-
- <androidx.constraintlayout.widget.ConstraintLayout
- android:id="@+id/constraintLayout3"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/rounded_picture_background"
- android:elevation="5dp"
- android:padding="@dimen/component_padding"
- app:layout_constraintTop_toBottomOf="@+id/linearLayout"
- tools:layout_editor_absoluteX="0dp">
-
- <TextView
- android:id="@+id/tvDescriptionLabel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="top|start"
- android:padding="@dimen/text_padding"
- android:text="Opis"
- android:textStyle="bold" />
-
- <TextView
- android:id="@+id/tvDescription"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"
- app:layout_constraintTop_toBottomOf="@+id/tvDescriptionLabel" />
-
- </androidx.constraintlayout.widget.ConstraintLayout>
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <ImageView
+ android:id="@+id/activitySinglePostChangeHeightUp"
+ android:layout_width="100dp"
+ android:layout_height="30dp"
+ android:clickable="true"
+ android:src="@drawable/ic_round_keyboard_arrow_up_24"
+ android:text="Button"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <ImageView
+ android:id="@+id/activitySinglePostChangeHeightDown"
+ android:layout_width="100dp"
+ android:layout_height="30dp"
+ android:clickable="true"
+ android:src="@drawable/ic_round_keyboard_arrow_down_24"
+ android:text="Button"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <LinearLayout
- android:id="@+id/linearLayout2"
+ <org.osmdroid.views.MapView
+ android:id="@+id/MapDialogueMapView"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="horizontal"
- android:paddingVertical="@dimen/component_padding"
- app:layout_constraintTop_toBottomOf="@id/constraintLayout3">
-
- <ImageButton
- android:id="@+id/rateStar1"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:scaleType="centerCrop"
- android:src="@drawable/empty_star" />
-
- <ImageButton
- android:id="@+id/rateStar2"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:scaleType="centerCrop"
- android:src="@drawable/empty_star" />
-
- <ImageButton
- android:id="@+id/rateStar3"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:scaleType="centerCrop"
- android:src="@drawable/empty_star" />
-
- <ImageButton
- android:id="@+id/rateStar4"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:scaleType="centerCrop"
- android:src="@drawable/empty_star" />
-
- <ImageButton
- android:id="@+id/rateStar5"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:scaleType="centerCrop"
- android:src="@drawable/empty_star" />
-
- <Button
- android:id="@+id/submitRating"
- android:layout_width="30dp"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:backgroundTint="@color/white"
- android:text="ok"
- android:textColor="@color/black" />
- </LinearLayout>
+ android:layout_height="150dp"
+ android:layout_marginTop="8dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvUser" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:layout_constraintTop_toBottomOf="@id/linearLayout2">
+ android:layout_height="400dp"
+ android:layout_marginTop="8dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/MapDialogueMapView">
- <LinearLayout
- android:id="@+id/postCommentLayout"
- android:layout_width="match_parent"
+ <Button
+ android:id="@+id/btnActivitySinglePostDescription"
+ android:layout_width="150dp"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- app:layout_constraintStart_toStartOf="parent">
-
- <EditText
- android:id="@+id/NewComment"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:hint="Unesite komentar ovde" />
-
- <ImageButton
- android:id="@+id/btnPostComment"
- android:layout_width="50dp"
- android:layout_height="50dp"
- android:backgroundTint="@color/white"
- android:scaleType="fitCenter"
- android:src="@drawable/post_comment" />
- </LinearLayout>
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:backgroundTint="#FFFFFF"
+ android:stateListAnimator="@null"
+ android:text="opis"
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintBottom_toTopOf="@+id/flFragmentProfileFragmentContainer"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
- <TextView
- android:id="@+id/tvCommentLabel"
- android:layout_width="wrap_content"
+ <Button
+ android:id="@+id/btnActivitySinglePostComments"
+ android:layout_width="150dp"
android:layout_height="wrap_content"
- android:padding="@dimen/text_padding"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginBottom="8dp"
+ android:backgroundTint="#FFFFFF"
+ android:stateListAnimator="@null"
android:text="Komentari"
- android:textStyle="bold"
- app:layout_constraintTop_toBottomOf="@id/postCommentLayout" />
-
- <TextView
- android:id="@+id/tvCommentCount"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:padding="@dimen/text_padding"
- android:text="0"
- app:layout_constraintStart_toEndOf="@id/tvCommentLabel"
- app:layout_constraintTop_toBottomOf="@id/postCommentLayout" />
-
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/rvComments"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:nestedScrollingEnabled="false"
- app:layout_constraintTop_toBottomOf="@id/tvCommentLabel">
-
- </androidx.recyclerview.widget.RecyclerView>
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintBottom_toTopOf="@+id/flFragmentProfileFragmentContainer"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <FrameLayout
+ android:id="@+id/flFragmentProfileFragmentContainer"
+ android:layout_width="409dp"
+ android:layout_height="330dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/btnActivitySinglePostComments"
+ app:layout_constraintVertical_bias="1.0"></FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.core.widget.NestedScrollView>
-</androidx.constraintlayout.widget.ConstraintLayout>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml
index cbcafc5..5c0ceb8 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml
@@ -12,10 +12,10 @@
android:layout_height="match_parent">
<ImageView
-
+ android:scaleType="centerCrop"
android:id="@+id/imageView3"
android:layout_width="match_parent"
- android:layout_height="250dp"
+ android:layout_height="180dp"
android:foreground="@drawable/b3"
android:foregroundGravity="center_vertical|center|center_horizontal|fill"
android:src="@drawable/b3"
@@ -28,15 +28,15 @@
android:id="@+id/tvFragmentProfileInfoContainer"
android:layout_width="0dp"
- android:layout_height="240dp"
+ android:layout_height="199dp"
android:layout_marginStart="20dp"
- android:layout_marginTop="120dp"
+ android:layout_marginTop="90dp"
android:layout_marginEnd="20dp"
android:adjustViewBounds="true"
- android:background="@drawable/profile_view_background"
-
+ android:background="#E8FFFFFF"
android:elevation="1dp"
android:scaleType="fitEnd"
+
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
@@ -46,10 +46,10 @@
<androidx.cardview.widget.CardView
android:id="@+id/cvFragmentHomePageProfile"
- android:layout_width="130dp"
- android:layout_height="130dp"
+ android:layout_width="120dp"
+ android:layout_height="120dp"
android:layout_gravity="center"
- android:layout_marginTop="60dp"
+ android:layout_marginTop="24dp"
android:elevation="10dp"
app:cardCornerRadius="250dp"
app:layout_constraintEnd_toEndOf="parent"
@@ -74,55 +74,54 @@
android:background="?android:attr/listDivider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/btnActivityUserProfileShowPosts" />
+ app:layout_constraintTop_toBottomOf="@+id/buttons" />
+
+ <LinearLayout
+ android:id="@+id/buttons"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:weightSum="3"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer">
<Button
+ android:layout_weight="1"
android:id="@+id/btnActivityUserProfileShowPosts"
- android:layout_width="wrap_content"
+ android:layout_width="120dp"
android:layout_height="wrap_content"
- android:layout_marginStart="20dp"
- android:layout_marginTop="4dp"
android:backgroundTint="#FFFFFF"
android:stateListAnimator="@null"
android:text="Objave"
-
android:textColor="@color/cardview_dark_background"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+ />
<Button
+ android:layout_weight="1"
android:id="@+id/btnFragmentUserProfileShowData"
- android:layout_width="wrap_content"
+ android:layout_width="110dp"
android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:layout_marginEnd="20dp"
android:backgroundTint="#FFFFFF"
android:stateListAnimator="@null"
- android:text="Podaci"
-
+ android:text="Nalog"
android:textColor="@color/cardview_dark_background"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toEndOf="@+id/btnFragmentUserProfileShowRecensions"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+ />
<Button
android:id="@+id/btnFragmentUserProfileShowRecensions"
- android:layout_width="wrap_content"
+ android:layout_width="120dp"
android:layout_height="wrap_content"
- android:layout_marginStart="36dp"
- android:layout_marginTop="4dp"
android:backgroundTint="#FFFFFF"
android:stateListAnimator="@null"
android:text="Recenzije"
android:textColor="@color/cardview_dark_background"
- app:layout_constraintStart_toEndOf="@+id/btnActivityUserProfileShowPosts"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
-
+ />
+ </LinearLayout>
<FrameLayout
+ android:layout_weight="1"
android:id="@+id/flActivityProfileFragmentContainer"
- android:layout_width="409dp"
- android:layout_height="319dp"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
@@ -132,135 +131,156 @@
<TableLayout
- android:layout_width="363dp"
-
- android:layout_height="wrap_content"
- android:layout_marginStart="30dp"
- android:layout_marginTop="5dp"
- android:layout_marginEnd="30dp"
- android:layout_marginBottom="8dp"
+ android:layout_width="350dp"
+ android:layout_height="140dp"
+ android:layout_marginStart="35dp"
+ android:layout_marginEnd="35dp"
android:elevation="1dp"
android:numColumns="3"
-
- android:stretchColumns="1"
app:layout_constraintBottom_toBottomOf="@+id/tvFragmentProfileInfoContainer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/cvFragmentHomePageProfile"
- app:layout_constraintVertical_bias="0.35000002">
+ app:layout_constraintTop_toTopOf="@+id/tvFragmentProfileInfoContainer"
+ app:layout_constraintVertical_bias="0.88">
<TableRow
- android:layout_width="match_parent"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_column="1">
+ android:layout_column="1"
+ >
<TextView
android:id="@+id/tvActivityUserProfileName"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:layout_column="1"
android:layout_gravity="center"
android:text="Petar Petrović"
- android:textStyle="bold"
- android:textSize="23sp" />
+ android:textSize="23sp"
+ android:textStyle="bold" />
</TableRow>
- <TableRow android:layout_marginTop="20dp">
-
+ <TableRow
+ android:gravity="center"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginTop="5dp">
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:weightSum="3"
+ >
<TextView
android:id="@+id/tvFragmentUserProfilePosts"
- android:layout_width="105dp"
+ android:layout_weight="1"
+ android:backgroundTint="@color/white"
android:gravity="center"
- android:text="OBJAVE"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
android:stateListAnimator="@null"
- android:backgroundTint="@color/white"
- android:textColor="#757471"/>
+ android:text="OBJAVE"
+
+ android:textColor="#757471" />
<Button
android:id="@+id/tvActivityUserProfileFollowers"
android:layout_width="110dp"
- android:layout_height="28dp"
+ android:layout_height="27dp"
android:layout_margin="0dp"
android:backgroundTint="@color/white"
android:clickable="true"
+ android:layout_weight="1"
android:gravity="center"
android:padding="0dp"
android:stateListAnimator="@null"
android:text="PRATIOCI"
android:textColor="#757471"
-
+ android:textSize="14sp"
tools:ignore="TouchTargetSizeCheck" />
<Button
+ android:textSize="14sp"
android:id="@+id/tvActivityUserProfileFollow"
android:layout_width="110dp"
- android:layout_height="28dp"
+ android:layout_height="27dp"
android:layout_margin="0dp"
android:backgroundTint="@color/white"
android:clickable="true"
+ android:layout_weight="1"
android:gravity="center"
android:padding="0dp"
android:stateListAnimator="@null"
android:text="PRAĆENJA"
android:textColor="#757471"
tools:ignore="TouchTargetSizeCheck" />
+ </LinearLayout>
+
</TableRow>
<TableRow
- android:layout_height="wrap_content"
- >
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_gravity="center"
+ android:layout_height="wrap_content">
+ <LinearLayout>
<TextView
android:id="@+id/tvActivityUserProfilePostsNo"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="156"
+
android:textSize="20dp"
android:textStyle="bold" />
<TextView
- android:id="@+id/tvActivityUserProfileFollowersNo"
android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:id="@+id/tvActivityUserProfileFollowersNo"
android:gravity="center"
android:text="50"
android:textSize="20dp"
- android:textStyle="bold"/>
+ android:textStyle="bold" />
<TextView
android:id="@+id/tvActivityUserProfileFollowNo"
android:layout_width="110dp"
+ android:layout_height="wrap_content"
android:gravity="center"
android:text="40"
android:textSize="20dp"
- android:textStyle="bold"/>
-
+ android:textStyle="bold" />
+ </LinearLayout>
</TableRow>
- <TableRow
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <androidx.constraintlayout.widget.ConstraintLayout android:layout_span="3">
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginEnd="10dp"
+ android:layout_gravity="center">
<Button
android:id="@+id/btnActivityUserProfileFollow"
android:layout_width="280dp"
- android:layout_height="30dp"
- android:layout_marginStart="16dp"
+ android:layout_height="35dp"
+ android:backgroundTint="@color/button_main"
android:clickable="true"
android:drawableLeft="@drawable/ic_outline_person_add_alt_24"
android:insetTop="0dp"
android:insetBottom="0dp"
- android:backgroundTint="@color/button_main"
android:text="PRATI"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.13"
+ app:layout_constraintVertical_bias="0.0"
app:shapeAppearanceOverlay="@style/Circular"
tools:ignore="TouchTargetSizeCheck" />
@@ -268,29 +288,26 @@
android:id="@+id/btnActivityUserProfileUnFollow"
android:layout_width="280dp"
- android:layout_height="30dp"
- android:layout_marginStart="16dp"
+ android:layout_height="35dp"
+ android:backgroundTint="@color/unfollow"
android:clickable="false"
android:drawableLeft="@drawable/ic_outline_person_remove_24"
android:insetTop="0dp"
android:insetBottom="0dp"
- android:text="NE PRATI više"
- android:backgroundTint="@color/unfollow"
+ android:text="NE PRATI više"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.13"
+ app:layout_constraintVertical_bias="0.0"
app:shapeAppearanceOverlay="@style/Circular"
tools:ignore="TouchTargetSizeCheck" />
-
<ImageButton
android:id="@+id/activityUserProfileOpenChat"
android:layout_width="35dp"
- android:layout_height="30dp"
+ android:layout_height="35dp"
android:layout_gravity="center"
- android:layout_marginEnd="16dp"
android:height="40dp"
android:background="@drawable/rounded_button"
android:backgroundTint="@color/button_main"
@@ -298,11 +315,10 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0"
app:shapeAppearanceOverlay="@style/Circular"
tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" />
+
</androidx.constraintlayout.widget.ConstraintLayout>
- </TableRow>
</TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml
index f39acf2..12c37e8 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml
@@ -82,7 +82,7 @@
app:layout_constraintTop_toBottomOf="@+id/brzodolokacije">
- <com.google.android.material.textfield.TextInputEditText
+ <AutoCompleteTextView
android:id="@+id/etFragmentHomePageSearch"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -92,6 +92,7 @@
android:paddingLeft="15dp" />
<com.google.android.material.button.MaterialButton
+ android:id="@+id/mbFragmentHomePageSearchButton"
android:layout_width="49dp"
android:layout_height="match_parent"
android:layout_gravity="right"
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_my_profile_info.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_my_profile_info.xml
index 4a91f49..eaf014d 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_my_profile_info.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_my_profile_info.xml
@@ -4,27 +4,64 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:orientation="vertical"
tools:context=".Fragments.FragmentMyProfileInfo">
- <!-- TODO: Update blank fragment layout -->
-
- <TextView
- android:id="@+id/textView5"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="Moji podaci"
- tools:layout_editor_absoluteX="0dp"
- tools:layout_editor_absoluteY="0dp" />
+ android:layout_height="0dp"
+ android:orientation="vertical"
+ app:layout_constraintBottom_toTopOf="@+id/buttonLogOut"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <Button
+ android:id="@+id/changeAccountData"
+ style="@style/clean_button_margin"
+ android:drawableLeft="@drawable/ic_outline_account_circle_24"
+ android:text="Izmena Naloga" />
+
+ <Button
+ android:id="@+id/ChangePassword"
+ style="@style/clean_button_margin"
+ android:drawableLeft="@drawable/ic_outline_change_circle_24"
+ android:text="Promena Lozinke" />
+
+ <Button
+ android:id="@+id/getAccoutStatistics"
+ style="@style/clean_button_margin"
+ android:drawableLeft="@drawable/ic_outline_stats_24"
+ android:text="Pregled statistike" />
+
+ <Button
+ android:id="@+id/getMyFavorite"
+ style="@style/clean_button_margin"
+ android:drawableLeft="@drawable/ic_round_favorite_border_24"
+ android:text="Objave koje vam se sviđaju" />
+
+ <Button
+ android:id="@+id/inviteFriends"
+ style="@style/clean_button_margin"
+ android:drawableLeft="@drawable/ic_outline_share_24"
+ android:text="Pozovite prijatelje" />
+ </LinearLayout>
<Button
android:id="@+id/buttonLogOut"
- android:layout_width="wrap_content"
+ style="@style/Circular"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="Log out"
- app:layout_constraintBottom_toBottomOf="@+id/textView5"
- app:layout_constraintEnd_toEndOf="@+id/textView5"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="@+id/textView5" />
+ android:layout_gravity="bottom"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="16dp"
+ android:drawableLeft="@drawable/ic_baseline_logout_24"
+ android:text="Izlogujte se"
+ android:drawableTint="@color/white"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml
index 7531cf5..8fe6ee6 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml
@@ -15,7 +15,7 @@
android:id="@+id/imageView3"
android:layout_width="match_parent"
- android:layout_height="290dp"
+ android:layout_height="190dp"
android:foreground="@drawable/b3"
android:foregroundGravity="center_vertical|center|center_horizontal|fill"
android:src="@drawable/b3"
@@ -26,8 +26,8 @@
<ImageView
android:id="@+id/imageView4"
- android:layout_width="411dp"
- android:layout_height="287dp"
+ android:layout_width="match_parent"
+ android:layout_height="190dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView3"
app:layout_constraintEnd_toEndOf="@id/imageView3"
app:layout_constraintHorizontal_bias="0.0"
@@ -41,7 +41,7 @@
android:layout_width="0dp"
android:layout_height="199dp"
android:layout_marginStart="20dp"
- android:layout_marginTop="156dp"
+ android:layout_marginTop="90dp"
android:layout_marginEnd="20dp"
android:adjustViewBounds="true"
android:background="#E8FFFFFF"
@@ -56,10 +56,9 @@
<androidx.cardview.widget.CardView
android:id="@+id/cvFragmentHomePageProfile"
- android:layout_width="140dp"
- android:layout_height="140dp"
+ android:layout_width="120dp"
+ android:layout_height="120dp"
android:layout_gravity="center"
- android:layout_marginTop="24dp"
android:elevation="10dp"
app:cardCornerRadius="250dp"
app:layout_constraintBottom_toTopOf="@+id/tableLayout"
@@ -67,14 +66,14 @@
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.887">
+ app:layout_constraintVertical_bias="0.65999997">
<ImageView
android:id="@+id/tvFragmentProfileProfilePicture"
- android:layout_width="140dp"
- android:layout_height="140dp"
- android:elevation="10dp"
+ android:layout_width="120dp"
+ android:layout_height="120dp"
+ android:elevation="20dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_baseline_person_24"
tools:ignore="ContentDescription" />
@@ -99,7 +98,7 @@
<TableLayout
android:id="@+id/tableLayout"
- android:layout_width="323dp"
+ android:layout_width="0dp"
android:layout_height="120dp"
android:elevation="20dp"
android:gravity="center"
@@ -107,18 +106,23 @@
app:layout_constraintBottom_toBottomOf="@+id/tvFragmentProfileInfoContainer"
app:layout_constraintEnd_toEndOf="@+id/tvFragmentProfileInfoContainer"
app:layout_constraintHorizontal_bias="0.488"
- app:layout_constraintStart_toStartOf="@+id/tvFragmentProfileInfoContainer">
+ app:layout_constraintStart_toStartOf="@+id/tvFragmentProfileInfoContainer"
+ app:layout_constraintTop_toTopOf="@+id/tvFragmentProfileInfoContainer"
+ app:layout_constraintVertical_bias="0.87">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
-
android:gravity="center">
<TextView
android:id="@+id/tvFragmentProfileName"
+ android:textSize="23sp"
+ android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:gravity="center"
+ android:layout_marginBottom="10dp"
android:text="Petar Petrović" />
</TableRow>
@@ -133,119 +137,182 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
- android:text="#PetarP" />
+ android:text="PetarP"
+ android:textSize="17sp" />
</TableRow>
- <Space android:layout_height="20dp"></Space>
-
<TableRow
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center">
+ android:layout_height="100dp">
- <TextView
- android:id="@+id/tvFragmentProfilePosts"
- android:gravity="center"
- android:text="OBJAVE" />
+ <Button
+ android:layout_height="8dp"
+ android:background="@drawable/rounded_transparent_button"
+ android:clickable="false"
+ android:visibility="invisible" />
+ </TableRow>
- <TextView
- android:id="@+id/tvFragmentProfileFollowers"
- android:gravity="center"
- android:clickable="true"
- android:text="PRATIOCI" />
- <TextView
- android:id="@+id/tvFragmentProfileFollow"
- android:gravity="center"
- android:text="PRAĆENJA" />
+ <TableRow
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:weightSum="1">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:weightSum="3">
+
+ <TextView
+ android:id="@+id/tvFragmentProfilePosts"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:width="100dp"
+ android:textSize="15dp"
+ android:textColor="#757471"
+ android:gravity="center"
+ android:text="OBJAVE" />
+
+ <TextView
+ android:id="@+id/tvFragmentProfileFollowers"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:width="100dp"
+ android:textSize="15sp"
+ android:clickable="true"
+ android:textColor="#757471"
+ android:gravity="center"
+ android:text="PRATIOCI" />
+
+ <TextView
+ android:id="@+id/tvFragmentProfileFollow"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:width="100dp"
+ android:gravity="center"
+ android:textSize="15sp"
+ android:textColor="#757471"
+ android:text="PRAĆENJA" />
+ </LinearLayout>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:gravity="center">
-
- <TextView
- android:id="@+id/tvFragmentProfilePostsNo"
- android:gravity="center"
- android:text="156" />
-
- <TextView
- android:id="@+id/tvFragmentProfileFollowersNo"
- android:gravity="center"
- android:text="50" />
-
- <TextView
- android:id="@+id/tvFragmentProfileFollowNo"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center"
- android:text="40" />
+ android:gravity="center"
+ android:weightSum="1">
+
+ <LinearLayout>
+
+ <TextView
+ android:id="@+id/tvFragmentProfilePostsNo"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:text="156"
+ android:textSize="20dp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tvFragmentProfileFollowersNo"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:text="50"
+ android:textSize="20dp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/tvFragmentProfileFollowNo"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:text="40"
+ android:textSize="20dp"
+ android:textStyle="bold" />
+ </LinearLayout>
</TableRow>
</TableLayout>
- <View
- android:id="@+id/divider"
- android:layout_width="409dp"
- android:layout_height="40dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/btnFragmentProfileShowMyPosts" />
-
- <Button
- android:id="@+id/btnFragmentProfileShowMyPosts"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/buttons"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="20dp"
- android:layout_marginTop="4dp"
- android:backgroundTint="#FFFFFF"
- android:stateListAnimator="@null"
- android:text="Objave"
-
- android:textColor="@color/cardview_dark_background"
+ android:weightSum="3"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+ app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer">
- <Button
- android:id="@+id/btnFragmentProfileShowMyData"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:layout_marginEnd="20dp"
- android:backgroundTint="#FFFFFF"
- android:stateListAnimator="@null"
- android:text="Podaci"
+ <Button
+ android:id="@+id/btnFragmentProfileShowMyPosts"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:backgroundTint="#FFFFFF"
+ android:stateListAnimator="@null"
+ android:text="Objave"
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+
+ <Button
+ android:id="@+id/btnFragmentProfileShowMyRecensions"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:layout_weight="1"
+ android:backgroundTint="#FFFFFF"
+ android:stateListAnimator="@null"
+ android:text="Istorija"
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintStart_toEndOf="@+id/btnFragmentProfileShowMyPosts"
+ app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+
+ <Button
+ android:id="@+id/btnFragmentProfileShowMyData"
+ android:layout_width="110dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:backgroundTint="#FFFFFF"
+ android:stateListAnimator="@null"
- android:textColor="@color/cardview_dark_background"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="1.0"
- app:layout_constraintStart_toEndOf="@+id/btnFragmentProfileShowMyRecensions"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+ android:text="Nalog"
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toEndOf="@+id/btnFragmentProfileShowMyRecensions"
+ app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
- <Button
- android:id="@+id/btnFragmentProfileShowMyRecensions"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="36dp"
- android:layout_marginTop="4dp"
- android:backgroundTint="#FFFFFF"
- android:stateListAnimator="@null"
- android:text="Istorija"
- android:textColor="@color/cardview_dark_background"
- app:layout_constraintStart_toEndOf="@+id/btnFragmentProfileShowMyPosts"
- app:layout_constraintTop_toBottomOf="@+id/tvFragmentProfileInfoContainer" />
+ </LinearLayout>
<FrameLayout
android:id="@+id/flFragmentProfileFragmentContainer"
- android:layout_width="409dp"
- android:layout_height="319dp"
- android:layout_marginTop="40dp"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_marginTop="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="@+id/divider">
- </FrameLayout>
+ app:layout_constraintTop_toBottomOf="@+id/divider6"></FrameLayout>
+
+ <View
+ android:id="@+id/divider6"
+ android:layout_width="409dp"
+ android:layout_height="1dp"
+ android:layout_marginTop="4dp"
+ android:background="?android:attr/listDivider"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/buttons" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_comments.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_comments.xml
new file mode 100644
index 0000000..cb5db29
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_comments.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".FragmentSinglePostComments">
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+
+ <TextView
+ android:id="@+id/tvCommentLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="@dimen/text_padding"
+ android:text="Komentari"
+ android:textStyle="bold"
+ style="@style/title"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/tvCommentCount"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="@dimen/text_padding"
+ android:text="0"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toEndOf="@+id/tvCommentLabel"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rvComments"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:nestedScrollingEnabled="false"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ tools:layout_editor_absoluteY="282dp">
+
+ </androidx.recyclerview.widget.RecyclerView>
+
+ <LinearLayout
+ android:id="@+id/postCommentLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <EditText
+ android:id="@+id/NewComment"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:hint="Unesite komentar ovde" />
+
+ <ImageButton
+ android:id="@+id/btnPostComment"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:backgroundTint="@color/white"
+ android:scaleType="fitCenter"
+ android:src="@drawable/post_comment" />
+
+ </LinearLayout>
+
+</LinearLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_description.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_description.xml
new file mode 100644
index 0000000..c2ad49b
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_description.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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=".Fragments.FragmentSinglePostDescription">
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/constraintLayout3"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/rounded_picture_background"
+ android:padding="@dimen/component_padding"
+ app:layout_constraintTop_toBottomOf="@+id/linearLayout"
+ tools:layout_editor_absoluteX="0dp">
+
+ <TextView
+ android:id="@+id/tvDescriptionLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="362dp"
+ android:gravity="top|start"
+ android:padding="@dimen/text_padding"
+ android:text="Opis"
+ android:textSize="@dimen/header1_size"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/tvDescription"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvDescriptionLabel" />
+
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="32dp"
+ android:text="Oceni"
+ android:textColor="@color/cardview_dark_background"
+ android:textSize="@dimen/header1_size"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.005"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvDescription" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:orientation="horizontal"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/title">
+
+ <ImageView
+ android:id="@+id/rateStar1"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24" />
+
+ <ImageView
+ android:id="@+id/rateStar2"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24" />
+
+ <ImageView
+ android:id="@+id/rateStar3"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24" />
+
+ <ImageView
+ android:id="@+id/rateStar4"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24" />
+
+ <ImageView
+ android:id="@+id/rateStar5"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24" />
+
+
+ </LinearLayout>
+ <!--<LinearLayout
+ android:id="@+id/linearLayout2"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="24dp"
+
+
+ android:paddingVertical="@dimen/component_padding"
+ app:layout_constraintTop_toBottomOf="@id/constraintLayout3"
+ tools:layout_editor_absoluteX="10dp">
+
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Oceni"
+ style="@style/title"
+ android:textColor="@color/cardview_dark_background"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/tvDescriptionLabel" />
+
+ <ImageButton
+ android:id="@+id/rateStar1"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:scaleType="centerCrop"
+ android:src="@drawable/empty_star" />
+
+ <ImageButton
+ android:id="@+id/rateStar2"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:scaleType="centerCrop"
+ android:src="@drawable/empty_star" />
+
+ <ImageButton
+ android:id="@+id/rateStar3"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:scaleType="centerCrop"
+ android:src="@drawable/empty_star" />
+
+ <ImageButton
+ android:id="@+id/rateStar4"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:scaleType="centerCrop"
+ android:src="@drawable/empty_star" />
+
+ <ImageButton
+ android:id="@+id/rateStar5"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:scaleType="centerCrop"
+ android:src="@drawable/ic_round_star_outline_24">
+
+ <Button
+ android:id="@+id/submitRating"
+ android:layout_width="30dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+
+ android:text="ok"/>
+ </LinearLayout>-->
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+</FrameLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/values/styles.xml b/Client/BrzoDoLokacije/app/src/main/res/values/styles.xml
index ca3ca44..0e53f9e 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/values/styles.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/values/styles.xml
@@ -23,4 +23,26 @@
<item name="cornerSizeTopLeft">10dp</item>
<item name="cornerSizeTopRight">10dp</item>
</style>
+
+ <style name="title">
+ <item name="android:textSize">@dimen/header1_size</item>
+ <item name="android:textStyle">bold</item>
+ </style>
+
+ <style name="clean_button">
+ <item name="android:backgroundTint">@color/white</item>
+ <item name="android:textColor">#757471</item>
+ <item name="android:stateListAnimator">@null</item>
+ <item name="android:layout_height">50dp</item>
+ <item name="android:layout_width">wrap_content</item>
+ </style>
+
+ <style name="clean_button_margin">
+ <item name="android:backgroundTint">@color/white</item>
+ <item name="android:textColor">#757471</item>
+ <item name="android:stateListAnimator">@null</item>
+ <item name="android:layout_height">50dp</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_marginTop">7dp</item>
+ </style>
</resources> \ No newline at end of file