Skip to content

Commit

Permalink
marketplace loads sublets
Browse files Browse the repository at this point in the history
  • Loading branch information
trinif committed Mar 17, 2024
1 parent 3f4264d commit f0ec425
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ import androidx.lifecycle.repeatOnLifecycle
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.pennapps.labs.pennmobile.adapters.PostedSubletsListAdapter
import com.pennapps.labs.pennmobile.adapters.SublettingListAdapter
import com.pennapps.labs.pennmobile.api.StudentLife
import com.pennapps.labs.pennmobile.classes.SublesseeViewModel
import com.pennapps.labs.pennmobile.classes.Sublet
import com.pennapps.labs.pennmobile.classes.SublettingModel
import com.pennapps.labs.pennmobile.databinding.FragmentSubletteeMarketplaceBinding
import kotlinx.coroutines.launch
Expand All @@ -41,7 +43,8 @@ class SubletteeMarketplace : Fragment() {
//recyclerview adapters and layout manager
lateinit var sublettingRecyclerView: RecyclerView
lateinit var newLayoutManager: GridLayoutManager
lateinit var sublettingList: ArrayList<SublettingModel>
lateinit var sublettingList: ArrayList<Sublet>
lateinit var sublettingListTest: ArrayList<SublettingModel>
lateinit var myAdapter: SublettingListAdapter

private lateinit var dataModel: SublesseeViewModel
Expand Down Expand Up @@ -79,19 +82,22 @@ class SubletteeMarketplace : Fragment() {

//delete for later, testing
sublettingRecyclerView.setHasFixedSize(true)
sublettingList = setUpData()
sublettingListTest = setUpData()

dataModel.listSublets(mActivity)
//Log.i("sublets initialized", actualSublets[0].title)
myAdapter = SublettingListAdapter(sublettingListTest, dataModel)
dataModel.sublettingList.observe(viewLifecycleOwner) { sublets ->
sublettingList = sublets
myAdapter.notifyDataSetChanged()
}

myAdapter = SublettingListAdapter(sublettingList, dataModel)
sublettingRecyclerView.adapter = myAdapter
}

//function to put in fake data- will get rid of once I get backend data in
private fun setUpData(): ArrayList<SublettingModel> {

sublettingList = ArrayList<SublettingModel>()
sublettingListTest = ArrayList<SublettingModel>()

val sublettingImages = intArrayOf(
R.drawable.dining_gourmet_grocer,
Expand Down Expand Up @@ -142,11 +148,11 @@ class SubletteeMarketplace : Fragment() {
)

for (i in sublettingImages.indices)
sublettingList.add(SublettingModel(sublettingImages[i], sublettingNames[i],
sublettingListTest.add(SublettingModel(sublettingImages[i], sublettingNames[i],
sublettingPrices[i], sublettingNegotiablePrices[i], sublettingBedrooms[i],
sublettingBathrooms[i], 2, 2))

return sublettingList
return sublettingListTest


}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ class SubletDetailsFragment(private val dataModel: SublettingViewModel, private
binding.datesText.text = sublet.startDate + " to " + sublet.endDate
binding.descriptionText.text = sublet.description

binding.availableButton.setOnClickListener{
/* binding.availableButton.setOnClickListener{
dataModel.deleteSublet(mActivity, subletNumber)
}
} */



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter
import com.pennapps.labs.pennmobile.SublesseeAppliedListingsHolder
import com.pennapps.labs.pennmobile.SublesseeSavedListingsHolderFragment
import com.pennapps.labs.pennmobile.SubletteeFragment
import com.pennapps.labs.pennmobile.SubletterFragment
//import com.pennapps.labs.pennmobile.SubletterFragment

class SublesseeSavedPagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,33 +52,14 @@ class SublettingListAdapter(var sublettingList: ArrayList<SublettingModel>, var

override fun onBindViewHolder(holder: SublettingCardViewHolder, position: Int) {

/* var actualSublettingCard: Sublet = actualSublets[position]
holder.listingTitle.text = actualSublettingCard.title */
val actualSublet = dataModel.getSublet(position)

dataModel.listSublets(mActivity)

val actualSublets = dataModel.getSublettingList()

Log.i("actual sublets", actualSublets.size.toString())

for (s in actualSublets) {
holder.listingTitle.text = s.title
}

/** var mSublettingCard: SublettingModel = sublettingList[position]
holder.listingImage.setImageResource(mSublettingCard.listingImage!!)
holder.listingTitle.text = mSublettingCard.listingTitle
//price, adding negotiable if price is negotiable
var price = "$" + mSublettingCard.listingPrice.toString()
if (mSublettingCard.isNegotiable == true) {
price += " (negotiable)"
}
holder.listingTitle.text = actualSublet.title
var price = "$" + actualSublet.price.toString()
holder.listingPrice.text = price
val rooms = mSublettingCard.numberBeds.toString() + " bd | " +
mSublettingCard.numberBath.toString() + " ba"
holder.listingRooms.text = rooms */
val rooms = actualSublet.beds.toString() + " bd | " +
actualSublet.baths.toString() + " ba"
holder.listingRooms.text = rooms

holder.itemView.setOnClickListener {
mActivity.supportFragmentManager.beginTransaction()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class OfferViewModel (private val activity: Activity, private val studentLife: S
"Bearer " + sp.getString(context.getString(R.string.access_token), "").toString()


studentLife.getSubletOffers(bearerToken, id).subscribe({ offers ->
/* studentLife.getSubletOffers(bearerToken, id).subscribe({ offers ->
mActivity.runOnUiThread {
offersList.value = offers as ArrayList<Offer>
}
Expand All @@ -35,7 +35,7 @@ class OfferViewModel (private val activity: Activity, private val studentLife: S
throwable
)
}
})
}) */
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.app.Activity
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.lifecycle.MutableLiveData
import androidx.preference.PreferenceManager
import com.pennapps.labs.pennmobile.MainActivity
import com.pennapps.labs.pennmobile.R
Expand All @@ -20,10 +21,14 @@ import java.util.concurrent.CountDownLatch

class SublesseeViewModel(private val activity: Activity, private val studentLife: StudentLife) {

private var sublettingList = ArrayList<Sublet>()
var sublettingList = MutableLiveData<ArrayList<Sublet>>()

fun getSublettingList(): ArrayList<Sublet> {
return sublettingList
fun getSublet(position : Int) : Sublet {
return sublettingList.value?.get(position) ?: Sublet() // Provide a default value if needed
}

fun getSublettingList(): ArrayList<Sublet>? {
return sublettingList.value
}

fun listSublets(mActivity: MainActivity) {
Expand All @@ -46,17 +51,20 @@ class SublesseeViewModel(private val activity: Activity, private val studentLife
fitnessRoomsList.add(fitnessRoom)
}
} */
studentLife.getSublets(bearerToken)
.subscribe { sublets ->
for (sublet in sublets) {
Log.i("Sublet${sublet.id}", "${sublet.title}")
sublettingList.add(sublet)
}
Log.i("Sublets not initializing", sublets.size.toString())
Log.i("Sublets not initializing", sublettingList.size.toString())
//sublettingList = sublets as ArrayList<Sublet>
}
studentLife.getPostedSublets(bearerToken).subscribe({ sublets ->
mActivity.runOnUiThread {
sublettingList.value = sublets as ArrayList<Sublet>
}
}, { throwable ->
mActivity.runOnUiThread {
Log.e(
"Sublessee Marketplace",
"Could not load Posted Sublets",
throwable
)
}
})
}
Log.i("sublets", sublettingList.size.toString())
Log.i("sublets", getSublettingList()?.size.toString())
}
}

0 comments on commit f0ec425

Please sign in to comment.