From e77be0589fe169ecd3ccc1e1835756e900fb0971 Mon Sep 17 00:00:00 2001 From: vavali08 Date: Sun, 4 Feb 2024 13:33:16 -0500 Subject: [PATCH] ui being weird w/ recycler view --- PennMobile/src/google-services.json | 29 ++++ .../SubletterPostedListingsFragment.kt | 128 ++++++++++++++++++ .../fragment_subletter_posted_listings.xml | 25 +++- 3 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 PennMobile/src/google-services.json diff --git a/PennMobile/src/google-services.json b/PennMobile/src/google-services.json new file mode 100644 index 00000000..b4ec266d --- /dev/null +++ b/PennMobile/src/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "261196915337", + "project_id": "penn-mobile-android", + "storage_bucket": "penn-mobile-android.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:261196915337:android:82e48698e3df3cdf3bdc58", + "android_client_info": { + "package_name": "com.pennapps.labs.pennmobile" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCavOsfwwY54_dlm_oW4wMDLJgdXghLYP8" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SubletterPostedListingsFragment.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SubletterPostedListingsFragment.kt index 25c1dc29..5fd804d6 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SubletterPostedListingsFragment.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SubletterPostedListingsFragment.kt @@ -4,16 +4,41 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.constraintlayout.widget.ConstraintSet import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.pennapps.labs.pennmobile.adapters.SublettingListAdapter +import com.pennapps.labs.pennmobile.api.StudentLife +import com.pennapps.labs.pennmobile.classes.SublettingModel import com.pennapps.labs.pennmobile.classes.SublettingViewModel import com.pennapps.labs.pennmobile.databinding.FragmentSubletterPostedListingsBinding +import kotlinx.android.synthetic.main.fragment_subletter_posted_listings.listings_refresh_layout class SubletterPostedListingsFragment(private val dataModel: SublettingViewModel) : Fragment() { private var _binding: FragmentSubletterPostedListingsBinding? = null private val binding get() = _binding!! + + //recyclerview adapters and layout manager + lateinit var sublettingRecyclerView: RecyclerView + lateinit var newLayoutManager: GridLayoutManager + lateinit var sublettingList: ArrayList + lateinit var myAdapter: SublettingListAdapter + + //api manager + private lateinit var mStudentLife: StudentLife + + private lateinit var mActivity: MainActivity + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + mStudentLife = MainActivity.studentLifeInstance + mActivity = activity as MainActivity + mActivity.closeKeyboard() + + val bundle = Bundle() } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, @@ -26,6 +51,50 @@ class SubletterPostedListingsFragment(private val dataModel: SublettingViewModel return binding.root } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + sublettingRecyclerView = binding.postedSubletsList + newLayoutManager = GridLayoutManager(context, 2, LinearLayoutManager.VERTICAL, false) + sublettingRecyclerView.layoutManager = newLayoutManager + + //delete later, Trini's fake data testing + sublettingRecyclerView.setHasFixedSize(true) + sublettingList = setUpData() + if (sublettingList.isNotEmpty()) { + binding.postedNoListingsText.visibility = View.GONE; + + /* + // Update the ConstraintSet to constrain addlistingbutton below sublettingRecyclerView + val constraintSet = ConstraintSet() + constraintSet.clone(binding.root) + + constraintSet.connect( + binding.postedAddListingButton.id, + ConstraintSet.TOP, + binding.listingsRefreshLayout.id, + ConstraintSet.BOTTOM, + 16 // You can adjust the margin as needed + ) + + // Constrain the bottom of sublettingRecyclerView to the top of addlistingbutton + constraintSet.connect( + binding.listingsRefreshLayout.id, + ConstraintSet.BOTTOM, + binding.postedAddListingButton.id, + ConstraintSet.TOP, + 16 // You can adjust the margin as needed + ) + + constraintSet.applyTo(binding.root) + + */ + } + + myAdapter = SublettingListAdapter(context, sublettingList) + sublettingRecyclerView.adapter = myAdapter + + } + private fun navigateCreateNewListing() { val mainActivity = context as MainActivity @@ -38,7 +107,66 @@ class SubletterPostedListingsFragment(private val dataModel: SublettingViewModel .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .addToBackStack(null) .commitAllowingStateLoss() + } + + private fun setUpData(): ArrayList { + + var sublettingList = ArrayList() + + val sublettingImages = intArrayOf( + R.drawable.dining_gourmet_grocer, + R.drawable.dining_hillel, + R.drawable.dining_mcclelland, + R.drawable.dining_kceh, + R.drawable.dining_commons + ) + + val sublettingNames = arrayOf( + "The Radian", + "The Chestnut", + "Axis", + "The Radian", + "The Speakeasy" + ) + + val sublettingPrices = intArrayOf( + 900, + 1000, + 1200, + 500, + 400 + ) + + val sublettingNegotiablePrices = arrayOf( + true, + false, + true, + true, + false + ) + + val sublettingBedrooms = arrayOf( + 2, + 3, + 1, + 4, + 10 + ) + + val sublettingBathrooms = arrayOf( + 10, + 5, + 0, + 1, + 3 + ) + + for (i in sublettingImages.indices) + sublettingList.add(SublettingModel(sublettingImages[i], sublettingNames[i], + sublettingPrices[i], sublettingNegotiablePrices[i], sublettingBedrooms[i], + sublettingBathrooms[i], 2, 2)) + return sublettingList } diff --git a/PennMobile/src/main/res/layout/fragment_subletter_posted_listings.xml b/PennMobile/src/main/res/layout/fragment_subletter_posted_listings.xml index 1045ab2e..5116e51d 100644 --- a/PennMobile/src/main/res/layout/fragment_subletter_posted_listings.xml +++ b/PennMobile/src/main/res/layout/fragment_subletter_posted_listings.xml @@ -30,14 +30,35 @@