Skip to content

Commit

Permalink
Fix laundry settings
Browse files Browse the repository at this point in the history
  • Loading branch information
meiron03 committed Mar 19, 2024
1 parent 38d117a commit 3cc8e59
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ import com.pennapps.labs.pennmobile.databinding.FragmentDiningPreferencesBinding
import kotlinx.android.synthetic.main.include_main.toolbar
import com.google.firebase.crashlytics.FirebaseCrashlytics
import io.reactivex.Observable
import retrofit.ResponseCallback
import retrofit.RetrofitError
import retrofit.client.Response
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response


class DiningSettingsFragment(dataModel: HomepageDataModel) : Fragment() {
Expand Down Expand Up @@ -132,15 +133,18 @@ class DiningSettingsFragment(dataModel: HomepageDataModel) : Fragment() {
mActivity.mNetworkManager.getAccessToken {
val bearerToken =
"Bearer " + sp.getString(getString(R.string.access_token), "").toString()
mStudentLife.sendDiningPref(bearerToken, DiningRequest(favoriteDiningHalls),
object : ResponseCallback() {
override fun success(response: Response) {
mStudentLife.sendDiningPref(bearerToken, DiningRequest(favoriteDiningHalls))
.enqueue(object: Callback<ResponseBody> {
override fun onResponse(
call: Call<ResponseBody>,
response: Response<ResponseBody>
) {
Log.i("Dining", "Dining preferences saved")
mActivity.onBackPressed()
}

override fun failure(error: RetrofitError) {
Log.e("Dining", "Error saving dining preferences: $error")
override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
Log.e("Dining", "Error saving dining preferences: $t")
Toast.makeText(
mActivity,
"Error saving dining preferences",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import com.pennapps.labs.pennmobile.classes.GSR
import com.pennapps.labs.pennmobile.classes.GSRBookingResult
import com.pennapps.labs.pennmobile.classes.GSRLocation
import com.pennapps.labs.pennmobile.classes.GSRReservation
import com.pennapps.labs.pennmobile.classes.LaundryPreferences
import com.pennapps.labs.pennmobile.classes.LaundryRequest
import com.pennapps.labs.pennmobile.classes.LaundryRoom
import com.pennapps.labs.pennmobile.classes.LaundryRoomSimple
Expand All @@ -26,7 +27,6 @@ import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.http.*
import io.reactivex.Observable
import retrofit.ResponseCallback

interface StudentLife {
@FormUrlEncoded
Expand Down Expand Up @@ -122,7 +122,7 @@ interface StudentLife {
): Call<SaveAccountResponse>

@GET("laundry/preferences")
fun getLaundryPref(@Header("Authorization") bearerToken: String): Observable<List<Int>>
fun getLaundryPref(@Header("Authorization") bearerToken: String): Observable<LaundryPreferences>

@POST("laundry/preferences/")
fun sendLaundryPref(
Expand All @@ -133,8 +133,7 @@ interface StudentLife {
@POST("dining/preferences/")
fun sendDiningPref(
@Header("Authorization") bearerToken: String,
@Body body: DiningRequest,
param: ResponseCallback
@Body body: DiningRequest
): Call<ResponseBody>

@GET("portal/posts/browse/")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.pennapps.labs.pennmobile.classes

import StudentLife
import android.annotation.SuppressLint
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
Expand Down Expand Up @@ -223,7 +224,8 @@ class HomepageViewModel : HomepageDataModel, ViewModel() {

private fun getLaundry(studentLife: StudentLife, bearerToken: String, latch: CountDownLatch) {
studentLife.getLaundryPref(bearerToken).subscribe({ preferences ->
val laundryCell = if (preferences.isNullOrEmpty()) LaundryCell(0) else LaundryCell(preferences[0])
val rooms = preferences.rooms
val laundryCell = if (rooms.isNullOrEmpty()) LaundryCell(0) else LaundryCell(rooms[0])

Log.i(TAG, "Loaded laundry")

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.pennapps.labs.pennmobile.classes

import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

class LaundryPreferences {
@SerializedName("rooms")
@Expose
val rooms: List<Int>? = null
}

0 comments on commit 3cc8e59

Please sign in to comment.