Skip to content

Commit

Permalink
Remove studentLife
Browse files Browse the repository at this point in the history
  • Loading branch information
meiron03 committed Jan 26, 2025
1 parent 27f467e commit aa2844c
Show file tree
Hide file tree
Showing 22 changed files with 238 additions and 314 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import com.pennapps.labs.pennmobile.api.CampusExpress
import com.pennapps.labs.pennmobile.api.OAuth2NetworkManager
import com.pennapps.labs.pennmobile.api.Platform
import com.pennapps.labs.pennmobile.api.Serializer
import com.pennapps.labs.pennmobile.api.StudentLife
import com.pennapps.labs.pennmobile.api.classes.Account
import com.pennapps.labs.pennmobile.api.fragments.LoginFragment
import com.pennapps.labs.pennmobile.components.sneaker.Sneaker
Expand All @@ -59,14 +58,12 @@ import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit.RestAdapter
import retrofit.android.AndroidLog
import retrofit.client.OkClient
import retrofit.converter.GsonConverter
import retrofit2.Retrofit
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
import java.util.concurrent.TimeUnit
import com.squareup.okhttp.OkHttpClient as SquareOkHttpClient

class MainActivity : AppCompatActivity() {
private var tabShowed = false
Expand Down Expand Up @@ -316,7 +313,6 @@ class MainActivity : AppCompatActivity() {
val GSR_ID = R.id.nav_gsr
val DINING_ID = R.id.nav_dining

private var mStudentLife: StudentLife? = null
private var mStudentLifeRf2: StudentLifeRf2? = null
private var mPlatform: Platform? = null
private var mCampusExpress: CampusExpress? = null
Expand Down Expand Up @@ -437,72 +433,6 @@ class MainActivity : AppCompatActivity() {
return mStudentLifeRf2!!
}

@JvmStatic
val studentLifeInstance: StudentLife
get() {
if (mStudentLife == null) {
val gsonBuilder = GsonBuilder()
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<Contact?>?>() {}.type,
Serializer.DataSerializer<Any?>(),
)
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<Venue?>?>() {}.type,
Serializer.VenueSerializer(),
)
gsonBuilder.registerTypeAdapter(
DiningHall::class.java,
Serializer.MenuSerializer(),
)
// gets room
gsonBuilder.registerTypeAdapter(
object : TypeToken<LaundryRoom?>() {}.type,
Serializer.LaundryRoomSerializer(),
)
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<GSRLocation?>?>() {}.type,
Serializer.GsrLocationSerializer(),
)
// gets laundry preferences (used only for testing)
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<Int?>?>() {}.type,
Serializer.LaundryPrefSerializer(),
)
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<FlingEvent?>?>() {}.type,
Serializer.FlingEventSerializer(),
)
// gets gsr reservations
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<GSRReservation?>?>() {}.type,
Serializer.GsrReservationSerializer(),
)
// gets user
gsonBuilder.registerTypeAdapter(
Account::class.java,
Serializer.UserSerializer(),
)
// gets posts
gsonBuilder.registerTypeAdapter(
object : TypeToken<MutableList<Post?>?>() {}.type,
Serializer.PostsSerializer(),
)
val gson = gsonBuilder.create()
val okHttpClient = SquareOkHttpClient()
okHttpClient.setConnectTimeout(35, TimeUnit.SECONDS) // Connection timeout
okHttpClient.setReadTimeout(35, TimeUnit.SECONDS) // Read timeout
okHttpClient.setWriteTimeout(35, TimeUnit.SECONDS) // Write timeout
val restAdapter =
RestAdapter
.Builder()
.setConverter(GsonConverter(gson))
.setClient(OkClient(okHttpClient))
.setEndpoint("https://pennmobile.org/api")
.build()
mStudentLife = restAdapter.create(StudentLife::class.java)
}
return mStudentLife!!
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ class HuntsmanGSRLogin : Fragment() {
private lateinit var roomName: String
private var gid: Int = 0

private lateinit var mStudentLife: StudentLife
private lateinit var mStudentLifeRf2: StudentLifeRf2
private lateinit var mActivity: MainActivity

Expand All @@ -38,7 +37,6 @@ class HuntsmanGSRLogin : Fragment() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mStudentLife = MainActivity.studentLifeInstance
mStudentLifeRf2= MainActivity.studentLifeInstanceRf2
mActivity = activity as MainActivity
arguments?.let { arguments ->
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
import com.pennapps.labs.pennmobile.api.classes.AccessTokenResponse
import com.pennapps.labs.pennmobile.dining.classes.DiningHall
import com.pennapps.labs.pennmobile.dining.classes.DiningPreferences
import com.pennapps.labs.pennmobile.dining.classes.DiningRequest
import com.pennapps.labs.pennmobile.dining.classes.Venue
import com.pennapps.labs.pennmobile.fitness.classes.FitnessPreferences
import com.pennapps.labs.pennmobile.fitness.classes.FitnessRequest
import com.pennapps.labs.pennmobile.fitness.classes.FitnessRoom
import com.pennapps.labs.pennmobile.fitness.classes.FitnessRoomUsage
import com.pennapps.labs.pennmobile.fling.classes.FlingEvent
import com.pennapps.labs.pennmobile.gsr.classes.GSR
import com.pennapps.labs.pennmobile.gsr.classes.GSRBookingResult
import com.pennapps.labs.pennmobile.gsr.classes.GSRLocation
import com.pennapps.labs.pennmobile.gsr.classes.GSRReservation
import com.pennapps.labs.pennmobile.gsr.classes.WhartonStatus
import com.pennapps.labs.pennmobile.home.classes.Article
import com.pennapps.labs.pennmobile.home.classes.CalendarEvent
import com.pennapps.labs.pennmobile.home.classes.Poll
import com.pennapps.labs.pennmobile.home.classes.Post
import com.pennapps.labs.pennmobile.laundry.classes.LaundryPreferences
import com.pennapps.labs.pennmobile.laundry.classes.LaundryRequest
import com.pennapps.labs.pennmobile.laundry.classes.LaundryRoom
Expand Down Expand Up @@ -158,11 +164,45 @@ interface StudentLifeRf2 {
): Observable<List<Poll?>?>

@FormUrlEncoded
@POST("/portal/votes/")
@POST("portal/votes/")
suspend fun createPollVote(
@Header("Authorization") bearerToken: String,
@Field("id_hash") idHash: String,
@Field("poll_options") pollOptions: ArrayList<Int>,
): Response<ResponseBody>

@GET("dining/venues")
fun venues(): Observable<List<Venue?>?>

@GET("dining/menus/{day}")
fun getMenus(
@Path("day") day: String?
): Observable<List<DiningHall.Menu?>?>

@GET("dining/weekly_menu/{id}")
fun daily_menu(
@Path("id") id: Int
): Observable<DiningHall?>

@GET("gsr/locations")
fun location(): Observable<List<GSRLocation?>?>

@GET("events/fling")
fun getFlingEvents(): Observable<List<FlingEvent?>?>

@GET("gsr/reservations")
fun getGsrReservations(
@Header("Authorization") bearerToken: String?
): Observable<List<GSRReservation?>?>

@GET("laundry/preferences")
fun getLaundryPrefObservable(
@Header("Authorization") bearerToken: String
): Observable<LaundryPreferences?>

@GET("portal/posts/browse/")
fun validPostsList(
@Header("Authorization") bearerToken: String?
): Observable<List<Post?>?>
}

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.pennapps.labs.pennmobile.dining.adapters

import StudentLifeRf2
import android.content.Context
import android.os.Bundle
import android.view.LayoutInflater
Expand All @@ -15,18 +16,18 @@ import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.RecyclerView
import com.pennapps.labs.pennmobile.MainActivity
import com.pennapps.labs.pennmobile.R
import com.pennapps.labs.pennmobile.api.StudentLife
import com.pennapps.labs.pennmobile.databinding.DiningListItemBinding
import com.pennapps.labs.pennmobile.dining.classes.DiningHall
import com.pennapps.labs.pennmobile.dining.fragments.MenuFragment
import com.squareup.picasso.Picasso
import rx.android.schedulers.AndroidSchedulers
import rx.schedulers.Schedulers
import java.util.Collections

class DiningAdapter(
private var diningHalls: List<DiningHall>,
) : RecyclerView.Adapter<DiningAdapter.DiningViewHolder>() {
private lateinit var mStudentLife: StudentLife
private lateinit var mStudentLifeRf2: StudentLifeRf2
private lateinit var loaded: BooleanArray
private lateinit var sortBy: String
private lateinit var context: Context
Expand All @@ -36,7 +37,7 @@ class DiningAdapter(
viewType: Int,
): DiningViewHolder {
val itemBinding = DiningListItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
mStudentLife = MainActivity.studentLifeInstance
mStudentLifeRf2 = MainActivity.studentLifeInstanceRf2
loaded = BooleanArray(diningHalls.size)
context = parent.context
val sp = PreferenceManager.getDefaultSharedPreferences(context)
Expand Down Expand Up @@ -85,14 +86,17 @@ class DiningAdapter(
if (diningHall.isResidential && !loaded[position]) {
holder.progressBar.visibility = View.VISIBLE
try {
mStudentLife
mStudentLifeRf2
.daily_menu(diningHall.id)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ newDiningHall ->
diningHall.sortMeals(newDiningHall.menus)
holder.progressBar.visibility = View.INVISIBLE
holder.menuArrow.visibility = View.VISIBLE
loaded[position] = true
newDiningHall?.menus?.let { menus ->
diningHall.sortMeals(menus)
holder.progressBar.visibility = View.INVISIBLE
holder.menuArrow.visibility = View.VISIBLE
loaded[position] = true
}
}, {
holder.progressBar.visibility = View.VISIBLE
holder.menuArrow.visibility = View.GONE
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.pennapps.labs.pennmobile.dining.adapters

import StudentLifeRf2
import android.content.Context
import android.os.Bundle
import android.util.Log
Expand All @@ -15,11 +16,11 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.pennapps.labs.pennmobile.MainActivity
import com.pennapps.labs.pennmobile.R
import com.pennapps.labs.pennmobile.api.StudentLife
import com.pennapps.labs.pennmobile.databinding.DiningListItemBinding
import com.pennapps.labs.pennmobile.dining.classes.DiningHall
import com.pennapps.labs.pennmobile.dining.fragments.MenuFragment
import rx.android.schedulers.AndroidSchedulers
import rx.schedulers.Schedulers

class DiningCardAdapter(
halls: ArrayList<DiningHall>,
Expand All @@ -32,15 +33,15 @@ class DiningCardAdapter(

private lateinit var mContext: Context
private lateinit var mActivity: MainActivity
private lateinit var mStudentLife: StudentLife
private lateinit var mStudentLifeRf2: StudentLifeRf2

override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
): ViewHolder {
mContext = parent.context
mActivity = mContext as MainActivity
mStudentLife = MainActivity.studentLifeInstance
mStudentLifeRf2 = MainActivity.studentLifeInstanceRf2
val itemBinding = DiningListItemBinding.inflate(LayoutInflater.from(mContext), parent, false)
itemBinding.diningProgress.visibility = GONE
return ViewHolder(itemBinding)
Expand Down Expand Up @@ -89,11 +90,14 @@ class DiningCardAdapter(
// Load the menu for each dining hall
if (currentHall.isResidential) {
try {
mStudentLife
mStudentLifeRf2
.daily_menu(currentHall.id)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ newDiningHall ->
currentHall.sortMeals(newDiningHall.menus)
newDiningHall?.let {
currentHall.sortMeals(it.menus)
}
}, {
Log.e("DiningCard", "Error loading menus", it)
Toast.makeText(mContext, "Error loading menus", Toast.LENGTH_SHORT).show()
Expand Down
Loading

0 comments on commit aa2844c

Please sign in to comment.