Skip to content

Commit e49261f

Browse files
committed
Small laundry optimizations
1 parent aa2844c commit e49261f

File tree

4 files changed

+36
-32
lines changed

4 files changed

+36
-32
lines changed

PennMobile/src/main/java/com/pennapps/labs/pennmobile/laundry/adapters/LaundryMachineAdapter.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,14 @@ class LaundryMachineAdapter(
7272
var timeTextView: TextView? = itemBinding.minLeftTime
7373
var notificationBell: LottieAnimationView = itemBinding.bellNotificationIcon
7474
var alarmSwitch: SwitchCompat = itemBinding.laundryAlarmSwitch
75+
val animated = AnimatedVectorDrawableCompat.create(context, R.drawable.ic_washer_in_use)
7576

7677
fun bind(position: Int) {
7778
with(itemBinding.root) {
7879
val detail = mMachineDetails[position]
79-
alarmSwitch.visibility = View.GONE
80+
if (alarmSwitch.visibility != View.GONE) {
81+
alarmSwitch.visibility = View.GONE
82+
}
8083

8184
when (val timeRemaining = detail.timeRemaining) {
8285
NOT_AVAILABLE_LABEL -> {
@@ -102,8 +105,6 @@ class LaundryMachineAdapter(
102105
}
103106
else -> {
104107
if (mMachineType == context.getString(R.string.washer)) {
105-
// holder.machineView!!.setImageResource(R.drawable.ic_washer_in_use)
106-
val animated = AnimatedVectorDrawableCompat.create(context, R.drawable.ic_washer_in_use)
107108
animated?.registerAnimationCallback(
108109
object : Animatable2Compat.AnimationCallback() {
109110
override fun onAnimationEnd(drawable: Drawable?) {

PennMobile/src/main/java/com/pennapps/labs/pennmobile/laundry/adapters/LaundryRoomAdapter.java

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -63,28 +63,8 @@ public LaundryRoomAdapter.CustomViewHolder onCreateViewHolder(ViewGroup parent,
6363

6464
@Override
6565
public void onBindViewHolder(LaundryRoomAdapter.CustomViewHolder holder, int position) {
66-
6766
LaundryRoom room = mRooms.get(position);
6867

69-
if (isHome) {
70-
holder.name.setVisibility(View.GONE);
71-
holder.title.setVisibility(View.GONE);
72-
holder.lineChart.setVisibility(View.GONE);
73-
holder.layout.setBackgroundResource(0);
74-
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) holder.layout.getLayoutParams();
75-
layoutParams.setMargins(0, 0, 0, 0);
76-
layoutParams.setMarginStart(0);
77-
holder.layout.setLayoutParams(layoutParams);
78-
CardView container = (CardView) holder.dryerRecyclerView.getParent();
79-
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
80-
params.setMargins(0,0,0,0);
81-
container.setLayoutParams(params);
82-
container = (CardView) holder.washerRecyclerView.getParent();
83-
params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
84-
params.setMargins(0,0,0,0);
85-
container.setLayoutParams(params);
86-
}
87-
8868
// update name of laundry room and type of machine
8969
int hall_no = room.getId();
9070
String location = sp.getString(hall_no + mContext.getString(R.string.location), "");
@@ -109,13 +89,11 @@ public void onBindViewHolder(LaundryRoomAdapter.CustomViewHolder holder, int pos
10989
// add washer info
11090
// recycler view for the time remaining
11191
LaundryMachineAdapter washerAdapter = new LaundryMachineAdapter(mContext, washers, mContext.getString(R.string.washer), roomName);
112-
holder.washerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
11392
holder.washerRecyclerView.setAdapter(washerAdapter);
11493

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

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

138-
if (mRoomsData != null) {
116+
if (!isHome && mRoomsData != null) {
139117
if (mRoomsData.size() > position) createLaundryChart(holder, position);
140118
}
141119

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

212190
Context mContext;
213-
ArrayList<LaundryRoom> mRooms;
214191

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

235212
mContext = context;
236-
mRooms = rooms;
237213

238214
//@BindView(R.id.laundry_room_title)
239215
name = view.findViewById(R.id.laundry_room_title);
@@ -251,6 +227,28 @@ public CustomViewHolder(View view, Context context, ArrayList<LaundryRoom> rooms
251227
lineChart = view.findViewById(R.id.laundry_availability_chart);
252228
//@BindView(R.id.laundry_card)
253229
layout = view.findViewById(R.id.laundry_card);
230+
231+
washerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
232+
dryerRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
233+
234+
if (isHome) {
235+
name.setVisibility(View.GONE);
236+
title.setVisibility(View.GONE);
237+
lineChart.setVisibility(View.GONE);
238+
layout.setBackgroundResource(0);
239+
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) layout.getLayoutParams();
240+
layoutParams.setMargins(0, 0, 0, 0);
241+
layoutParams.setMarginStart(0);
242+
layout.setLayoutParams(layoutParams);
243+
CardView container = (CardView) dryerRecyclerView.getParent();
244+
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
245+
params.setMargins(0,0,0,0);
246+
container.setLayoutParams(params);
247+
container = (CardView) washerRecyclerView.getParent();
248+
params = (ConstraintLayout.LayoutParams) container.getLayoutParams();
249+
params.setMargins(0,0,0,0);
250+
container.setLayoutParams(params);
251+
}
254252
}
255253
}
256254
}

PennMobile/src/main/java/com/pennapps/labs/pennmobile/laundry/fragments/LaundryFragment.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentTransaction
1313
import androidx.fragment.app.activityViewModels
1414
import androidx.preference.PreferenceManager
1515
import androidx.recyclerview.widget.LinearLayoutManager
16+
import androidx.recyclerview.widget.RecyclerView
1617
import com.pennapps.labs.pennmobile.MainActivity
1718
import com.pennapps.labs.pennmobile.R
1819
import com.pennapps.labs.pennmobile.components.collapsingtoolbar.ToolbarBehavior
@@ -89,6 +90,12 @@ class LaundryFragment : Fragment() {
8990
mActivity.removeTabs()
9091
mActivity.setTitle(R.string.laundry)
9192

93+
binding.favoriteLaundryList.setRecycledViewPool(RecyclerView.RecycledViewPool().apply {
94+
setMaxRecycledViews(0, LaundryViewModel.MAX_NUM_ROOMS)
95+
})
96+
binding.favoriteLaundryList.itemAnimator = null
97+
binding.favoriteLaundryList.isNestedScrollingEnabled = false
98+
9299
mAdapter =
93100
LaundryRoomAdapter(
94101
mContext,

PennMobile/src/main/res/layout/fragment_laundry.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
android:elevation="0dp"
1616
android:theme="@style/AppTheme.AppBarOverlay"
1717
app:elevation="0dp"
18-
tools:targetApi="lollipop">
18+
>
1919

2020
<FrameLayout
2121
android:id="@+id/appbar_container"
@@ -29,7 +29,6 @@
2929
android:layout_height="wrap_content"
3030
android:layout_gravity="start|top"
3131
android:layout_marginStart="24dp"
32-
android:layout_marginLeft="24dp"
3332
android:layout_marginTop="24dp" />
3433

3534
<TextView
@@ -39,7 +38,6 @@
3938
android:layout_height="wrap_content"
4039
android:layout_gravity="start|bottom"
4140
android:layout_marginStart="24dp"
42-
android:layout_marginLeft="24dp"
4341
android:layout_marginBottom="4dp"
4442
android:maxLines="1"
4543
/>
@@ -51,7 +49,7 @@
5149
android:layout_gravity="center_vertical|end"
5250
android:layout_marginTop="10dp"
5351
android:layout_marginEnd="36dp"
54-
android:layout_marginRight="36dp">
52+
>
5553

5654
<ImageView
5755
android:id="@+id/laundry_preferences"

0 commit comments

Comments
 (0)