Skip to content

Commit

Permalink
Small laundry optimizations
Browse files Browse the repository at this point in the history
  • Loading branch information
meiron03 committed Jan 26, 2025
1 parent aa2844c commit e49261f
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,14 @@ class LaundryMachineAdapter(
var timeTextView: TextView? = itemBinding.minLeftTime
var notificationBell: LottieAnimationView = itemBinding.bellNotificationIcon
var alarmSwitch: SwitchCompat = itemBinding.laundryAlarmSwitch
val animated = AnimatedVectorDrawableCompat.create(context, R.drawable.ic_washer_in_use)

fun bind(position: Int) {
with(itemBinding.root) {
val detail = mMachineDetails[position]
alarmSwitch.visibility = View.GONE
if (alarmSwitch.visibility != View.GONE) {
alarmSwitch.visibility = View.GONE
}

when (val timeRemaining = detail.timeRemaining) {
NOT_AVAILABLE_LABEL -> {
Expand All @@ -102,8 +105,6 @@ class LaundryMachineAdapter(
}
else -> {
if (mMachineType == context.getString(R.string.washer)) {
// holder.machineView!!.setImageResource(R.drawable.ic_washer_in_use)
val animated = AnimatedVectorDrawableCompat.create(context, R.drawable.ic_washer_in_use)
animated?.registerAnimationCallback(
object : Animatable2Compat.AnimationCallback() {
override fun onAnimationEnd(drawable: Drawable?) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,8 @@ public LaundryRoomAdapter.CustomViewHolder onCreateViewHolder(ViewGroup parent,

@Override
public void onBindViewHolder(LaundryRoomAdapter.CustomViewHolder holder, int position) {

LaundryRoom room = mRooms.get(position);

if (isHome) {
holder.name.setVisibility(View.GONE);
holder.title.setVisibility(View.GONE);
holder.lineChart.setVisibility(View.GONE);
holder.layout.setBackgroundResource(0);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) holder.layout.getLayoutParams();
layoutParams.setMargins(0, 0, 0, 0);
layoutParams.setMarginStart(0);
holder.layout.setLayoutParams(layoutParams);
CardView container = (CardView) holder.dryerRecyclerView.getParent();
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
params.setMargins(0,0,0,0);
container.setLayoutParams(params);
container = (CardView) holder.washerRecyclerView.getParent();
params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
params.setMargins(0,0,0,0);
container.setLayoutParams(params);
}

// update name of laundry room and type of machine
int hall_no = room.getId();
String location = sp.getString(hall_no + mContext.getString(R.string.location), "");
Expand All @@ -109,13 +89,11 @@ public void onBindViewHolder(LaundryRoomAdapter.CustomViewHolder holder, int pos
// add washer info
// recycler view for the time remaining
LaundryMachineAdapter washerAdapter = new LaundryMachineAdapter(mContext, washers, mContext.getString(R.string.washer), roomName);
holder.washerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
holder.washerRecyclerView.setAdapter(washerAdapter);

// add dryer info
// recycler view for the time remaining
LaundryMachineAdapter adapter = new LaundryMachineAdapter(mContext, dryers, mContext.getString(R.string.dryer), roomName);
holder.dryerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
holder.dryerRecyclerView.setAdapter(adapter);

// overview of how many machines are available
Expand All @@ -135,7 +113,7 @@ public void onBindViewHolder(LaundryRoomAdapter.CustomViewHolder holder, int pos
int totalDryers = openDryers + runningDryers + offlineDryers + outOfOrderDryers;
holder.dryerAvailability.setText(openDryers + " of " + totalDryers + " Open");

if (mRoomsData != null) {
if (!isHome && mRoomsData != null) {
if (mRoomsData.size() > position) createLaundryChart(holder, position);
}

Expand Down Expand Up @@ -210,7 +188,6 @@ public int getItemCount() {
public class CustomViewHolder extends RecyclerView.ViewHolder {

Context mContext;
ArrayList<LaundryRoom> mRooms;

//@BindView(R.id.laundry_room_title)
TextView name;
Expand All @@ -233,7 +210,6 @@ public CustomViewHolder(View view, Context context, ArrayList<LaundryRoom> rooms
super(view);

mContext = context;
mRooms = rooms;

//@BindView(R.id.laundry_room_title)
name = view.findViewById(R.id.laundry_room_title);
Expand All @@ -251,6 +227,28 @@ public CustomViewHolder(View view, Context context, ArrayList<LaundryRoom> rooms
lineChart = view.findViewById(R.id.laundry_availability_chart);
//@BindView(R.id.laundry_card)
layout = view.findViewById(R.id.laundry_card);

washerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
dryerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));

if (isHome) {
name.setVisibility(View.GONE);
title.setVisibility(View.GONE);
lineChart.setVisibility(View.GONE);
layout.setBackgroundResource(0);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) layout.getLayoutParams();
layoutParams.setMargins(0, 0, 0, 0);
layoutParams.setMarginStart(0);
layout.setLayoutParams(layoutParams);
CardView container = (CardView) dryerRecyclerView.getParent();
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
params.setMargins(0,0,0,0);
container.setLayoutParams(params);
container = (CardView) washerRecyclerView.getParent();
params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
params.setMargins(0,0,0,0);
container.setLayoutParams(params);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentTransaction
import androidx.fragment.app.activityViewModels
import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.pennapps.labs.pennmobile.MainActivity
import com.pennapps.labs.pennmobile.R
import com.pennapps.labs.pennmobile.components.collapsingtoolbar.ToolbarBehavior
Expand Down Expand Up @@ -89,6 +90,12 @@ class LaundryFragment : Fragment() {
mActivity.removeTabs()
mActivity.setTitle(R.string.laundry)

binding.favoriteLaundryList.setRecycledViewPool(RecyclerView.RecycledViewPool().apply {
setMaxRecycledViews(0, LaundryViewModel.MAX_NUM_ROOMS)
})
binding.favoriteLaundryList.itemAnimator = null
binding.favoriteLaundryList.isNestedScrollingEnabled = false

mAdapter =
LaundryRoomAdapter(
mContext,
Expand Down
6 changes: 2 additions & 4 deletions PennMobile/src/main/res/layout/fragment_laundry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
android:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay"
app:elevation="0dp"
tools:targetApi="lollipop">
>

<FrameLayout
android:id="@+id/appbar_container"
Expand All @@ -29,7 +29,6 @@
android:layout_height="wrap_content"
android:layout_gravity="start|top"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="24dp" />

<TextView
Expand All @@ -39,7 +38,6 @@
android:layout_height="wrap_content"
android:layout_gravity="start|bottom"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginBottom="4dp"
android:maxLines="1"
/>
Expand All @@ -51,7 +49,7 @@
android:layout_gravity="center_vertical|end"
android:layout_marginTop="10dp"
android:layout_marginEnd="36dp"
android:layout_marginRight="36dp">
>

<ImageView
android:id="@+id/laundry_preferences"
Expand Down

0 comments on commit e49261f

Please sign in to comment.