From eaa2e56faec51b3bab928f5013d94661acd5f865 Mon Sep 17 00:00:00 2001 From: meiron03 Date: Wed, 22 Jan 2025 20:54:53 -0500 Subject: [PATCH] Move fitness network rqs to rf2 --- .../labs/pennmobile/api/StudentLife.java | 6 -- .../labs/pennmobile/api/StudentLifeRf2.kt | 5 +- .../fitness/FitnessPreferenceViewModel.kt | 1 + .../fitness/classes/FitnessPreferences.kt | 10 +++ .../gsr/fragments/PottruckFragment.kt | 68 ++++++++++--------- 5 files changed, 50 insertions(+), 40 deletions(-) create mode 100644 PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/classes/FitnessPreferences.kt diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java index a0cb53764..dbdefc441 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java @@ -157,12 +157,6 @@ void createPollVote( @GET("/penndata/fitness/rooms/") Observable> getFitnessRooms(); - @GET("/penndata/fitness/usage/{id}") - Observable getFitnessRoomUsage( - @Path("id") int id, - @Query("num_samples") int samples, - @Query("group_by") String groupBy); - @GET("/penndata/fitness/preferences") Observable> getFitnessPreferences( @Header("Authorization") String bearerToken); diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLifeRf2.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLifeRf2.kt index a9a7a59e1..39414c8dd 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLifeRf2.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLifeRf2.kt @@ -1,4 +1,5 @@ import com.pennapps.labs.pennmobile.api.classes.AccessTokenResponse +import com.pennapps.labs.pennmobile.fitness.classes.FitnessPreferences import com.pennapps.labs.pennmobile.fitness.classes.FitnessRoom import com.pennapps.labs.pennmobile.fitness.classes.FitnessRoomUsage import com.pennapps.labs.pennmobile.laundry.classes.LaundryPreferences @@ -73,6 +74,6 @@ interface StudentLifeRf2 { @GET("penndata/fitness/preferences") fun getFitnessPreferences( - @retrofit.http.Header("Authorization") bearerToken: String? - ): Observable?>? + @Header("Authorization") bearerToken: String? + ): Observable? } diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/FitnessPreferenceViewModel.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/FitnessPreferenceViewModel.kt index 26fc92b35..028693f55 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/FitnessPreferenceViewModel.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/FitnessPreferenceViewModel.kt @@ -1,5 +1,6 @@ package com.pennapps.labs.pennmobile.fitness +import StudentLifeRf2 import android.util.Log import androidx.preference.PreferenceManager import com.pennapps.labs.pennmobile.MainActivity diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/classes/FitnessPreferences.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/classes/FitnessPreferences.kt new file mode 100644 index 000000000..6ddf94dbb --- /dev/null +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/fitness/classes/FitnessPreferences.kt @@ -0,0 +1,10 @@ +package com.pennapps.labs.pennmobile.fitness.classes + +import com.google.gson.annotations.Expose +import com.google.gson.annotations.SerializedName + +class FitnessPreferences { + @SerializedName("rooms") + @Expose + var rooms: List? = null +} \ No newline at end of file diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/gsr/fragments/PottruckFragment.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/gsr/fragments/PottruckFragment.kt index bbdae667a..b12194a99 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/gsr/fragments/PottruckFragment.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/gsr/fragments/PottruckFragment.kt @@ -1,5 +1,6 @@ package com.pennapps.labs.pennmobile.gsr.fragments +import StudentLifeRf2 import android.os.Bundle import android.util.Log import android.view.LayoutInflater @@ -33,6 +34,7 @@ import com.pennapps.labs.pennmobile.utils.Utils class PottruckFragment : Fragment() { private lateinit var mActivity: MainActivity private lateinit var mStudentLife: StudentLife + private lateinit var mStudentLifeRf2: StudentLifeRf2 private lateinit var mView: View private lateinit var swipeRefresh: SwipeRefreshLayout @@ -50,6 +52,7 @@ class PottruckFragment : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mStudentLife = MainActivity.studentLifeInstance + mStudentLifeRf2 = MainActivity.studentLifeInstanceRf2 mActivity = activity as MainActivity } @@ -95,44 +98,45 @@ class PottruckFragment : Fragment() { if (!getConnected()) return try { - mStudentLife.fitnessRooms - .subscribe({ fitnessRooms -> - for (room in fitnessRooms) { + mStudentLifeRf2.getFitnessRooms()?.subscribe({ fitnessRooms -> + val rooms = fitnessRooms?.filterNotNull().orEmpty() + for (room in rooms) { Log.i("Fitness Room${room.roomId}", "${room.roomName}") } - val sortedRooms = fitnessRooms.sortedBy { it.roomName } + val sortedRooms = rooms.sortedBy { it.roomName } dataModel = FitnessPreferenceViewModel(mStudentLife, sortedRooms) - mActivity.runOnUiThread { - mActivity.mNetworkManager.getAccessToken { - val sp = PreferenceManager.getDefaultSharedPreferences(mActivity) - val context = mActivity.applicationContext - val bearerToken = - "Bearer " + sp.getString(context.getString(R.string.access_token), "").toString() - - mStudentLife.getFitnessPreferences(bearerToken).subscribe({ favorites -> - mActivity.runOnUiThread { - for (roomId in favorites) { - dataModel.addId(roomId) - } - dataModel.updatePositionMap() - - setAdapters() - } - }, { throwable -> - mActivity.runOnUiThread { - // empty preferences - setAdapters() - Log.e( - "Pottruck Fragment", - "Could not load Fitness Preferences", - throwable, - ) - } - }) - } + mActivity.mNetworkManager.getAccessToken { + val sp = PreferenceManager.getDefaultSharedPreferences(mActivity) + val context = mActivity.applicationContext + val bearerToken = + "Bearer " + sp.getString(context.getString(R.string.access_token), "").toString() + + mStudentLifeRf2.getFitnessPreferences(bearerToken)?.subscribe({ favorites -> + val favoriteRooms = favorites?.rooms?.filterNotNull().orEmpty() + + for (roomId in favoriteRooms) { + dataModel.addId(roomId) + } + dataModel.updatePositionMap() + + mActivity.runOnUiThread { + setAdapters() + } + }, { throwable -> + mActivity.runOnUiThread { + // empty preferences + setAdapters() + Log.e( + "Pottruck Fragment", + "Could not load Fitness Preferences", + throwable, + ) + } + }) } + }, { Log.e("PottruckFragment", "Error getting fitness rooms", it) mActivity.runOnUiThread {