From 052a0cb1b424728aa6f03d08d009c50dd5bc4c13 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 20:01:35 +0100 Subject: Dodate poruke za korisnika prilikom resetovanja sifre. --- .../Activities/ActivityForgottenPassword.kt | 6 ++++++ .../Activities/ActivityForgottenPasswordVerify.kt | 16 ++++++++++++++++ .../src/main/res/layout/activity_forgotten_password.xml | 9 ++++++--- .../res/layout/activity_forgotten_password_verify.xml | 6 +++++- 4 files changed, 33 insertions(+), 4 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt index b0b7f5e..6dfbeb0 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt @@ -46,13 +46,19 @@ class ActivityForgottenPassword : AppCompatActivity() { val intent = Intent(cont, ActivityForgottenPasswordVerify::class.java) intent.putExtra("email", emailString) startActivity(intent) + }else{ + Toast.makeText(this@ActivityForgottenPassword,"Email ne postoji",Toast.LENGTH_LONG).show() } } override fun onFailure(call: Call, t: Throwable) { + Toast.makeText(this@ActivityForgottenPassword,"Email ne postoji",Toast.LENGTH_LONG).show() } }) } + else{ + Toast.makeText(this@ActivityForgottenPassword,"Unesite validan email",Toast.LENGTH_LONG).show() + } } } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt index a1db97f..a519a32 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt @@ -1,6 +1,7 @@ package com.example.brzodolokacije.Activities import android.content.Intent +import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View @@ -36,6 +37,19 @@ class ActivityForgottenPasswordVerify : AppCompatActivity() { var pwstr=pw.text.toString().trim() var pwchkstr=pwchk.text.toString().trim() var kodstr=kod.text.toString().trim() + if(kodstr.isEmpty()) + { + kod.hint = "Unesite kod" + kod.setHintTextColor(Color.RED) + } + if(pwstr.isEmpty()){ + pw.hint = "Unesite novu lozinku" + pw.setHintTextColor(Color.RED) + } + if(pwchkstr.isEmpty()){ + pwchk.hint = "Potvrdite novu lozinku" + pwchk.setHintTextColor(Color.RED) + } if(!kodstr.isEmpty() && checkPassword(pwstr,pwchkstr)){ var resetData= ResetPass(email!!,kodstr,pwstr) @@ -47,6 +61,8 @@ class ActivityForgottenPasswordVerify : AppCompatActivity() { if(response.code()==200){ intent = Intent(cont, ActivityLoginRegister::class.java) startActivity(intent) + }else{ + Toast.makeText(this@ActivityForgottenPasswordVerify,"Nevalidan kod",Toast.LENGTH_LONG).show() } } override fun onFailure(call: Call, t: Throwable) { diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password.xml index 5841b49..95545c2 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password.xml @@ -5,10 +5,12 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Activities.ActivityForgottenPassword"> - + + \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password_verify.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password_verify.xml index c652469..0b8b7f0 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password_verify.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_forgotten_password_verify.xml @@ -6,8 +6,11 @@ android:layout_height="match_parent" tools:context=".Activities.ActivityForgottenPassword"> + + \ No newline at end of file -- cgit v1.2.3 From cb8a7f652aa308997a4dd7257fe9b70f78f33dda Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 20:04:20 +0100 Subject: Ispravljen bug datum. --- .../java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Client') 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 040edf3..902a985 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 @@ -317,7 +317,7 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { tvNumberOfRatings.invalidate() //tvRating.text=String.format("%.2f",data.ratings) //tvNumberOfRatings.text=String.format("%d",data.ratingscount) - tvDatePosted.text=SimpleDateFormat("dd/MM/yyyy").format(post.lastViewed) + tvDatePosted.text=SimpleDateFormat("dd/MM/yyyy").format(post.createdAt) tvDatePosted.invalidate() } -- cgit v1.2.3 From 1569545d3908daf74ad863c33377fa28bf100b63 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 20:58:19 +0100 Subject: Dodate tackice koje pokazuju trenutnu lokaciju u navigaciji slika.(Tackice na skrolovanje kroz slike) --- .../Activities/ActivityOpenedImages.kt | 8 ++ .../Activities/ActivitySinglePost.kt | 10 +- .../Services/LinePagerIndicatorDecoration.kt | 111 +++++++++++++++++++++ 3 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/LinePagerIndicatorDecoration.kt (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt index d1f1e4c..f1c704e 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt @@ -1,5 +1,6 @@ package com.example.brzodolokacije.Activities +import LinePagerIndicatorDecoration import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Build @@ -7,6 +8,7 @@ import android.os.Bundle import android.provider.MediaStore import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.PagerSnapHelper import androidx.recyclerview.widget.RecyclerView @@ -17,6 +19,7 @@ import com.bumptech.glide.request.transition.Transition import com.example.brzodolokacije.Adapters.OpenedPostImageAdapter import com.example.brzodolokacije.Models.PostImage import com.example.brzodolokacije.Models.PostPreview +import com.example.brzodolokacije.R import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.databinding.ActivityOpenedImagesBinding import java.util.* @@ -78,6 +81,11 @@ class ActivityOpenedImages : AppCompatActivity() { snap.attachToRecyclerView(rvImages) rvImages!!.layoutManager=linearLayout rvImages!!.adapter=adapter + //tackice + var color = ContextCompat.getColor(this@ActivityOpenedImages, R.color.unfollow) + var color1 = ContextCompat.getColor(this@ActivityOpenedImages, R.color.button_main) + if(images!!.size>1) + rvImages!!.addItemDecoration(LinePagerIndicatorDecoration(10,10,100,color,color1)) } } \ 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 902a985..3ad60de 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt @@ -1,12 +1,13 @@ package com.example.brzodolokacije.Activities +import LinePagerIndicatorDecoration import android.content.Intent import android.graphics.Color -import android.graphics.drawable.GradientDrawable import android.os.Bundle import android.preference.PreferenceManager import android.util.TypedValue import android.view.ViewGroup +import android.view.ViewGroup.MarginLayoutParams import android.widget.* import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout @@ -35,6 +36,7 @@ import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.Services.SharedPreferencesHelper import com.example.brzodolokacije.databinding.ActivitySinglePostBinding import com.google.gson.Gson +import kotlinx.android.synthetic.main.activity_single_post.* import org.osmdroid.config.Configuration import org.osmdroid.tileprovider.tilesource.TileSourceFactory import org.osmdroid.util.GeoPoint @@ -89,6 +91,7 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { btnChangeHeightUp.isClickable=true linearLayout2=findViewById(R.id.linearLayout2) + linearLayout2.setOnClickListener { linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT; } @@ -99,6 +102,11 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { adapterImages= PostImageAdapter(this@ActivitySinglePost, post.images as MutableList) layoutManagerImages= LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false) recyclerViewImages = binding.rvMain + //tackice image + var color = ContextCompat.getColor(this@ActivitySinglePost, R.color.unfollow) + var color1 = ContextCompat.getColor(this@ActivitySinglePost, R.color.button_main) + if(post.images.size>1) + recyclerViewImages!!.addItemDecoration(LinePagerIndicatorDecoration(10,10,100,color,color1)) //DODATI SLIKE recyclerViewImages?.setHasFixedSize(true) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/LinePagerIndicatorDecoration.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/LinePagerIndicatorDecoration.kt new file mode 100644 index 0000000..31f03ab --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/LinePagerIndicatorDecoration.kt @@ -0,0 +1,111 @@ +import android.content.res.Resources +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.Rect +import android.view.View +import androidx.annotation.ColorInt +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.ItemDecoration + + +class LinePagerIndicatorDecoration( + radius: Int, + padding: Int, + indicatorHeight: Int, + @ColorInt colorInactive: Int, + @ColorInt colorActive: Int +) : + ItemDecoration() { + private val indicatorHeight: Int + private val indicatorItemPadding: Int + private val radius: Int + private val inactivePaint: Paint = Paint() + private val activePaint: Paint = Paint() + + init { + val strokeWidth: Float = Resources.getSystem().getDisplayMetrics().density * 1 + this.radius = radius + inactivePaint.setStrokeCap(Paint.Cap.ROUND) + inactivePaint.setStrokeWidth(strokeWidth) + inactivePaint.setStyle(Paint.Style.STROKE) + inactivePaint.setAntiAlias(true) + inactivePaint.setColor(colorInactive) + activePaint.setStrokeCap(Paint.Cap.ROUND) + activePaint.setStrokeWidth(strokeWidth) + activePaint.setStyle(Paint.Style.FILL) + activePaint.setAntiAlias(true) + activePaint.setColor(colorActive) + indicatorItemPadding = padding + this.indicatorHeight = indicatorHeight + } + + override fun onDrawOver(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + super.onDrawOver(c, parent, state) + val adapter = parent.adapter ?: return + val itemCount = adapter.itemCount + + // center horizontally, calculate width and subtract half from center + val totalLength = (radius * 2 * itemCount).toFloat() + val paddingBetweenItems = (Math.max(0, itemCount - 1) * indicatorItemPadding).toFloat() + val indicatorTotalWidth = totalLength + paddingBetweenItems + val indicatorStartX = (parent.width - indicatorTotalWidth) / 2f + + // center vertically in the allotted space + val indicatorPosY = parent.height - indicatorHeight / 2f + drawInactiveDots(c, indicatorStartX, indicatorPosY, itemCount) + val activePosition: Int + activePosition = if (parent.layoutManager is GridLayoutManager) { + (parent.layoutManager as GridLayoutManager?)!!.findFirstVisibleItemPosition() + } else if (parent.layoutManager is LinearLayoutManager) { + (parent.layoutManager as LinearLayoutManager?)!!.findFirstVisibleItemPosition() + } else { + // not supported layout manager + return + } + if (activePosition == RecyclerView.NO_POSITION) { + return + } + + // find offset of active page if the user is scrolling + val activeChild = parent.layoutManager!!.findViewByPosition(activePosition) + ?: return + drawActiveDot(c, indicatorStartX, indicatorPosY, activePosition) + } + + private fun drawInactiveDots( + c: Canvas, + indicatorStartX: Float, + indicatorPosY: Float, + itemCount: Int + ) { + // width of item indicator including padding + val itemWidth = (radius * 2 + indicatorItemPadding).toFloat() + var start = indicatorStartX + radius + for (i in 0 until itemCount) { + c.drawCircle(start, indicatorPosY, radius.toFloat(), inactivePaint) + start += itemWidth + } + } + + private fun drawActiveDot( + c: Canvas, indicatorStartX: Float, indicatorPosY: Float, + highlightPosition: Int + ) { + // width of item indicator including padding + val itemWidth = (radius * 2 + indicatorItemPadding).toFloat() + val highlightStart = indicatorStartX + radius + itemWidth * highlightPosition + c.drawCircle(highlightStart, indicatorPosY, radius.toFloat(), activePaint) + } + + override fun getItemOffsets( + outRect: Rect, + view: View, + parent: RecyclerView, + state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.bottom = indicatorHeight + } +} \ No newline at end of file -- cgit v1.2.3 From 1e23dbec5954951a8a426ea5dc6f4aabf1bdc61e Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 21:22:26 +0100 Subject: Promena boje teksta za odgovore komentara. --- .../main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt | 5 +++++ .../example/brzodolokacije/Fragments/FragmentSinglePostComments.kt | 1 + 2 files changed, 6 insertions(+) (limited to 'Client') 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 ea5a851..143b4a2 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 @@ -11,6 +11,7 @@ import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.Toast +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide @@ -21,6 +22,7 @@ import com.example.brzodolokacije.Interfaces.IBackendApi import com.example.brzodolokacije.Models.CommentReceive import com.example.brzodolokacije.Models.CommentSend 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.example.brzodolokacije.databinding.SingleCommentBinding @@ -58,6 +60,8 @@ class CommentsAdapter (val items : MutableList,val activity: Activi inner class ViewHolder(itemView : SingleCommentBinding) : RecyclerView.ViewHolder(itemView.root){ fun bind(item : CommentSend){ binding.apply { + var color = ContextCompat.getColor(activity, R.color.purple_500) + etReplyCount.setTextColor(color) tvCommentAuthor.text=item.username tvCommentText.text=item.comment Log.d("info",tvCommentText.text.toString()+binding.toString()) @@ -128,6 +132,7 @@ class CommentsAdapter (val items : MutableList,val activity: Activi } } fun setReplyCount(position: Int){ + if(items[position].replies!!.count()==1) itemView.etReplyCount.text=items[position].replies!!.count().toString() + " odgovor" else diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostComments.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostComments.kt index ca4505f..bdca6cd 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostComments.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostComments.kt @@ -128,6 +128,7 @@ class FragmentSinglePostComments : Fragment() { }) } else{ + newComment.replies= mutableListOf() (adapterComments as CommentsAdapter).items.add(0,newComment) recyclerViewComments?.adapter=adapterComments addedComment() -- cgit v1.2.3 From 835b5a865bc9ad713ce9b861ca1c05b36842900e Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 21:31:20 +0100 Subject: Onemoguceno dodavanje lokacije bez naslova. --- .../main/java/com/example/brzodolokacije/Activities/MapsActivity.kt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Client') 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 a8fe567..82fd7a4 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 @@ -137,6 +137,10 @@ class MapsActivity : AppCompatActivity() { } fun uploadLocation(locationName:String){ + if(locationName.isNullOrEmpty() ||locationName.toString().trim()=="") { + Toast.makeText(this@MapsActivity,"Morate uneti naziv lokacije",Toast.LENGTH_SHORT).show() + return + } val api =RetrofitHelper.getInstance() var geocoder=GeocoderHelper.getInstance() var loc1=geocoder!!.getFromLocation(locLatitude!!,locLongitude!!,1) -- cgit v1.2.3 From 94967caf988dffccb8b4c4a5b8955f94bd4709b9 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 22:58:45 +0100 Subject: Omogucena pretraga pracenja i pratioca. Dodat searchbar. Promenjen adapter sa horizontalnog u vertikalni. --- .../Fragments/FragmentUserFollowers.kt | 71 ++++++++++++++++++++-- .../Fragments/FragmentUserFollowing.kt | 65 +++++++++++++++++++- .../main/res/layout/fragment_user_followers.xml | 46 +++++++++++++- .../main/res/layout/fragment_user_following.xml | 46 +++++++++++++- 4 files changed, 214 insertions(+), 14 deletions(-) (limited to 'Client') 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..fe2dce3 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 + private lateinit var searchedFollowers:MutableList 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,61 @@ 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 + 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 +125,7 @@ class FragmentUserFollowers : Fragment() { } followers = response.body()!!.toMutableList() rvFollowers.apply { - layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false) + layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false) adapter= FollowersAdapter(followers,requireActivity()) } @@ -89,7 +150,7 @@ class FragmentUserFollowers : Fragment() { Log.d("MyFollowers","Successsssssssssssssssssssssssssssss") followers = response.body()!!.toMutableList() rvFollowers.apply { - layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false) + layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false) adapter= FollowersAdapter(followers,requireActivity()) } } 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..2406da8 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 + private lateinit var searchedFollowing:MutableList 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,14 +44,65 @@ 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() + 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(){ @@ -58,7 +117,7 @@ class FragmentUserFollowing : Fragment() { Log.d("Following","Successsssssssssssssssssssssssssssss") following = response.body()!!.toMutableList() rvFollowing.apply { - layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false) + layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false) adapter= FollowersAdapter(following,requireActivity()) } } @@ -80,7 +139,7 @@ class FragmentUserFollowing : Fragment() { Log.d("MyFollowings","Successsssssssssssssssssssssssssssss") following = response.body()!!.toMutableList() rvFollowing.apply { - layoutManager= LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL,false) + layoutManager= LinearLayoutManager(activity, LinearLayoutManager.VERTICAL,false) adapter= FollowersAdapter(following,requireActivity()) } } 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 @@ - + + + + + + + + + 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" /> - \ No newline at end of file + \ 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 @@ - + + + + + + + + + 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" /> - \ No newline at end of file + \ No newline at end of file -- cgit v1.2.3 From 05612cf3bbb09d66f3f167bc9428cbf072c4ef07 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 12 Dec 2022 23:08:38 +0100 Subject: Dodate provere za isInitialized i dodat override za onresume. --- .../brzodolokacije/Fragments/FragmentUserFollowers.kt | 11 +++++++++++ .../brzodolokacije/Fragments/FragmentUserFollowing.kt | 12 ++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Client') 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 fe2dce3..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 @@ -91,6 +91,8 @@ class FragmentUserFollowers : Fragment() { 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){ @@ -159,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 2406da8..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 @@ -89,6 +89,8 @@ class FragmentUserFollowing : Fragment() { 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)) @@ -149,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 -- cgit v1.2.3 From 93b54b306853c50852a7999b7383603bc138e294 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Mon, 12 Dec 2022 23:14:50 +0100 Subject: Uklonjena mogucnost slanja poruka samo preko korisnickog imena i dodata provera da li postoji korisnik kome se salje poruka #83 --- Backend/Api/Api/Services/MessageService.cs | 7 ++- .../brzodolokacije/Activities/ChatActivity.kt | 5 -- .../Activities/ChatActivityConversation.kt | 72 +--------------------- .../brzodolokacije/Services/RetrofitHelper.kt | 4 +- .../app/src/main/res/layout/activity_chat.xml | 12 ---- .../main/res/layout/activity_chat_conversation.xml | 25 -------- 6 files changed, 10 insertions(+), 115 deletions(-) (limited to 'Client') diff --git a/Backend/Api/Api/Services/MessageService.cs b/Backend/Api/Api/Services/MessageService.cs index 9cc818b..71df70c 100644 --- a/Backend/Api/Api/Services/MessageService.cs +++ b/Backend/Api/Api/Services/MessageService.cs @@ -10,13 +10,15 @@ namespace Api.Services { private readonly IHttpContextAccessor _httpContext; private readonly IMongoCollection _messages; + private readonly IUserService _userService; private readonly IJwtService _jwtService; private IConfiguration _configuration; private readonly IHubContext _chatHub; - public MessageService(IDatabaseConnection settings, IMongoClient mongoClient, IJwtService jwtService, IHttpContextAccessor httpContextAccessor, IConfiguration configuration,IHubContext chatHub) + public MessageService(IDatabaseConnection settings, IMongoClient mongoClient, IUserService userService, IJwtService jwtService, IHttpContextAccessor httpContextAccessor, IConfiguration configuration,IHubContext chatHub) { var database = mongoClient.GetDatabase(settings.DatabaseName); _messages = database.GetCollection(settings.MessageCollectionname); + _userService = userService; _jwtService = jwtService; _httpContext = httpContextAccessor; _configuration = configuration; @@ -29,6 +31,9 @@ namespace Api.Services var senderId = _httpContext.HttpContext.User.FindFirstValue("id").ToString(); if (senderId == null) return null; + var receiverCheck =await _userService.GetSelfUserData(msg.receiverId); + if (receiverCheck == null) + return null; var tempMsg = new Message(); tempMsg._id = ""; tempMsg.receiverId = msg.receiverId; 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..5ddea3d 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 @@ -132,11 +132,6 @@ class ChatActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener { fun setListeners(){ - findViewById(R.id.addNewMessage).setOnClickListener { - val intent: Intent = Intent(this@ChatActivity,ChatActivityConversation::class.java) - intent.putExtra("receiverId","") - startActivity(intent) - } findViewById(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(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(R.id.etReceiverUsername).text.toString() - val request=Api.getProfile("Bearer "+token, - receiverUsername!! - ) - request.enqueue(object : retrofit2.Callback { - override fun onResponse(call: Call, response: Response) { - 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 { - 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() - } - } - - override fun onFailure(call: Call, 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, 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/Services/RetrofitHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt index 88685e4..43c2109 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/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"> - - - - - - - - - -- cgit v1.2.3 From 9977ea2f02e374d0a48bc7912d1ac2dc284f1cdc Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Mon, 12 Dec 2022 23:18:05 +0100 Subject: fix #83 --- .../src/main/java/com/example/brzodolokacije/Activities/ChatActivity.kt | 1 - 1 file changed, 1 deletion(-) (limited to 'Client') 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 5ddea3d..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 -- cgit v1.2.3 From 0265341d5905799022cb02caca843707f6db87dd Mon Sep 17 00:00:00 2001 From: "branislav.radivojevic" Date: Tue, 13 Dec 2022 00:26:36 +0100 Subject: bug image view, commented swipeup on singlepost --- .../Activities/ActivitySinglePost.kt | 55 +++++++++++++++++++++- .../brzodolokacije/Services/RetrofitHelper.kt | 4 +- 2 files changed, 55 insertions(+), 4 deletions(-) (limited to 'Client') 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 3ad60de..d2a820f 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 @@ -5,13 +5,17 @@ import android.content.Intent import android.graphics.Color import android.os.Bundle import android.preference.PreferenceManager +import android.util.Log import android.util.TypedValue +import android.view.GestureDetector +import android.view.MotionEvent import android.view.ViewGroup import android.view.ViewGroup.MarginLayoutParams import android.widget.* import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat +import androidx.core.view.GestureDetectorCompat import androidx.core.view.isGone import androidx.core.view.isVisible import androidx.core.view.setMargins @@ -72,7 +76,7 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { private lateinit var btnChangeHeightUp:ImageView private lateinit var btnChangeHeightDown:ImageView private lateinit var fragmentContainer: FrameLayout - + //private lateinit var detector: GestureDetectorCompat override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding=ActivitySinglePostBinding.inflate(layoutInflater) @@ -96,7 +100,7 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT; } - + //detector= GestureDetectorCompat(this,SwipeGestureListener()) //instantiate adapter and linearLayout adapterImages= PostImageAdapter(this@ActivitySinglePost, post.images as MutableList) @@ -198,8 +202,53 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { R.color.dark_blue_transparent, R.color.purple_700 ) + + btnChangeHeightUp.performClick() + btnChangeHeightDown.performClick() + } + + /*override fun onTouchEvent(event: MotionEvent?): Boolean { + return if(event?.let { detector.onTouchEvent(it) } == true){ + Log.d("testing swipeup","------------------------") + true + } + else return super.onTouchEvent(event) } + inner class SwipeGestureListener : GestureDetector.SimpleOnGestureListener() { + private val SWIPE_THRESHOLD = 20 + private val SWIPE_VELOCITY_THRESHOLD = 20 + override fun onFling( + downEvent: MotionEvent, + moveEvent: MotionEvent, + velocityX: Float, + velocityY: Float + ): Boolean { + + Log.d("testing swipeup","------------------------") + var diffX = moveEvent?.x?.minus(downEvent!!.x) ?: 0.0F + var diffY = moveEvent?.y?.minus(downEvent!!.y) ?: 0.0F + + if (Math.abs(diffX) < Math.abs(diffY)) { + if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { + if (diffY > 0 ) { + //top to bot + + } + else { + //bot to top + btnChangeHeightUp.performClick() + } + + } + return true + }else{ + return super.onFling(downEvent, moveEvent, velocityX, velocityY) + } + return super.onFling(downEvent, moveEvent, velocityX, velocityY) + } + }*/ + fun setUpFirstFragment(){ var fm: FragmentTransaction =supportFragmentManager.beginTransaction() val fragment = FragmentSinglePostDescription() @@ -220,6 +269,8 @@ class ActivitySinglePost : AppCompatActivity(),OnRefreshListener { loadTags() loadFavourite() setUpFirstFragment() + btnChangeHeightUp.performClick() + btnChangeHeightDown.performClick() swipeRefreshLayout.isRefreshing=false } 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 88685e4..43c2109 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 -- cgit v1.2.3 From 4424b6957296b3138cf0fa73127af6b59ca0d95b Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Tue, 13 Dec 2022 01:11:34 +0100 Subject: postavke za release #83 --- Client/BrzoDoLokacije/app/build.gradle | 1 + .../src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt | 2 +- .../main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle index 0bc0fe8..2db362d 100644 --- a/Client/BrzoDoLokacije/app/build.gradle +++ b/Client/BrzoDoLokacije/app/build.gradle @@ -24,6 +24,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.debug } } compileOptions { diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt index fd5aa33..d0a9818 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt @@ -45,7 +45,7 @@ class FragmentHome : Fragment(R.layout.fragment_home) { val rootView = inflater?.inflate(R.layout.fragment_home, container, false) recyclerView = rootView?.findViewById(R.id.rvMain) // set recyclerView attributes - recyclerView?.setHasFixedSize(true) +// recyclerView?.setHasFixedSize(true) recyclerView?.layoutManager = layoutManagerVar recyclerView?.adapter = adapterVar return rootView 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 8bcbd72..5aab54a 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 @@ -187,7 +187,7 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { val rootView = inflater?.inflate(R.layout.fragment_show_posts, container, false) recyclerView = rootView?.findViewById(R.id.rvMain) // set recyclerView attributes - recyclerView?.setHasFixedSize(true) +// recyclerView?.setHasFixedSize(true) //recyclerView?.layoutManager = linearManagerVar recyclerView?.layoutManager = linearManagerVar recyclerView?.adapter = adapterVar -- cgit v1.2.3