Skip to content

Commit

Permalink
Reservation changes load, text does not bleed
Browse files Browse the repository at this point in the history
  • Loading branch information
Divak2004 committed Jan 25, 2025
1 parent ab1d9cf commit 62c65c8
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
package com.pennapps.labs.pennmobile.gsr.adapters

import android.appwidget.AppWidgetManager
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.util.Log
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.RemoteViews
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.appcompat.app.AlertDialog
import androidx.browser.customtabs.CustomTabsClient.getPackageName
import androidx.localbroadcastmanager.content.LocalBroadcastManager
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.databinding.GsrReservationBinding
import com.pennapps.labs.pennmobile.gsr.classes.GSRReservation
import com.pennapps.labs.pennmobile.gsr.widget.GsrReservationWidget
import com.squareup.picasso.Picasso
import org.joda.time.format.DateTimeFormat
import org.joda.time.format.DateTimeFormatter
import retrofit.ResponseCallback
import retrofit.RetrofitError
import retrofit.client.Response


class GsrReservationsAdapter(
private var reservations: ArrayList<GSRReservation>,
) : RecyclerView.Adapter<GsrReservationsAdapter.GsrReservationViewHolder>() {
Expand Down Expand Up @@ -77,7 +83,7 @@ class GsrReservationsAdapter(
val sessionID =
if (reservation.info == null) {
sp.getString(
mContext.getString(R.string.huntsmanGSR_SessionID),
mContext.getString(com.pennapps.labs.pennmobile.R.string.huntsmanGSR_SessionID),
"",
)
} else {
Expand All @@ -86,7 +92,7 @@ class GsrReservationsAdapter(

val labs = MainActivity.studentLifeInstance
val bearerToken =
"Bearer " + sp.getString(mContext.getString(R.string.access_token), " ")
"Bearer " + sp.getString(mContext.getString(com.pennapps.labs.pennmobile.R.string.access_token), " ")
try {
labs.cancelReservation(
bearerToken,
Expand All @@ -99,6 +105,9 @@ class GsrReservationsAdapter(
reservations.removeAt(position)
}
run {
val ids = AppWidgetManager.getInstance(mContext).getAppWidgetIds(
ComponentName(mContext, GsrReservationWidget::class.java))
GsrReservationWidget().onUpdate(mContext, AppWidgetManager.getInstance(mContext), ids)
if (reservations.size == 0) {
var intent = Intent("refresh")
LocalBroadcastManager
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.pennapps.labs.pennmobile.gsr.fragments

import android.appwidget.AppWidgetManager
import android.content.ComponentName
import android.content.Intent
import android.graphics.Color
import android.graphics.PorterDuff
import android.os.Bundle
Expand All @@ -11,16 +14,19 @@ import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.glance.appwidget.action.actionSendBroadcast
import androidx.preference.PreferenceManager
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.GsrDetailsBookBinding
import com.pennapps.labs.pennmobile.gsr.classes.GSRBookingResult
import com.pennapps.labs.pennmobile.gsr.widget.GsrReservationWidget
import retrofit.Callback
import retrofit.RetrofitError
import retrofit.client.Response


class BookGsrFragment : Fragment() {
private var _binding: GsrDetailsBookBinding? = null
val binding get() = _binding!!
Expand Down Expand Up @@ -165,6 +171,10 @@ class BookGsrFragment : Fragment() {
if (result.getDetail().equals("success")) {
Toast.makeText(activity, "GSR successfully booked", Toast.LENGTH_LONG).show()

val ids = AppWidgetManager.getInstance(context).getAppWidgetIds(
ComponentName(context!!, GsrReservationWidget::class.java))
GsrReservationWidget().onUpdate(context!!, AppWidgetManager.getInstance(context), ids)

// Save user info in shared preferences
val sp = PreferenceManager.getDefaultSharedPreferences(activity)
val editor = sp.edit()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import android.appwidget.AppWidgetProvider
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Handler
import android.os.Looper
import android.widget.RemoteViews
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
Expand Down Expand Up @@ -66,11 +68,17 @@ class GsrReservationWidget : AppWidgetProvider() {

// Notify appwidgetviewdata has changed to call getViewAt to set up the widget UI
// and handle update for every appwidget item in the Collection widget.
// Called twice because for some reason it doesn't register if called once
appWidgetManager.notifyAppWidgetViewDataChanged(
appWidgetId,
R.id.gsr_reservation_widget_stack_view,
)
R.id.gsr_reservation_widget_stack_view,)
appWidgetManager.updateAppWidget(appWidgetId, views)
Handler(Looper.getMainLooper()).postDelayed({
appWidgetManager.notifyAppWidgetViewDataChanged(
appWidgetId,
R.id.gsr_reservation_widget_stack_view,)
appWidgetManager.updateAppWidget(appWidgetId, views)
}, 15000)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import android.content.Context
import android.content.Intent
import android.graphics.BitmapFactory
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.widget.RemoteViews
import android.widget.RemoteViewsService
import androidx.preference.PreferenceManager
Expand Down Expand Up @@ -37,18 +39,25 @@ class GsrReservationWidgetAdapter : RemoteViewsService() {
override fun onCreate() {
mGsrReservationsRequest = GsrReservationWidget.gsrReservationsRequestInstance
getWidgetGsrReservations()
val appWidgetManager: AppWidgetManager =
AppWidgetManager.getInstance(context)
Handler(Looper.getMainLooper()).postDelayed({
appWidgetManager.notifyAppWidgetViewDataChanged(
appWidgetId,
R.id.gsr_reservation_widget_stack_view,)
}, 5000)
}

// Not used since already handled
override fun onDataSetChanged() {
getWidgetGsrReservations()
}

override fun onDestroy() {
}

override fun getCount(): Int = dataSet.size

// TODO("Get building name(?), and hopefully support click behavior")
override fun getViewAt(index: Int): RemoteViews {
val reservation = dataSet[index]
val roomName = reservation.name
Expand Down Expand Up @@ -118,13 +127,6 @@ class GsrReservationWidgetAdapter : RemoteViewsService() {
}.toList()
.subscribe { reservations ->
dataSet = reservations
println("subscribed")
val appWidgetManager: AppWidgetManager =
AppWidgetManager.getInstance(context)
appWidgetManager.notifyAppWidgetViewDataChanged(
appWidgetId,
R.id.gsr_reservation_widget_stack_view,
)
}
}
} catch (e: Exception) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,11 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:maxLines = "2"
android:minLines="2"
android:text="VP Weigle Room 110 oiwejfoiwjeof ihu"
android:minLines="1"
android:text="VP Weigle Room 110 oiwejfoiwjeof ihu wefwefwefwefwef"
android:textSize="12sp"
android:textStyle="bold" />
android:textStyle="bold"
android:ellipsize="end" />

<TextView
android:id="@+id/gsr_reservation_widget_item_time_tv"
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ adapterRxjava2 = "2.4.0"
agp = "8.6.1"
androidRss = "master-SNAPSHOT"
annotation = "1.7.0"
blurview = "version-2.0.5"
blurview = "version-2.0.6"
browser = "1.5.0"
cardview = "1.0.0"
commonsLang3 = "3.13.0"
Expand Down

0 comments on commit 62c65c8

Please sign in to comment.