aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivityConversation.kt72
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowers.kt82
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowing.kt77
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml12
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat_conversation.xml25
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_followers.xml46
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_following.xml46
8 files changed, 239 insertions, 127 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt
index 49c61c7..18ff392 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt
@@ -1,7 +1,6 @@
package com.example.brzodolokacije.Activities
import android.Manifest
-import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
@@ -132,11 +131,6 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener {
fun setListeners(){
- findViewById<ImageButton>(R.id.addNewMessage).setOnClickListener {
- val intent: Intent = Intent(this@ChatActivity,ChatActivityConversation::class.java)
- intent.putExtra("receiverId","")
- startActivity(intent)
- }
findViewById<ImageButton>(R.id.btnBack).setOnClickListener {
finish()
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivityConversation.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivityConversation.kt
index 3a52cc4..723980b 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivityConversation.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ChatActivityConversation.kt
@@ -4,7 +4,6 @@ import android.content.Intent
import android.graphics.Bitmap
import android.os.Bundle
import android.util.Log
-import android.view.View
import android.widget.EditText
import android.widget.ImageButton
import android.widget.Toast
@@ -72,63 +71,6 @@ class ChatActivityConversation : AppCompatActivity() {
var messageContent=findViewById<EditText>(R.id.etNewMessage).text.trim().toString()
val Api= RetrofitHelper.getInstance()
if(!messageContent.isNullOrEmpty()){
- if(userId.isNullOrEmpty() || userId.equals("null")){
- //zahtev sa username=om
- receiverUsername=findViewById<EditText>(R.id.etReceiverUsername).text.toString()
- val request=Api.getProfile("Bearer "+token,
- receiverUsername!!
- )
- request.enqueue(object : retrofit2.Callback<UserReceive?> {
- override fun onResponse(call: Call<UserReceive?>, response: Response<UserReceive?>) {
- if(response.isSuccessful()){
- //zahtev da se posalje poruka
- var user:UserReceive=response.body()!!
- if(user._id==JWT(SharedPreferencesHelper.getValue("jwt",this@ChatActivityConversation)!!).claims["id"]?.asString()!!){
- Toast.makeText(this@ChatActivityConversation,"Ne mozete slati poruku sami sebi.",Toast.LENGTH_LONG).show()
- }
- else{
- userId=user._id
- setHeader()
- var message= MessageSend(userId!!,messageContent)
- val request2=Api.sendMessage("Bearer "+token,
- message
- )
- request2.enqueue(object : retrofit2.Callback<Message?> {
- override fun onResponse(call: Call<Message?>, response: Response<Message?>) {
- if(response.isSuccessful()){
- //zahtev da se posalje poruka
- var responseMessage=response.body()
- var cal: Calendar = Calendar.getInstance()
- cal.time=responseMessage?.timestamp
- responseMessage?.usableTimeStamp=cal
- dbConnection?.addMessage(responseMessage!!,username=user.username)
- requestMessages()
- binding.etNewMessage.text?.clear()
-
- }
- else{
- Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime1.",Toast.LENGTH_LONG).show()
- }
- }
-
- override fun onFailure(call: Call<Message?>, t: Throwable) {
- Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime2.",Toast.LENGTH_LONG).show()
- }
- })
- }
- }
- else{
- Log.d("main",response.message())
- //Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime3.",Toast.LENGTH_LONG).show()
- }
- }
-
- override fun onFailure(call: Call<UserReceive?>, t: Throwable) {
- Toast.makeText(this@ChatActivityConversation,"fail.",Toast.LENGTH_LONG).show()
- }
- })
- }
- else{
//zahtev da se posalje poruka
var message= MessageSend(userId!!,messageContent)
val request2=Api.sendMessage("Bearer "+token,
@@ -155,8 +97,6 @@ class ChatActivityConversation : AppCompatActivity() {
Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime.",Toast.LENGTH_LONG).show()
}
})
- }
-
}
}
binding.llHeader.setOnClickListener {
@@ -172,20 +112,12 @@ class ChatActivityConversation : AppCompatActivity() {
private fun setHeader(){
if(userId.isNullOrEmpty() || userId.equals("null")){
- binding.cvParentUsername.visibility= View.VISIBLE
- binding.cvParentUsername.forceLayout()
- binding.llHeader.visibility= View.GONE
- binding.llHeader.invalidate()
- binding.llHeader.forceLayout()
+ binding.tvFragmentTitle.text="Nije nađen korisnik"
+ binding.tvFragmentTitle.invalidate()
}
else{
- binding.llHeader.visibility= View.VISIBLE
- binding.llHeader.invalidate()
- binding.llHeader.forceLayout()
binding.tvFragmentTitle.text=receiverUsername
binding.tvFragmentTitle.invalidate()
- binding.cvParentUsername.visibility= View.GONE
- binding.cvParentUsername.forceLayout()
}
binding.btnBack.setOnClickListener {
finish()
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowers.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowers.kt
index 376517c..f2c817a 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowers.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowers.kt
@@ -1,30 +1,37 @@
package com.example.brzodolokacije.Fragments
import android.os.Bundle
+import android.text.Editable
+import android.text.TextWatcher
import android.util.Log
-import androidx.fragment.app.Fragment
+import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.AutoCompleteTextView
+import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.brzodolokacije.Adapters.FollowersAdapter
-import com.example.brzodolokacije.Adapters.ShowPostsHomePageAdapter
-import com.example.brzodolokacije.Models.PostPreview
import com.example.brzodolokacije.Models.UserReceive
import com.example.brzodolokacije.R
import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import com.google.android.material.button.MaterialButton
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
+
class FragmentUserFollowers : Fragment() {
private lateinit var followers:MutableList<UserReceive>
+ private lateinit var searchedFollowers:MutableList<UserReceive>
private lateinit var rvFollowers:RecyclerView
private lateinit var userId:String
private lateinit var showMy:String
+ private lateinit var searchBar:AutoCompleteTextView
+ private lateinit var searchButton:MaterialButton
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -37,6 +44,8 @@ class FragmentUserFollowers : Fragment() {
userId = bundle!!.getString("userId").toString()
showMy = bundle!!.getString("showMy").toString().trim()
rvFollowers=view.findViewById(R.id.rvFragmentUserFollowers)
+ searchBar=view.findViewById(R.id.FragmentFollowersSearchBar)
+ searchButton=view.findViewById(R.id.FragmentFollowersSearchBButton)
if(showMy=="yes"){
getFollowersWithoutId()
@@ -44,9 +53,63 @@ class FragmentUserFollowers : Fragment() {
else if(showMy=="no") {
getFollowers()
}
+ searchButton.setOnClickListener {
+ searchText()
+ }
+ 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
+ })
+
+ searchBar.addTextChangedListener(object : TextWatcher {
+ override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
+ }
+
+ override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
+ searchText()
+ if(count==0)
+ if(showMy=="yes"){
+ getFollowersWithoutId()
+ }
+ else if(showMy=="no") {
+ getFollowers()
+ }
+ }
+
+ override fun afterTextChanged(s: Editable) {
+ }
+ })
return view
}
+ fun searchText(){
+ if(searchBar.text==null || searchBar.text.isNullOrEmpty() || searchBar.text.toString().trim()=="")
+ return
+ if(!this::followers.isInitialized)
+ return
+ var text=searchBar.text.toString().trim()
+ searchedFollowers= mutableListOf()
+ for(user in followers){
+ if(user.username.contains(text))
+ searchedFollowers.add(user)
+ }
+ rvFollowers.apply {
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
+ adapter= FollowersAdapter(searchedFollowers,requireActivity())
+
+ }
+
+
+
+
+ }
+
fun getFollowers(){
val api = RetrofitHelper.getInstance()
@@ -64,7 +127,7 @@ class FragmentUserFollowers : Fragment() {
}
followers = response.body()!!.toMutableList<UserReceive>()
rvFollowers.apply {
- layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false)
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
adapter= FollowersAdapter(followers,requireActivity())
}
@@ -89,7 +152,7 @@ class FragmentUserFollowers : Fragment() {
Log.d("MyFollowers","Successsssssssssssssssssssssssssssss")
followers = response.body()!!.toMutableList<UserReceive>()
rvFollowers.apply {
- layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false)
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
adapter= FollowersAdapter(followers,requireActivity())
}
}
@@ -98,4 +161,13 @@ class FragmentUserFollowers : Fragment() {
}
})
}
+ override fun onResume() {
+ super.onResume()
+ if(showMy=="yes"){
+ getFollowersWithoutId()
+ }
+ else if(showMy=="no") {
+ getFollowers()
+ }
+ }
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowing.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowing.kt
index 9a78b6e..0508c13 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowing.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserFollowing.kt
@@ -1,11 +1,15 @@
package com.example.brzodolokacije.Fragments
import android.os.Bundle
+import android.text.Editable
+import android.text.TextWatcher
import android.util.Log
+import android.view.KeyEvent
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.AutoCompleteTextView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.brzodolokacije.Adapters.FollowersAdapter
@@ -13,6 +17,7 @@ import com.example.brzodolokacije.Models.UserReceive
import com.example.brzodolokacije.R
import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import com.google.android.material.button.MaterialButton
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
@@ -21,9 +26,12 @@ import retrofit2.Response
class FragmentUserFollowing : Fragment() {
private lateinit var following:MutableList<UserReceive>
+ private lateinit var searchedFollowing:MutableList<UserReceive>
private lateinit var rvFollowing: RecyclerView
private lateinit var userId:String
private lateinit var showMy:String
+ private lateinit var searchBar: AutoCompleteTextView
+ private lateinit var searchButton: MaterialButton
override fun onCreateView(
@@ -36,15 +44,68 @@ class FragmentUserFollowing : Fragment() {
userId = bundle!!.getString("userId").toString()
showMy = bundle!!.getString("showMy").toString().trim()
rvFollowing=view.findViewById(R.id.rvFragmentUserFollowing)
-
+ searchBar=view.findViewById(R.id.FragmentFollowingSearchBar)
+ searchButton=view.findViewById(R.id.FragmentFollowingSearchBButton)
if(showMy=="yes"){
getFollowingWithoutId()
}
else if(showMy=="no") {
getFollowing()
}
+ searchButton.setOnClickListener {
+ searchText()
+ }
+ 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
+ })
+ searchBar.addTextChangedListener(object : TextWatcher {
+ override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
+ }
+
+ override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
+ searchText()
+ if(count==0)
+ if(showMy=="yes"){
+ getFollowingWithoutId()
+ }
+ else if(showMy=="no") {
+ getFollowing()
+ }
+ }
+
+ override fun afterTextChanged(s: Editable) {
+ }
+ })
return view
}
+ fun searchText(){
+ if(searchBar.text==null || searchBar.text.isNullOrEmpty() || searchBar.text.toString().trim()=="")
+ return
+ var text=searchBar.text.toString().trim()
+ if(!this::following.isInitialized)
+ return
+ searchedFollowing= mutableListOf()
+ for(user in following){
+ if(user.username.contains(text))
+ searchedFollowing.add(user)
+ }
+ rvFollowing.apply {
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
+ adapter= FollowersAdapter(searchedFollowing,requireActivity())
+
+ }
+
+
+
+
+ }
fun getFollowing(){
val api = RetrofitHelper.getInstance()
@@ -58,7 +119,7 @@ class FragmentUserFollowing : Fragment() {
Log.d("Following","Successsssssssssssssssssssssssssssss")
following = response.body()!!.toMutableList<UserReceive>()
rvFollowing.apply {
- layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false)
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
adapter= FollowersAdapter(following,requireActivity())
}
}
@@ -80,7 +141,7 @@ class FragmentUserFollowing : Fragment() {
Log.d("MyFollowings","Successsssssssssssssssssssssssssssss")
following = response.body()!!.toMutableList<UserReceive>()
rvFollowing.apply {
- layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false)
+ layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false)
adapter= FollowersAdapter(following,requireActivity())
}
}
@@ -90,4 +151,14 @@ class FragmentUserFollowing : Fragment() {
})
}
+ override fun onResume() {
+ super.onResume()
+ if(showMy=="yes"){
+ getFollowingWithoutId()
+ }
+ else if(showMy=="no") {
+ getFollowing()
+ }
+ }
+
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml
index 9815ce1..3b92058 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml
@@ -6,18 +6,6 @@
android:layout_height="match_parent"
tools:context=".Activities.ChatActivity">
- <ImageButton
- android:id="@+id/addNewMessage"
- android:layout_width="60dp"
- android:layout_height="60dp"
- android:clickable="true"
- android:elevation="50dp"
- android:focusable="true"
- android:backgroundTint="@color/unfollow"
- android:src="@drawable/ic_baseline_add_message_24"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent" />
-
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:id="@+id/llHeader"
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat_conversation.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat_conversation.xml
index d68d4b6..f6b767c 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat_conversation.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat_conversation.xml
@@ -45,34 +45,9 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
- android:text="Chat"
android:textSize="20dp" />
</androidx.appcompat.widget.LinearLayoutCompat>
- <androidx.cardview.widget.CardView
- android:id="@+id/cvParentUsername"
- android:layout_width="wrap_content"
- android:layout_height="40dp"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:elevation="0dp"
- app:cardCornerRadius="20dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/etReceiverUsername"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@drawable/rounded_white_button_login"
- android:hint=" kome slati poruku?"
- android:inputType="textPersonName"
- android:paddingLeft="15dp" />
-
-
- </androidx.cardview.widget.CardView>
</androidx.appcompat.widget.LinearLayoutCompat>
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_followers.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_followers.xml
index 8b820bc..579e402 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_followers.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_followers.xml
@@ -1,18 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Fragments.FragmentUserFollowers">
<!-- TODO: Update blank fragment layout -->
<TextView
+ android:id="@+id/textView17"
android:layout_width="match_parent"
android:layout_height="match_parent" />
+ <androidx.cardview.widget.CardView
+ android:id="@+id/FragmentBrowseCardViewSearch"
+ android:layout_width="0dp"
+ android:layout_height="40dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:elevation="10dp"
+ app:cardCornerRadius="20dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+
+ <AutoCompleteTextView
+ android:id="@+id/FragmentFollowersSearchBar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:backgroundTint="@color/white"
+ android:hint=" Pretraga"
+ android:inputType="textPersonName"
+ android:paddingLeft="15dp" />
+
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/FragmentFollowersSearchBButton"
+ android:layout_width="49dp"
+ android:layout_height="match_parent"
+ android:layout_gravity="right"
+ android:background="#00FFFFFF"
+ app:backgroundTint="#00FFFFFF"
+ app:cornerRadius="16dp"
+ app:icon="@drawable/ic_baseline_search_24"
+ app:iconTint="#333D70" />
+
+ </androidx.cardview.widget.CardView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvFragmentUserFollowers"
android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/FragmentBrowseCardViewSearch" />
-</FrameLayout> \ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_following.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_following.xml
index 7558375..f7c07df 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_following.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_following.xml
@@ -1,18 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Fragments.FragmentUserFollowing">
<!-- TODO: Update blank fragment layout -->
<TextView
+ android:id="@+id/textView16"
android:layout_width="match_parent"
android:layout_height="match_parent" />
+ <androidx.cardview.widget.CardView
+ android:id="@+id/FragmentBrowseCardViewSearch"
+ android:layout_width="0dp"
+ android:layout_height="40dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginEnd="16dp"
+ android:elevation="10dp"
+ app:cardCornerRadius="20dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+
+ <AutoCompleteTextView
+ android:id="@+id/FragmentFollowingSearchBar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:backgroundTint="@color/white"
+ android:hint=" Pretraga"
+ android:inputType="textPersonName"
+ android:paddingLeft="15dp" />
+
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/FragmentFollowingSearchBButton"
+ android:layout_width="49dp"
+ android:layout_height="match_parent"
+ android:layout_gravity="right"
+ android:background="#00FFFFFF"
+ app:backgroundTint="#00FFFFFF"
+ app:cornerRadius="16dp"
+ app:icon="@drawable/ic_baseline_search_24"
+ app:iconTint="#333D70" />
+
+ </androidx.cardview.widget.CardView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvFragmentUserFollowing"
android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/FragmentBrowseCardViewSearch" />
-</FrameLayout> \ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file