From c9ca0173325bf846d84ac0776ef00182dd3e790b Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 5 Dec 2022 18:13:58 +0100 Subject: Omogucena pretraga sa bilo kakvim stringom na clientu. --- .../java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt index 714f994..0254e0f 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 @@ -69,7 +69,11 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { gridManagerVar=GridLayoutManager(activity,2) } fun searchText(){ - Log.d("MAIN","TODO") + if(searchBar.text==null || searchBar.text.toString().trim()=="") + return + + searchParams=SearchParams(searchBar.text.toString(),1,1) + requestToBack(searchParams!!) } fun onTextEnter(){ var api=RetrofitHelper.getInstance() -- cgit v1.2.3 From dfd867d9006520cfcd40f5bd08e7980a202ec530 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 5 Dec 2022 19:05:05 +0100 Subject: Omogucena pretraga lokacija i objava na pocetnoj strani. Prilikom potvrde pretrage omoguceno usmeravanje na stranicu sve objave sa datim parametrima pretrage i vrsenje pretrage. Dodat onResume. --- .../Activities/NavigationActivity.kt | 12 ++- .../brzodolokacije/Fragments/FragmentHomePage.kt | 103 +++++++++++++++++++-- .../Fragments/FragmentHomePageMainScroll.kt | 3 - .../brzodolokacije/Fragments/FragmentShowPosts.kt | 28 +++++- .../app/src/main/res/layout/fragment_home_page.xml | 3 +- 5 files changed, 132 insertions(+), 17 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt index 180b59d..23cbca6 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt @@ -18,19 +18,20 @@ class NavigationActivity : AppCompatActivity() { //lateinit var openAddPost:Button //lateinit var capturePost:Button - + public lateinit var bottomNav:BottomNavigationView + public lateinit var searchQuery:String + public lateinit var searchId:String override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_navigation) - Toast.makeText( - applicationContext, "Open ", Toast.LENGTH_LONG - ).show(); + searchQuery="" + searchId="" val fragmentHomePage=FragmentHomePage() val fragmentShowPosts=FragmentShowPosts() val browseFragment=FragmentBrowse() val addPostFragment= FragmentAddNew() val profileFragment=FragmentProfile() - val bottomNav=findViewById(R.id.bottomNavigationView) as BottomNavigationView + bottomNav=findViewById(R.id.bottomNavigationView) as BottomNavigationView setCurrentFragment(fragmentHomePage) bottomNav.setOnNavigationItemSelectedListener { when(it.itemId){ @@ -46,6 +47,7 @@ class NavigationActivity : AppCompatActivity() { } + } private fun setCurrentFragment(fragment: Fragment)= supportFragmentManager.beginTransaction().apply { diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt index cb48d3e..a26aaba 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePage.kt @@ -2,27 +2,31 @@ package com.example.brzodolokacije.Fragments import android.content.Intent import android.os.Bundle +import android.util.Log +import android.view.KeyEvent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.Button -import android.widget.ImageButton -import android.widget.ImageView -import android.widget.ScrollView -import android.widget.Toast +import android.widget.* import androidx.core.view.isVisible +import androidx.core.widget.addTextChangedListener import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.brzodolokacije.Activities.ChatActivity +import com.example.brzodolokacije.Activities.NavigationActivity import com.example.brzodolokacije.Adapters.ShowPostsHomePageAdapter import com.example.brzodolokacije.Interfaces.IBackendApi +import com.example.brzodolokacije.Models.Location import com.example.brzodolokacije.Models.LocationType import com.example.brzodolokacije.Models.PostPreview +import com.example.brzodolokacije.Models.SearchParams import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.Services.RetrofitHelper.baseUrl import com.example.brzodolokacije.Services.SharedPreferencesHelper +import com.google.android.material.button.MaterialButton import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -34,6 +38,9 @@ class FragmentHomePage : Fragment() { private lateinit var btnChat:ImageView private lateinit var btnBack:ImageView + private lateinit var searchBar:AutoCompleteTextView + private lateinit var searchButton: MaterialButton + var responseLocations:MutableList?=null /* override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -47,8 +54,10 @@ class FragmentHomePage : Fragment() { var view:View= inflater.inflate(R.layout.fragment_home_page, container, false) btnBack=view.findViewById(R.id.btnFragmentHomePageBack) btnChat=view.findViewById(R.id.ivFragmentHomePageChat) + searchBar=view.findViewById(R.id.etFragmentHomePageSearch) + searchButton=view.findViewById(R.id.mbFragmentHomePageSearchButton) setBtnBackInvisible() - + setUpSpinner() var fm: FragmentTransaction =childFragmentManager.beginTransaction() fm.replace(R.id.flFragmentHomePageMainContent, FragmentHomePageMainScroll()) fm.commit() @@ -62,9 +71,36 @@ class FragmentHomePage : Fragment() { val intent: Intent = Intent(activity, ChatActivity::class.java) requireActivity().startActivity(intent) } + searchButton.setOnClickListener{ + searchText() + } + searchBar.addTextChangedListener{ + onTextEnter() + } + searchBar.setOnKeyListener(View.OnKeyListener { v1, keyCode, event -> // If the event is a key-down event on the "enter" button + if (event.action === KeyEvent.ACTION_DOWN && + keyCode == KeyEvent.KEYCODE_ENTER + ) { + // Perform action on key press + searchText() + return@OnKeyListener true + } + false + }) return view } + + + fun searchText(){ + if(searchBar.text==null || searchBar.text.toString().trim()=="") + return + + var act=requireActivity() as NavigationActivity + act.searchQuery=searchBar.text.toString() + act.searchId="" + act.bottomNav.selectedItemId=R.id.navAllPosts + } fun changeScrollVIewToLocationView(){ var fm: FragmentTransaction =childFragmentManager.beginTransaction() fm.replace(R.id.flFragmentHomePageMainContent, FragmentShowPostsByLocation()) @@ -81,4 +117,59 @@ class FragmentHomePage : Fragment() { fun setBtnBackVisible(){ btnBack.isVisible=true } + fun onTextEnter(){ + var api= RetrofitHelper.getInstance() + var jwtString= SharedPreferencesHelper.getValue("jwt",requireActivity()) + var text=searchBar.text + Log.d("test",text.toString()) + if(text==null ||text.toString().trim()=="") + return + var data=api.searchLocationsQuery("Bearer "+jwtString,text.toString()) + data.enqueue(object : retrofit2.Callback> { + override fun onResponse(call: Call?>, response: Response>) { + if(response.isSuccessful){ + var existingLocation=responseLocations + responseLocations=response.body()!! + if(existingLocation!=null && existingLocation.size>0) + for(loc in existingLocation!!){ + spinnerAdapter!!.remove(loc.name) + } + for(loc in responseLocations!!){ + spinnerAdapter!!.add(loc.name) + } + spinnerAdapter!!.notifyDataSetChanged() + } + } + + override fun onFailure(call: Call>, t: Throwable) { + + } + }) + + + } + var arraySpinner :MutableList?=null + var spinnerAdapter: ArrayAdapter?=null + + fun setUpSpinner() { + arraySpinner=mutableListOf() + spinnerAdapter= ArrayAdapter( + requireContext(), + android.R.layout.simple_list_item_1, arraySpinner!!) + searchBar.threshold=1 + searchBar.setAdapter(spinnerAdapter) + searchBar.setOnItemClickListener(AdapterView.OnItemClickListener { parent, view, position, id -> + val selected = parent.getItemAtPosition(position) as String + var selectedLocation = responseLocations!!.find { location -> location.name == selected } + + var act=requireActivity() as NavigationActivity + act.searchQuery=selectedLocation!!.name + act.searchId=selectedLocation!!._id + act.bottomNav.selectedItemId=R.id.navAllPosts + + + }) + + + } } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt index 46904d4..82c78a1 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHomePageMainScroll.kt @@ -239,9 +239,6 @@ private lateinit var change:Button // Toast.makeText( // activity, "get all mv ", Toast.LENGTH_LONG // ).show(); - Toast.makeText( - activity," get popular all", Toast.LENGTH_LONG - ).show(); val api = RetrofitHelper.getInstance() val token= SharedPreferencesHelper.getValue("jwt", requireActivity()) val data=api.get10MostViewed("Bearer "+token) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt index 0254e0f..8620dc4 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt @@ -19,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.example.brzodolokacije.Activities.ActivityAddPost import com.example.brzodolokacije.Activities.ChatActivity +import com.example.brzodolokacije.Activities.NavigationActivity import com.example.brzodolokacije.Adapters.ShowPostsAdapter import com.example.brzodolokacije.Models.Location import com.example.brzodolokacije.Models.SearchParams @@ -51,7 +52,7 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { private var swipeRefreshLayout:SwipeRefreshLayout?=null private lateinit var searchButton: MaterialButton private lateinit var searchPostsViewModel:SearchPostsViewModel - private var searchParams:SearchParams?= SearchParams("6385b79d7e1a2c93575e1ef1",1,1) + private var searchParams:SearchParams?= SearchParams("Kragujevac",1,1) private lateinit var btnFilter:ImageButton private lateinit var btnSort:ImageButton private lateinit var searchBar: AutoCompleteTextView @@ -62,7 +63,6 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { super.onCreate(savedInstanceState) setUpViewModel() binding=FragmentShowPostsBinding.inflate(layoutInflater) - //instantiate adapter and linearLayout adapterVar=ShowPostsAdapter(requireActivity()) linearManagerVar= LinearLayoutManager(activity) @@ -215,12 +215,36 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { } false }) + refreshSearch() + return rootView } override fun onRefresh() { requestToBack(searchParams!!) + refreshSearch() + } + override fun onResume() { + super.onResume() + refreshSearch() + + } + private fun refreshSearch(){ + var act=requireActivity() as NavigationActivity + Log.d("TEST","USAO") + if(act.searchId!=null && act.searchId.trim()!="") + { + searchBar.setText(act.searchQuery,TextView.BufferType.EDITABLE) + searchParams= SearchParams(act.searchId,1,1) + requestToBack(searchParams!!) + }else + if(act.searchQuery!=null && act.searchQuery.trim()!="") + { + searchBar.setText(act.searchQuery,TextView.BufferType.EDITABLE) + searchParams= SearchParams(act.searchQuery,1,1) + requestToBack(searchParams!!) + } } diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml index f39acf2..12c37e8 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home_page.xml @@ -82,7 +82,7 @@ app:layout_constraintTop_toBottomOf="@+id/brzodolokacije"> - Date: Mon, 5 Dec 2022 19:12:02 +0100 Subject: Dodata promena parametara pretrage u FragmentShowPosts. --- .../java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Client') 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 8620dc4..76fa4e0 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt @@ -71,7 +71,9 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { fun searchText(){ if(searchBar.text==null || searchBar.text.toString().trim()=="") return - + var act=requireActivity() as NavigationActivity + act.searchQuery=searchBar.text.toString() + act.searchId="" searchParams=SearchParams(searchBar.text.toString(),1,1) requestToBack(searchParams!!) } @@ -119,6 +121,9 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener { searchBar.setOnItemClickListener(AdapterView.OnItemClickListener { parent, view, position, id -> val selected = parent.getItemAtPosition(position) as String selectedLocation = responseLocations!!.find { location -> location.name == selected } + var act=requireActivity() as NavigationActivity + act.searchQuery=selectedLocation!!.name + act.searchId=selectedLocation!!._id searchParams=SearchParams(selectedLocation!!._id,1,1)//to do sort type requestToBack(searchParams!!) -- cgit v1.2.3 From 4eab4ea8df9e3aeb7db8c86fd54a6fa9d59d11a7 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Mon, 5 Dec 2022 21:20:56 +0100 Subject: Izmenjena struktura stranice za prikaz objave. --- .../Activities/ActivitySinglePost.kt | 67 +++- .../brzodolokacije/Adapters/CommentsAdapter.kt | 2 +- .../brzodolokacije/FragmentSinglePostComments.kt | 59 +++ .../Fragments/FragmentSinglePostDescription.kt | 60 +++ .../brzodolokacije/Services/RetrofitHelper.kt | 4 +- .../app/src/main/res/drawable/gradient2.xml | 28 ++ .../drawable/ic_round_keyboard_arrow_down_24.xml | 5 + .../res/drawable/ic_round_keyboard_arrow_up_24.xml | 5 + .../main/res/drawable/ic_round_star_outline_24.xml | 5 + .../src/main/res/layout/activity_single_post.xml | 402 ++++++++------------- .../res/layout/fragment_single_post_comments.xml | 74 ++++ .../layout/fragment_single_post_description.xml | 187 ++++++++++ .../app/src/main/res/values/styles.xml | 5 + 13 files changed, 634 insertions(+), 269 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_comments.xml create mode 100644 Client/BrzoDoLokacije/app/src/main/res/layout/fragment_single_post_description.xml (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 f3d8a63..5a1e8b1 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 @@ -6,10 +6,17 @@ import android.graphics.drawable.ColorDrawable import android.os.Bundle import android.preference.PreferenceManager import android.util.Log +import android.view.ViewGroup +import android.view.ViewGroup.LayoutParams +import android.widget.Button +import android.widget.ImageView import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat +import androidx.core.view.isGone +import androidx.core.view.isVisible import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.brzodolokacije.Adapters.CommentsAdapter @@ -21,6 +28,7 @@ import com.example.brzodolokacije.Services.SharedPreferencesHelper import com.example.brzodolokacije.databinding.ActivitySinglePostBinding import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.gson.Gson +import kotlinx.android.synthetic.main.activity_single_post.view.* import org.osmdroid.config.Configuration import org.osmdroid.tileprovider.tilesource.TileSourceFactory import org.osmdroid.util.GeoPoint @@ -43,17 +51,38 @@ class ActivitySinglePost : AppCompatActivity() { private var starNumber:Number=0 private lateinit var userData:UserReceive private lateinit var user:TextView + private lateinit var linearLayout2:ConstraintLayout + private lateinit var btnChangeHeightUp:ImageView + private lateinit var btnChangeHeightDown:ImageView + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding=ActivitySinglePostBinding.inflate(layoutInflater) setContentView(binding.root) post= intent.extras?.getParcelable("selectedPost")!! + btnChangeHeightUp=findViewById(R.id.activitySinglePostChangeHeightUp) + btnChangeHeightDown=findViewById(R.id.activitySinglePostChangeHeightDown) + + btnChangeHeightDown.isVisible=false + btnChangeHeightDown.isGone=true + btnChangeHeightDown.isClickable=false + btnChangeHeightUp.isVisible=true + btnChangeHeightUp.isGone=false + btnChangeHeightUp.isClickable=true + + linearLayout2=findViewById(R.id.linearLayout2) + + linearLayout2.setOnClickListener { + linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT; + } + //instantiate adapter and linearLayout adapterImages= PostImageAdapter(this@ActivitySinglePost, post.images as MutableList) layoutManagerImages= LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false) recyclerViewImages = binding.rvMain + /* buildRecyclerViewComments() requestGetComments() @@ -67,7 +96,7 @@ class ActivitySinglePost : AppCompatActivity() { val alreadyrated= RatingReceive(starNumber.toInt(),post._id) requestAddRating(alreadyrated) - + */ binding.tvUser.setOnClickListener { val intent: Intent = Intent(this@ActivitySinglePost,ActivityUserProfile::class.java) var b= Bundle() @@ -78,16 +107,39 @@ class ActivitySinglePost : AppCompatActivity() { getMap() } + + btnChangeHeightUp.setOnClickListener { + btnChangeHeightUp.isVisible=false + btnChangeHeightUp.isGone=true + btnChangeHeightUp.isClickable=false + btnChangeHeightDown.isVisible=true + btnChangeHeightDown.isGone=false + btnChangeHeightDown.isClickable=true + linearLayout2.setMinHeight(0); + linearLayout2.setMinimumHeight(0); + linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT; + } + btnChangeHeightDown.setOnClickListener { + btnChangeHeightDown.isVisible=false + btnChangeHeightDown.isGone=true + btnChangeHeightDown.isClickable=false + btnChangeHeightUp.isVisible=true + btnChangeHeightUp.isGone=false + btnChangeHeightUp.isClickable=true + linearLayout2.setMinHeight(0); + linearLayout2.setMinimumHeight(0); + linearLayout2.getLayoutParams().height= ViewGroup.LayoutParams.WRAP_CONTENT; + } } fun getMap(){ - val mapDialogue = BottomSheetDialog(this@ActivitySinglePost, android.R.style.Theme_Black_NoTitleBar) + /*val mapDialogue = BottomSheetDialog(this@ActivitySinglePost, android.R.style.Theme_Black_NoTitleBar) mapDialogue.getWindow()?.setBackgroundDrawable(ColorDrawable(Color.argb(100, 0, 0, 0))) mapDialogue.setContentView(R.layout.map_dialogue) mapDialogue.setCancelable(true) - mapDialogue.setCanceledOnTouchOutside(true) + mapDialogue.setCanceledOnTouchOutside(true)*/ var map: MapView? = null Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this)); - map=mapDialogue.findViewById(R.id.MapDialogueMapView) + map=findViewById(R.id.MapDialogueMapView) //findViewById(R.id.MapDialogueMapView) as MapView map!!.setTileSource(TileSourceFactory.MAPNIK); map!!.setBuiltInZoomControls(true); @@ -103,11 +155,10 @@ class ActivitySinglePost : AppCompatActivity() { startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_CENTER) map!!.getOverlays().add(startMarker) map!!.controller.setCenter(LocMarker) - mapDialogue.show() - - } + } +/* fun buildRecyclerViewComments(){ recyclerViewComments=binding.rvComments adapterComments=CommentsAdapter(comments as MutableList,this@ActivitySinglePost) @@ -377,4 +428,6 @@ class ActivitySinglePost : AppCompatActivity() { binding.tvCommentCount.text=(Integer.parseInt(binding.tvCommentCount.text.toString())+1).toString() binding.tvCommentCount.invalidate() } + + */ } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/CommentsAdapter.kt index 06713ec..96e332a 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 @@ -125,7 +125,7 @@ class CommentsAdapter (val items : MutableList,val activity: Activi var adapter:CommentsAdapter=rv.adapter as CommentsAdapter adapter.items.add(0,newComment) rv.adapter=adapter - (activity as ActivitySinglePost).addedComment() + //(activity as ActivitySinglePost).addedComment() } } } \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt new file mode 100644 index 0000000..046bdf6 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/FragmentSinglePostComments.kt @@ -0,0 +1,59 @@ +package com.example.brzodolokacije + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [FragmentSinglePostComments.newInstance] factory method to + * create an instance of this fragment. + */ +class FragmentSinglePostComments : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_single_post_comments, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment FragmentSinglePostComments. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + FragmentSinglePostComments().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt new file mode 100644 index 0000000..1a7e7da --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentSinglePostDescription.kt @@ -0,0 +1,60 @@ +package com.example.brzodolokacije.Fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.brzodolokacije.R + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [FragmentSinglePostDescription.newInstance] factory method to + * create an instance of this fragment. + */ +class FragmentSinglePostDescription : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_single_post_description, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment FragmentSinglePostDescription. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + FragmentSinglePostDescription().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt index 43c2109..88685e4 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/RetrofitHelper.kt @@ -7,8 +7,8 @@ import retrofit2.converter.gson.GsonConverterFactory object RetrofitHelper { - val baseUrl="http://10.0.2.2:5279" - //val baseUrl="http://147.91.204.115:10082" + //val baseUrl="http://10.0.2.2:5279" + val baseUrl="http://147.91.204.115:10082" private var retrofit_noauth: IBackendApi? = null private var retrofit_auth: IBackendApi? = null diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml new file mode 100644 index 0000000..0d73580 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/gradient2.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml new file mode 100644 index 0000000..ee6e4de --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_down_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml new file mode 100644 index 0000000..0d6676b --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_keyboard_arrow_up_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml new file mode 100644 index 0000000..e97ab0a --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/ic_round_star_outline_24.xml @@ -0,0 +1,5 @@ + + + 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 e3cabb5..744a2a2 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml @@ -1,310 +1,194 @@ - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent"> + - + app:layout_constraintTop_toTopOf="parent" /> - - - + - + - + - - + + app:layout_constraintTop_toTopOf="parent" /> - - - - - - - - + app:layout_constraintTop_toTopOf="parent" /> + + + + - - - - - - - - - - - - -