From e4e8807a464b722dd8d685b0768ab5f0091abcb6 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Tue, 6 Dec 2022 22:00:51 +0100 Subject: Izmenjen položaj dugmića i polja za pretragu na fragmentu za prikaz mape. Dodat divider za dugmiće na stranici single post. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/drawable/ic_baseline_close_24.xml | 2 +- .../main/res/drawable/ic_baseline_post_add_24.xml | 2 +- .../app/src/main/res/layout/activity_maps.xml | 18 ++++----- .../src/main/res/layout/activity_single_post.xml | 43 +++++++++++++++++----- .../app/src/main/res/values/colors.xml | 1 + 5 files changed, 46 insertions(+), 20 deletions(-) diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_close_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_close_24.xml index 42a6279..3290245 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_close_24.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_close_24.xml @@ -1,4 +1,4 @@ - diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_post_add_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_post_add_24.xml index 32f0448..aa413e9 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_post_add_24.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_post_add_24.xml @@ -1,4 +1,4 @@ - diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml index 0051893..6cb0f4e 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_maps.xml @@ -6,6 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Activities.MapsActivity"> + - + app:layout_constraintTop_toTopOf="parent" /> + app:srcCompat="@drawable/ic_baseline_check_24" /> 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 cf5327a..9d59e0b 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,11 +1,11 @@ + app:layout_constraintStart_toStartOf="parent" + tools:backgroundTint="@color/white"> @@ -86,11 +89,14 @@ android:gravity="top|start" android:padding="@dimen/text_padding" android:text="User" + android:textSize="17dp" + android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tvLocationType" /> @@ -133,14 +140,22 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constraintTop_toBottomOf="@+id/tvUser"> + + + + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml b/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml index fe34814..9cd2082 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml @@ -10,4 +10,5 @@ #c4c4c4 #DE093A4C #183e4b + #747474 \ No newline at end of file -- cgit v1.2.3 From 0468e64c90846408c4617ac5517c3d29f27b7d01 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 15:36:51 +0100 Subject: Zabranjeno slanje poruke samom sebi #80 --- .vs/VSWorkspaceState.json | 4 +- .vs/brzodolokacije/v17/.suo | Bin 25600 -> 29696 bytes .vs/slnx.sqlite | Bin 335872 -> 335872 bytes .../.idea/deploymentTargetDropDown.xml | 6 +-- .../Activities/ChatActivityConversation.kt | 55 +++++++++++---------- 5 files changed, 34 insertions(+), 31 deletions(-) diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json index 6b61141..83e7019 100644 --- a/.vs/VSWorkspaceState.json +++ b/.vs/VSWorkspaceState.json @@ -1,6 +1,8 @@ { "ExpandedNodes": [ - "" + "", + "\\Backend", + "\\Backend\\Api" ], "PreviewInSolutionExplorer": false } \ No newline at end of file diff --git a/.vs/brzodolokacije/v17/.suo b/.vs/brzodolokacije/v17/.suo index 49a5729..3475e6c 100644 Binary files a/.vs/brzodolokacije/v17/.suo and b/.vs/brzodolokacije/v17/.suo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 41e2574..d4967c0 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ diff --git a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml index 0d90ad1..af6c93b 100644 --- a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml +++ b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml @@ -12,10 +12,6 @@ -<<<<<<< HEAD - -======= - ->>>>>>> 8e563f959c168a9778658c5fa2a2b143730d44fa + \ No newline at end of file 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 985735f..04dd9de 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 @@ -73,34 +73,39 @@ class ChatActivityConversation : AppCompatActivity() { if(response.isSuccessful()){ //zahtev da se posalje poruka var user:UserReceive=response.body()!! - userId=user._id - setHeader() - var message= MessageSend(userId!!,messageContent) - val request2=Api.sendMessage("Bearer "+token, - message - ) - request2.enqueue(object : retrofit2.Callback { - override fun onResponse(call: Call, response: Response) { - 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() + 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 { + override fun onResponse(call: Call, response: Response) { + 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() + } } - else{ - Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime1.",Toast.LENGTH_LONG).show() - } - } - override fun onFailure(call: Call, t: Throwable) { - Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime2.",Toast.LENGTH_LONG).show() - } - }) + override fun onFailure(call: Call, t: Throwable) { + Toast.makeText(this@ChatActivityConversation,"Pogresno korisnicko ime2.",Toast.LENGTH_LONG).show() + } + }) + } } else{ Log.d("main",response.message()) -- cgit v1.2.3 From a18c9e313bbfe48e8f3b09d168a52792dc242fd5 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 15:46:52 +0100 Subject: Reseno pogresan format datuma poslednje poruke #80 --- .../java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt index be564f4..747ccd4 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt @@ -91,7 +91,7 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha tvUsername.text=item.username if(lastMessage!=null){ tvLastMessage.text=lastMessage.messagge - if(layoutPosition==0 || isDifferentDays(lastMessage.usableTimeStamp,Calendar.getInstance())){ + if(!isDifferentDays(lastMessage.usableTimeStamp,Calendar.getInstance())){ tvLastMessageDate.text=lastMessage.usableTimeStamp.get(Calendar.HOUR_OF_DAY).toString() + ":" + lastMessage.usableTimeStamp.get( Calendar.MINUTE).toString() } -- cgit v1.2.3 From 4695dd26293f56f4863b21cf3acc3ec591c669a9 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 16:30:36 +0100 Subject: Prikaz duze poruke u listi cetova je ulepsan, dodate vodece nule na sate i minute #80 --- .../example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt | 10 +++++++--- .../app/src/main/res/layout/chat_preview.xml | 14 +++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt index 747ccd4..478a8ea 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt @@ -90,10 +90,14 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha var lastMessage=db.getLastMessage(item.userId) tvUsername.text=item.username if(lastMessage!=null){ - tvLastMessage.text=lastMessage.messagge + //var msg=lastMessage.messagge.dropLast(if(lastMessage.messagge.length>20) lastMessage.messagge.length-20 else 0) + tvLastMessage.text=lastMessage.messagge//msg+if(lastMessage.messagge.length>20) "..." else "" if(!isDifferentDays(lastMessage.usableTimeStamp,Calendar.getInstance())){ - tvLastMessageDate.text=lastMessage.usableTimeStamp.get(Calendar.HOUR_OF_DAY).toString() + ":" + lastMessage.usableTimeStamp.get( - Calendar.MINUTE).toString() + var hour=lastMessage.usableTimeStamp.get(Calendar.HOUR_OF_DAY) + var hourStr=if(hour<10) "0"+hour.toString() else hour.toString() + var minute=lastMessage.usableTimeStamp.get(Calendar.MINUTE) + var minuteStr=if(minute<10) "0"+minute.toString() else minute.toString() + tvLastMessageDate.text= hourStr + ":" + minuteStr } else{ tvLastMessageDate.text=lastMessage.usableTimeStamp.get(Calendar.DAY_OF_MONTH).toString()+"/"+ diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_preview.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_preview.xml index c995b4b..91a8605 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_preview.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_preview.xml @@ -40,15 +40,23 @@ android:textSize="@dimen/header2_size" android:textColor="@color/unfollow"/> + + android:textColor="@color/unfollow" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"/> + \ No newline at end of file -- cgit v1.2.3 From be45132d241ad90b0a6eba45338f5cfa5e26be43 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 16:39:12 +0100 Subject: Prikaz duze poruke u cetu #80 --- Client/BrzoDoLokacije/app/src/main/res/layout/chat_message.xml | 6 ++++-- .../BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message.xml index f7ef08c..0642a58 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message.xml @@ -24,7 +24,7 @@ android:id="@+id/cvContainer" android:layout_width="wrap_content" android:minWidth="40dp" - android:layout_height="30dp" + android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:backgroundTint="@color/unfollow" @@ -38,10 +38,12 @@ android:id="@+id/tvMessage" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:maxLines="50" + android:maxWidth="300dp" android:backgroundTint="@color/unfollow" android:padding="5dp" android:paddingHorizontal="15dp" - android:text="blabla" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" /> diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml index b076cf8..68a796d 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml @@ -23,7 +23,7 @@ android:id="@+id/cvContainer" android:layout_width="wrap_content" android:minWidth="40dp" - android:layout_height="30dp" + android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:backgroundTint="#eef1f6" @@ -37,10 +37,12 @@ android:id="@+id/tvMessage" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:maxLines="50" + android:maxWidth="300dp" android:backgroundTint="#eef1f6" android:padding="5dp" android:paddingHorizontal="15dp" - android:text="blabla" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" /> -- cgit v1.2.3 From 326d5beaa7a31b4d2faca8ed31419f0aeebf1f03 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 16:42:58 +0100 Subject: Dodate vodece nule u cetu #80 --- .../example/brzodolokacije/Adapters/ChatMessagesAdapter.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatMessagesAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatMessagesAdapter.kt index 403b736..ec436bd 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatMessagesAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatMessagesAdapter.kt @@ -51,7 +51,11 @@ class ChatMessagesAdapter (val items : MutableList, val activity:Activi fun bind(item : Message){ bindingOther?.apply { tvMessage?.text=item.messagge - tvTimestamp.text=item.usableTimeStamp.get(Calendar.HOUR_OF_DAY).toString() + ":" + item.usableTimeStamp.get(Calendar.MINUTE).toString() + var hour=item.usableTimeStamp.get(Calendar.HOUR_OF_DAY) + var hourStr=if(hour<10) "0"+hour.toString() else hour.toString() + var minute=item.usableTimeStamp.get(Calendar.MINUTE) + var minuteStr=if(minute<10) "0"+minute.toString() else minute.toString() + tvTimestamp.text= hourStr + ":" + minuteStr if(layoutPosition==0 || isDifferentDays(items[layoutPosition].usableTimeStamp,items[layoutPosition-1].usableTimeStamp)){ tvDate.text=item.usableTimeStamp.get(Calendar.DAY_OF_MONTH).toString()+"/"+ @@ -69,7 +73,11 @@ class ChatMessagesAdapter (val items : MutableList, val activity:Activi fun bind(item : Message){ binding?.apply { tvMessage.text=item.messagge - tvTimestamp.text=item.usableTimeStamp.get(Calendar.HOUR_OF_DAY).toString() + ":" + item.usableTimeStamp.get(Calendar.MINUTE).toString() + var hour=item.usableTimeStamp.get(Calendar.HOUR_OF_DAY) + var hourStr=if(hour<10) "0"+hour.toString() else hour.toString() + var minute=item.usableTimeStamp.get(Calendar.MINUTE) + var minuteStr=if(minute<10) "0"+minute.toString() else minute.toString() + tvTimestamp.text= hourStr + ":" + minuteStr if(layoutPosition==0 || isDifferentDays(items[layoutPosition].usableTimeStamp,items[layoutPosition-1].usableTimeStamp)){ tvDate.text=item.usableTimeStamp.get(Calendar.DAY_OF_MONTH).toString()+"/"+ -- cgit v1.2.3 From 4a7793b899c331d8bd6b32f6430908773ee7f060 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 20:44:35 +0100 Subject: Ispravka activity single post. --- .../java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 34a9e6b..744e3a0 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 @@ -217,7 +217,7 @@ class ActivitySinglePost : AppCompatActivity() { fun getMap(){ var map: MapView? = null Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this)); - map=findViewById(R.id.MapDialogueMapView) + map=findViewById(R.id.MapDialogueMap) //findViewById(R.id.MapDialogueMapView) as MapView map!!.setTileSource(TileSourceFactory.MAPNIK); map!!.setBuiltInZoomControls(true); -- cgit v1.2.3 From 7d1b51467d708f67fd9f2fb6ed896925f1a32562 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 20:54:24 +0100 Subject: Prikaz favourite na clientu. Dodavanje/Brisanje favourite --- .../example/brzodolokacije/Activities/ActivitySinglePost.kt | 13 +++++++------ .../app/src/main/res/layout/activity_single_post.xml | 11 +++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) 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 744e3a0..6b22a2f 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 @@ -16,6 +16,7 @@ import androidx.core.view.isVisible import androidx.fragment.app.FragmentTransaction import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.auth0.android.jwt.JWT import com.example.brzodolokacije.Adapters.CommentsAdapter import com.example.brzodolokacije.Adapters.PostImageAdapter import com.example.brzodolokacije.Fragments.FragmentSinglePostComments @@ -105,12 +106,12 @@ class ActivitySinglePost : AppCompatActivity() { fm.replace(R.id.flSinglePostFragmentContainer, fragment) fm.commit() - /* + favouriteImage=binding.ivFavourite // set recyclerView attributes loadFavourite() - */ + translateOwnerIdToName(post.ownerId) binding.tvUser.setOnClickListener { @@ -152,10 +153,10 @@ class ActivitySinglePost : AppCompatActivity() { } - /*favouriteImage!!.setOnClickListener{ + favouriteImage!!.setOnClickListener{ addRemoveFavourite() } -*/ + binding.btnActivitySinglePostDescription.setOnClickListener { var fm: FragmentTransaction =supportFragmentManager.beginTransaction() val fragment = FragmentSinglePostDescription() @@ -177,7 +178,7 @@ class ActivitySinglePost : AppCompatActivity() { } - /* + fun loadFavourite(){ if(post.favourites!=null){ var jwtString=SharedPreferencesHelper.getValue("jwt",this) @@ -212,7 +213,7 @@ class ActivitySinglePost : AppCompatActivity() { } - */ + fun getMap(){ var map: MapView? = null 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 9d59e0b..243dfd0 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 @@ -94,6 +94,17 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tvLocationType" /> + + Date: Wed, 7 Dec 2022 21:00:04 +0100 Subject: Promena izgleda pinova na browseFragment-u i UserPostsMapFragment-u --- .../main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt | 2 ++ .../src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt index a0d6146..cb213bc 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentBrowse.kt @@ -209,8 +209,10 @@ class FragmentBrowse : Fragment(R.layout.fragment_browse) { for(post in postList){ Log.d("main",post.toString()) val startMarker = Marker(map) + startMarker.setPosition(GeoPoint(post.location.latitude,post.location.longitude)) startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM) + startMarker.icon=ContextCompat.getDrawable(requireContext(), R.drawable.ic_baseline_location_on_24) startMarker.setOnMarkerClickListener(object:OnMarkerClickListener{ override fun onMarkerClick( marker: Marker?, diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt index 882a1ae..4c4d829 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt @@ -10,6 +10,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView +import androidx.core.content.ContextCompat import com.example.brzodolokacije.Activities.ActivitySinglePost import com.example.brzodolokacije.Fragments.FragmentProfile import com.example.brzodolokacije.Models.PostPreview @@ -83,6 +84,7 @@ class UserPostsMapFragment : Fragment() { val startMarker = Marker(map) startMarker.setPosition(GeoPoint(post.location.latitude,post.location.longitude)) startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM) + startMarker.icon= ContextCompat.getDrawable(requireContext(), R.drawable.ic_baseline_location_on_24) if(flag){ flag=false map!!.controller.animateTo(GeoPoint(post.location.latitude,post.location.longitude)) -- cgit v1.2.3 From fb181ee6537963f7d8d85b51f582d170807c8356 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 21:03:42 +0100 Subject: Setovanje teksta u dialog ako je prethodno unet u search bar. --- .../src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt index 238c7e8..c6bfe6d 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/MapsActivity.kt @@ -128,6 +128,8 @@ class MapsActivity : AppCompatActivity() { var editText=EditText(this) var dialog=AlertDialog.Builder(this).setTitle("Naziv").setMessage("Unesite naziv") .setView(editText) + if(searchBar.text!=null && searchBar.text.toString().trim()!="") + editText.setText(searchBar.text.toString()) dialog.setPositiveButton("Dodaj") { dialog, which -> uploadLocation(editText.text.toString()) } -- cgit v1.2.3 From 7d2e70fd3770bf7c8c206f7affa860c06de6b271 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 21:15:58 +0100 Subject: Prosiren model korisnika sa favourite. Dodavanje favourite objave i kod korisnika i kod objave. --- Backend/Api/Api/Models/User.cs | 4 +++- Backend/Api/Api/Services/PostService.cs | 6 ++++++ Backend/Api/Api/Services/UserService.cs | 10 +++++++--- .../src/main/java/com/example/brzodolokacije/Models/User.kt | 3 ++- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Backend/Api/Api/Models/User.cs b/Backend/Api/Api/Models/User.cs index cf16dbe..52d0f24 100644 --- a/Backend/Api/Api/Models/User.cs +++ b/Backend/Api/Api/Models/User.cs @@ -21,6 +21,7 @@ namespace Api.Models public List following { get; set; } public int followersCount { get; set; } public int followingCount { get; set; } + public List? favourites { get; set; } } public class Login @@ -68,7 +69,8 @@ namespace Api.Models public List following { get; set; } public int followersCount { get; set; } - public int followingCount { get; set; } + public int followingCount { get; set; } + public List? favourites { get; set; } } diff --git a/Backend/Api/Api/Services/PostService.cs b/Backend/Api/Api/Services/PostService.cs index 6d28206..cb59330 100644 --- a/Backend/Api/Api/Services/PostService.cs +++ b/Backend/Api/Api/Services/PostService.cs @@ -557,22 +557,28 @@ namespace Api.Services { string userId = _httpContext.HttpContext.User.FindFirstValue("id"); var result = false; + var user = await _users.Find(x => x._id == userId).FirstOrDefaultAsync(); Post post = await _posts.Find(x => x._id == postId).FirstOrDefaultAsync(); if (userId == null || post==null) return result; if (post.favourites == null) post.favourites = new List(); + if(user.favourites==null) + user.favourites= new List(); if (post.favourites.Contains(userId)) { post.favourites.Remove(userId); + user.favourites.Remove(post._id); result = false; } else { post.favourites.Add(userId); + user.favourites.Add(post._id); result = true; } + await _users.ReplaceOneAsync(x => x._id == user._id, user); await _posts.ReplaceOneAsync(x => x._id == postId, post); return result; diff --git a/Backend/Api/Api/Services/UserService.cs b/Backend/Api/Api/Services/UserService.cs index 781afa8..2b3f0b8 100644 --- a/Backend/Api/Api/Services/UserService.cs +++ b/Backend/Api/Api/Services/UserService.cs @@ -17,9 +17,7 @@ namespace Api.Services private readonly IMongoCollection _posts; private readonly IJwtService _jwtService; private IConfiguration _configuration; - private readonly IFileService _fileService; - - private readonly IMongoCollection _usersSend; + private readonly IFileService _fileService; public UserService(IDatabaseConnection settings, IMongoClient mongoClient, IJwtService jwtService, IHttpContextAccessor httpContextAccessor, IConfiguration configuration, IFileService fileService) { var database = mongoClient.GetDatabase(settings.DatabaseName); @@ -364,6 +362,7 @@ namespace Api.Services tosend.followingCount = user.followingCount; tosend.followers = user.followers; tosend.following = user.following; + tosend.favourites = user.favourites; var userposts = await _posts.Find(x => x.ownerId == user._id).ToListAsync(); tosend.postcount = userposts.Count(); return tosend; @@ -384,6 +383,7 @@ namespace Api.Services tosend.followingCount = user.followingCount; tosend.followers = user.followers; tosend.following = user.following; + tosend.favourites = user.favourites; var userposts = await _posts.Find(x => x.ownerId == user._id).ToListAsync(); tosend.postcount = userposts.Count(); return tosend; @@ -476,6 +476,7 @@ namespace Api.Services follower.followers = utemp.followers; follower.followersCount = utemp.followersCount; follower.followingCount = utemp.followingCount; + follower.favourites = utemp.favourites; follower._id = utemp._id; @@ -515,6 +516,7 @@ namespace Api.Services follower._id = utemp._id; follower.followersCount = utemp.followersCount; follower.followingCount = utemp.followingCount; + follower.favourites = utemp.favourites; following.Add((UserSend)follower); } @@ -558,6 +560,7 @@ namespace Api.Services following._id = utemp._id; following.followersCount = utemp.followersCount; following.followingCount = utemp.followingCount; + following.favourites=utemp.favourites; myFollowings.Add((UserSend)following); } @@ -672,6 +675,7 @@ namespace Api.Services follower.followersCount = utemp.followersCount; follower.followingCount = utemp.followingCount; follower._id = utemp._id; + follower.favourites = utemp.favourites; myfollowers.Add((UserSend)follower); } return myfollowers; diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt index 6e282a9..072be55 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt @@ -34,5 +34,6 @@ data class UserReceive( var following:List, var followingCount:Int, var postIds:List, - var postNumber:Int + var postNumber:Int, + var favourites:List? ) \ No newline at end of file -- cgit v1.2.3 From aaa5cf630a4516274df96499002d566c35995a08 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 21:23:29 +0100 Subject: Promenjena lokacija u navbaru za dodavanje postova. Promenjena boja. --- .../debug/res/drawable-anydpi/add_post_red_image.xml | 16 ++++++++++++++++ .../src/debug/res/drawable-hdpi/add_post_red_image.png | Bin 0 -> 610 bytes .../src/debug/res/drawable-mdpi/add_post_red_image.png | Bin 0 -> 464 bytes .../src/debug/res/drawable-xhdpi/add_post_red_image.png | Bin 0 -> 892 bytes .../debug/res/drawable-xxhdpi/add_post_red_image.png | Bin 0 -> 1286 bytes .../main/res/drawable/ic_baseline_add_post_red_24.xml | 5 +++++ .../app/src/main/res/menu/bottom_nav_menu.xml | 8 ++++---- 7 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/debug/res/drawable-anydpi/add_post_red_image.xml create mode 100644 Client/BrzoDoLokacije/app/src/debug/res/drawable-hdpi/add_post_red_image.png create mode 100644 Client/BrzoDoLokacije/app/src/debug/res/drawable-mdpi/add_post_red_image.png create mode 100644 Client/BrzoDoLokacije/app/src/debug/res/drawable-xhdpi/add_post_red_image.png create mode 100644 Client/BrzoDoLokacije/app/src/debug/res/drawable-xxhdpi/add_post_red_image.png create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_add_post_red_24.xml diff --git a/Client/BrzoDoLokacije/app/src/debug/res/drawable-anydpi/add_post_red_image.xml b/Client/BrzoDoLokacije/app/src/debug/res/drawable-anydpi/add_post_red_image.xml new file mode 100644 index 0000000..a7524a9 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/debug/res/drawable-anydpi/add_post_red_image.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/Client/BrzoDoLokacije/app/src/debug/res/drawable-hdpi/add_post_red_image.png b/Client/BrzoDoLokacije/app/src/debug/res/drawable-hdpi/add_post_red_image.png new file mode 100644 index 0000000..b4fd600 Binary files /dev/null and b/Client/BrzoDoLokacije/app/src/debug/res/drawable-hdpi/add_post_red_image.png differ diff --git a/Client/BrzoDoLokacije/app/src/debug/res/drawable-mdpi/add_post_red_image.png b/Client/BrzoDoLokacije/app/src/debug/res/drawable-mdpi/add_post_red_image.png new file mode 100644 index 0000000..5cc1ebf Binary files /dev/null and b/Client/BrzoDoLokacije/app/src/debug/res/drawable-mdpi/add_post_red_image.png differ diff --git a/Client/BrzoDoLokacije/app/src/debug/res/drawable-xhdpi/add_post_red_image.png b/Client/BrzoDoLokacije/app/src/debug/res/drawable-xhdpi/add_post_red_image.png new file mode 100644 index 0000000..8c33142 Binary files /dev/null and b/Client/BrzoDoLokacije/app/src/debug/res/drawable-xhdpi/add_post_red_image.png differ diff --git a/Client/BrzoDoLokacije/app/src/debug/res/drawable-xxhdpi/add_post_red_image.png b/Client/BrzoDoLokacije/app/src/debug/res/drawable-xxhdpi/add_post_red_image.png new file mode 100644 index 0000000..0745c58 Binary files /dev/null and b/Client/BrzoDoLokacije/app/src/debug/res/drawable-xxhdpi/add_post_red_image.png differ diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_add_post_red_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_add_post_red_24.xml new file mode 100644 index 0000000..111c9a1 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_add_post_red_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/menu/bottom_nav_menu.xml b/Client/BrzoDoLokacije/app/src/main/res/menu/bottom_nav_menu.xml index c024570..405bc3c 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/menu/bottom_nav_menu.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/menu/bottom_nav_menu.xml @@ -8,14 +8,14 @@ android:id="@+id/navAllPosts" android:icon="@drawable/ic_baseline_list_24" android:title="Sve objave" /> + - Date: Wed, 7 Dec 2022 21:34:13 +0100 Subject: Izmenjem poziv za slike chatova da preuzima kompresovane slike. --- .../java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt index 478a8ea..56f7900 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt @@ -70,7 +70,7 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha tvUsername.text=user.username if(user.pfp!=null) { Glide.with(activity) - .load(RetrofitHelper.baseUrl + "/api/post/image/" + user.pfp!!._id) + .load(RetrofitHelper.baseUrl + "/api/post/image/compress/" + user.pfp!!._id) .circleCrop() .into(ivUserImage) } -- cgit v1.2.3 From 5d9040be525a7c53c7eb37802cb40d7f9e75d20c Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Wed, 7 Dec 2022 21:45:09 +0100 Subject: Dobar prikaz teksta koji zauzima vise linija pri kucanju poruka, izmenjen izgled polja za unos poruke #80 --- .../.idea/deploymentTargetDropDown.xml | 4 +- .../res/drawable/ic_baseline_send_white_24.xml | 5 +++ .../main/res/layout/activity_chat_conversation.xml | 48 ++++++++++++++-------- .../app/src/main/res/layout/chat_message_other.xml | 4 +- 4 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_send_white_24.xml diff --git a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml index af6c93b..59f1e26 100644 --- a/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml +++ b/Client/BrzoDoLokacije/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_send_white_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_send_white_24.xml new file mode 100644 index 0000000..4cf0a52 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_baseline_send_white_24.xml @@ -0,0 +1,5 @@ + + + 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 4dcab31..ca8a043 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 @@ -92,16 +92,19 @@ + @@ -109,24 +112,37 @@ android:id="@+id/etNewMessage" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/rounded_white_button_login" - android:hint=" poruka" - android:inputType="textPersonName" - android:paddingLeft="15dp" + android:backgroundTint="@color/white" + android:hint="Ukucajte poruku..." + android:paddingLeft="10dp" tools:ignore="TouchTargetSizeCheck" - android:autofillHints="emailAddress"/> + android:inputType="textCapSentences|textMultiLine"/> + + + + - + \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml index 68a796d..a396f07 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/chat_message_other.xml @@ -26,7 +26,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" - android:backgroundTint="#eef1f6" + android:backgroundTint="@color/purple_500" android:background="@drawable/view_corner_radius" app:cardCornerRadius="15dp" app:layout_constraintStart_toStartOf="parent" @@ -39,7 +39,7 @@ android:layout_height="wrap_content" android:maxLines="50" android:maxWidth="300dp" - android:backgroundTint="#eef1f6" + android:textColor="@color/white" android:padding="5dp" android:paddingHorizontal="15dp" app:layout_constraintStart_toStartOf="parent" -- cgit v1.2.3 From 7a455a613fe4bb9d8cd935cc6f670736485d37e5 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 7 Dec 2022 21:46:04 +0100 Subject: Dodat prikaz tagova na objavi. --- .../Activities/ActivitySinglePost.kt | 35 ++++++++++++++++++---- .../src/main/res/layout/activity_single_post.xml | 11 ++++++- 2 files changed, 40 insertions(+), 6 deletions(-) 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 6b22a2f..2f5b2d2 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 @@ -4,15 +4,16 @@ import android.content.Intent import android.graphics.Color import android.os.Bundle import android.preference.PreferenceManager +import android.util.TypedValue +import android.view.View import android.view.ViewGroup -import android.widget.FrameLayout -import android.widget.ImageView -import android.widget.TextView +import android.widget.* 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.core.view.setMargins import androidx.fragment.app.FragmentTransaction import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -49,6 +50,7 @@ class ActivitySinglePost : AppCompatActivity() { private var recyclerViewImages: RecyclerView?=null private var recyclerViewComments: RecyclerView?=null private var favouriteImage: ImageView?=null + private lateinit var tagLayout: LinearLayout public lateinit var post: PostPreview @@ -77,7 +79,6 @@ class ActivitySinglePost : AppCompatActivity() { btnChangeHeightUp.isVisible=true btnChangeHeightUp.isGone=false btnChangeHeightUp.isClickable=true - linearLayout2=findViewById(R.id.linearLayout2) linearLayout2.setOnClickListener { @@ -108,9 +109,13 @@ class ActivitySinglePost : AppCompatActivity() { favouriteImage=binding.ivFavourite - // set recyclerView attributes + tagLayout = binding.llTags + loadTags() loadFavourite() + // set recyclerView attributes + + translateOwnerIdToName(post.ownerId) @@ -177,6 +182,26 @@ class ActivitySinglePost : AppCompatActivity() { } + } + fun loadTags(){ + if(post.tags!=null) + for( item in post.tags!!){ + var newbtn = Button(this) + newbtn.text = item + var layoutParams = LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + 50 + ) + layoutParams.setMargins(3) + newbtn.layoutParams=layoutParams + newbtn.setBackgroundColor(Color.parseColor("#1C789A")) + newbtn.setTextColor(Color.WHITE) + newbtn.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10F) + newbtn.setPadding(3,1,3,1) + newbtn.isClickable=false + tagLayout.addView(newbtn) + } + } fun loadFavourite(){ 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 243dfd0..15e81cf 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 @@ -94,6 +94,15 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tvLocationType" /> + + + app:layout_constraintTop_toBottomOf="@+id/llTags"> Date: Wed, 7 Dec 2022 22:00:11 +0100 Subject: Dobar prikaz teksta koji zauzima vise linija pri kucanju komentara, izmenjen izgled polja za unos komentara #81 --- .../brzodolokacije/Adapters/CommentsAdapter.kt | 4 +- .../res/layout/fragment_single_post_comments.xml | 61 ++++++++++++++++----- .../app/src/main/res/layout/single_comment.xml | 64 ++++++++++++++++------ 3 files changed, 96 insertions(+), 33 deletions(-) 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 8f737a3..6964209 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 @@ -80,7 +80,7 @@ class CommentsAdapter (val items : MutableList,val activity: Activi else{ showKeyboard(etReply) btnPostReply.setOnClickListener{ - if(etReply.text.isNotEmpty()){ + if(etReply.text!!.isNotEmpty()){ val postId=(activity as ActivitySinglePost).post._id Log.d("main",binding.toString()) val comment= CommentReceive(etReply.text.toString(),item._id) @@ -121,7 +121,7 @@ class CommentsAdapter (val items : MutableList,val activity: Activi if(response.isSuccessful){ var newComment=response.body()!! requestGetComments(newComment) - itemView.etReply.text.clear() + itemView.etReply.text!!.clear() hideKeyboard(itemView.etReply) itemView.etReply.clearFocus() }else{ 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 index 250f640..005c802 100644 --- 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 @@ -50,29 +50,60 @@ app:layout_constraintTop_toBottomOf="@+id/postCommentLayout"> - - - + android:minHeight="40dp" + android:layout_marginBottom="5dp" + android:layout_marginHorizontal="10dp" + android:elevation="16dp" + app:cardCornerRadius="20dp"> + + + + + + - - + + + \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/single_comment.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/single_comment.xml index 5e0dc03..45ecde0 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/single_comment.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/single_comment.xml @@ -58,26 +58,58 @@ + android:layout_height="wrap_content"> - - + android:minHeight="40dp" + android:layout_marginBottom="5dp" + android:layout_marginHorizontal="10dp" + android:elevation="16dp" + app:cardCornerRadius="20dp"> + + + + + + + + + + Date: Thu, 8 Dec 2022 00:47:08 +0100 Subject: Resen problem refresha četa i liste četova kada se posalje ili primi poruka #80 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../brzodolokacije/Activities/ChatActivity.kt | 10 +++---- .../brzodolokacije/Adapters/ChatPreviewsAdapter.kt | 31 +++++++++++++++------- .../com/example/brzodolokacije/chat/DBHelper.kt | 1 - 3 files changed, 26 insertions(+), 16 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 efbfd7a..aafd313 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 @@ -88,7 +88,6 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener { ws=SignalRListener.getInstance(this@ChatActivity) setListeners() setRecyclerView() - requestNewMessages() swipeRefreshLayout = binding.swipeContainer swipeRefreshLayout?.setOnRefreshListener(this@ChatActivity) swipeRefreshLayout?.setColorSchemeResources( @@ -97,11 +96,12 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener { R.color.dark_blue_transparent, R.color.purple_700 ) - swipeRefreshLayout?.post(kotlinx.coroutines.Runnable { - swipeRefreshLayout?.isRefreshing=true - requestNewMessages() - }) + } + override fun onResume() { + super.onResume() + clickedChat=null + requestNewMessages() } fun launchNotificationPermissionPrompt(){ diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt index 56f7900..1ed6542 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ChatPreviewsAdapter.kt @@ -42,16 +42,6 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha override fun onBindViewHolder(holder: ViewHolder, position: Int){ //sets components of particular item holder.bind(items[position]) - holder.itemView.setOnClickListener { - val intent: Intent = Intent(activity, ChatActivityConversation::class.java) - intent.putExtra("userId",items[position].userId) - intent.putExtra("username",holder.itemView.tvUsername.text) - intent.putExtra("pfp",holder.itemView.ivUserImage.drawable.toBitmap(200,200)) - db.readContact(items[position].userId) - items[position].read=true - holder.itemView.tvUsername.typeface= Typeface.DEFAULT - activity.startActivity(intent) - } } override fun getItemCount() = items.size inner class ViewHolder(itemView : ChatPreviewBinding) : RecyclerView.ViewHolder(itemView.root){ @@ -106,6 +96,16 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha } } + itemView.setOnClickListener { + val intent: Intent = Intent(activity, ChatActivityConversation::class.java) + intent.putExtra("userId",items[position].userId) + intent.putExtra("username",itemView.tvUsername.text) + intent.putExtra("pfp",itemView.ivUserImage.drawable.toBitmap(200,200)) + db.readContact(items[position].userId) + items[position].read=true + setRead() + activity.startActivity(intent) + } } } fun isDifferentDays(c1:Calendar,c2:Calendar):Boolean{ @@ -127,5 +127,16 @@ class ChatPreviewsAdapter (val items : MutableList,val activity:Cha itemView.readIndicator.background= ContextCompat.getDrawable(activity,R.color.dark_blue_transparent) itemView.readIndicator.invalidate() } + + fun setRead(){ + itemView.tvUsername.typeface= Typeface.DEFAULT + itemView.tvUsername.invalidate() + itemView.tvLastMessage.typeface= Typeface.DEFAULT + itemView.tvLastMessage.invalidate() + itemView.tvLastMessageDate.typeface= Typeface.DEFAULT + itemView.tvLastMessageDate.invalidate() + itemView.readIndicator.background= ContextCompat.getDrawable(activity,R.color.white) + itemView.readIndicator.invalidate() + } } } \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt index 041eebb..f1ce85e 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt @@ -175,7 +175,6 @@ class DBHelper : ) Log.d("main",cal.time.toString()) - readContact(userId) return msg } return null -- cgit v1.2.3 From 3ea82a33409b1f6a6c1cec19b11648e3f15ea625 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Thu, 8 Dec 2022 01:40:00 +0100 Subject: Na listi cetova je redosled od novijih do starijih poruka #80 --- .../src/main/java/com/example/brzodolokacije/chat/DBHelper.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt index f1ce85e..8354a90 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt @@ -216,6 +216,8 @@ class DBHelper : } fun getContacts(): MutableList? { + var mapChats:Map + mapChats= mutableMapOf() onCreate(db) var sql="SELECT * FROM "+ CONTACTS_TABLE_NAME var cursor=db?.rawQuery(sql,null) @@ -225,10 +227,14 @@ class DBHelper : var readIndex=cursor.getColumnIndexOrThrow("read") var usernameIndex=cursor.getColumnIndexOrThrow("username") while(cursor.moveToNext()){ - contactList.add(ChatPreview(cursor.getString(userIdIndex),cursor.getInt(readIndex)==1,cursor.getString(usernameIndex))) + var chat=ChatPreview(cursor.getString(userIdIndex),cursor.getInt(readIndex)==1,cursor.getString(usernameIndex)) + var lastMessage=getLastMessage(chat.userId)?.usableTimeStamp!!.timeInMillis + mapChats[lastMessage]=chat + contactList.add(chat) } + var sorted=mapChats.toSortedMap(kotlin.Comparator { o1, o2 -> (o2-o1).toInt() }) Log.d("main",contactList.size.toString()) - return contactList + return ArrayList(sorted.values).toMutableList() } return null } -- cgit v1.2.3 From 3ddec81be8cd828115ff3dfa8180a9440995a6fe Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Thu, 8 Dec 2022 02:56:41 +0100 Subject: Resen problem refresha kada treba da se ucita prva poruka #80 --- .../brzodolokacije/Activities/ChatActivity.kt | 14 +++++++----- .../com/example/brzodolokacije/chat/DBHelper.kt | 5 +---- .../example/brzodolokacije/chat/SignalRListener.kt | 2 +- .../app/src/main/res/layout/activity_chat.xml | 26 +++++++++++++--------- 4 files changed, 26 insertions(+), 21 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 aafd313..9c489b3 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 @@ -26,6 +26,8 @@ import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.Services.SharedPreferencesHelper import com.example.brzodolokacije.chat.SignalRListener import com.example.brzodolokacije.databinding.ActivityChatBinding +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.launch import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -143,10 +145,11 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener { } fun requestForChats(){ - var dbHelper= DBHelper.getInstance(this@ChatActivity) - items=dbHelper.getContacts() - adapterVar= items?.let { ChatPreviewsAdapter(it,this@ChatActivity) } - setRecyclerView(setParams = false) + MainScope().launch{ + var dbHelper= DBHelper.getInstance(this@ChatActivity) + items=dbHelper.getContacts() + setRecyclerView() + } } fun requestNewMessages(){ @@ -164,7 +167,8 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener { cal.time=message.timestamp dbHelper.addMessage( Message(message.senderId+message.timestamp,message.senderId, - JWT(SharedPreferencesHelper.getValue("jwt",this@ChatActivity)!!).claims["id"]?.asString()!!,message.messagge,message.timestamp,cal),false) + JWT(SharedPreferencesHelper.getValue("jwt",this@ChatActivity)!!).claims["id"]?.asString()!!,message.messagge,message.timestamp,cal),false) + } } requestForChats() diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt index 8354a90..5808aab 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/DBHelper.kt @@ -215,14 +215,13 @@ class DBHelper : return null } - fun getContacts(): MutableList? { + suspend fun getContacts(): MutableList? { var mapChats:Map mapChats= mutableMapOf() onCreate(db) var sql="SELECT * FROM "+ CONTACTS_TABLE_NAME var cursor=db?.rawQuery(sql,null) if(cursor?.count!! >0){ - var contactList:MutableList =mutableListOf() var userIdIndex=cursor.getColumnIndexOrThrow("userId") var readIndex=cursor.getColumnIndexOrThrow("read") var usernameIndex=cursor.getColumnIndexOrThrow("username") @@ -230,10 +229,8 @@ class DBHelper : var chat=ChatPreview(cursor.getString(userIdIndex),cursor.getInt(readIndex)==1,cursor.getString(usernameIndex)) var lastMessage=getLastMessage(chat.userId)?.usableTimeStamp!!.timeInMillis mapChats[lastMessage]=chat - contactList.add(chat) } var sorted=mapChats.toSortedMap(kotlin.Comparator { o1, o2 -> (o2-o1).toInt() }) - Log.d("main",contactList.size.toString()) return ArrayList(sorted.values).toMutableList() } return null diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/SignalRListener.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/SignalRListener.kt index 627d7c0..35088a5 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/SignalRListener.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/chat/SignalRListener.kt @@ -82,7 +82,7 @@ class SignalRListener private constructor(val activity: Activity){ if(activity.clickedChat?.userId==message.senderId){ activity.clickedChat?.requestMessages() } - activity.requestNewMessages() + activity.onRefresh() } when { ContextCompat.checkSelfPermission(activity, 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 0b4a589..9815ce1 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_chat.xml @@ -61,23 +61,27 @@ + app:layout_constraintTop_toBottomOf="@id/llHeader" + app:layout_constraintVertical_bias="0.0" + tools:layout_editor_absoluteX="0dp"> - + android:layout_height="match_parent"> - + + + + \ No newline at end of file -- cgit v1.2.3 From 97d62835b3e52395022d3f5920ddb1658b9c4c18 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Thu, 8 Dec 2022 11:56:04 +0100 Subject: Dodata aktivnost za izmenu lozinke. --- .../app/src/main/AndroidManifest.xml | 13 +- .../Activities/ActivityChangePassword.kt | 11 ++ .../main/res/layout/activity_change_password.xml | 179 +++++++++++++++++++++ 3 files changed, 200 insertions(+), 3 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt create mode 100644 Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 49e17d8..347fdc6 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ - + + + + + android:screenOrientation="portrait" + android:windowSoftInputMode="stateAlwaysHidden|adjustPan" /> diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt new file mode 100644 index 0000000..fbe3f4d --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt @@ -0,0 +1,11 @@ +package com.example.brzodolokacije.Activities + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle + +class ActivityChangePassword : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_change_password) + } +} \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml new file mode 100644 index 0000000..a7a1d5f --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + +