fix tester-reported bugs

This commit is contained in:
2026-04-21 11:09:18 -06:00
parent 6631ad8e1f
commit 489543ffca
8 changed files with 140 additions and 123 deletions

View File

@@ -156,7 +156,9 @@ public class CouponFragment extends Fragment implements CouponAdapter.OnCouponCl
binding.spinnerTypeCoupon.getSelectedItem().toString() : "All Types";
String discountType = typeStr.equals("All Types") ? null : typeStr;
viewModel.loadCoupons(reset, active, discountType, null);
String search = binding.etSearchCoupon.getText() != null ? binding.etSearchCoupon.getText().toString().trim() : null;
if (search != null && search.isEmpty()) search = null;
viewModel.loadCoupons(reset, active, discountType, search);
}
/**

View File

@@ -58,13 +58,14 @@ public class CustomerFragment extends Fragment implements CustomerAdapter.OnCust
setupSwipeRefresh();
observeViewModel();
viewModel.resetFilters();
viewModel.loadCustomers(true);
binding.fabAddCustomer.setOnClickListener(v -> openDetail(-1));
UIUtils.setupHamburgerMenu(binding.btnHamburgerCustomer, this);
UIUtils.setupFilterToggle(binding.btnToggleFilterCustomer, binding.layoutFilterCustomer,
binding.etSearchCustomer, binding.spinnerStatusCustomer);
binding.etSearchCustomer, this::applyFilters, binding.spinnerStatusCustomer);
return binding.getRoot();
}

View File

@@ -41,13 +41,21 @@ public class UIUtils {
* Sets up a toggle for a filter layout, including icon changes.
*/
public static void setupFilterToggle(ImageButton btnToggle, View layoutFilter, EditText etSearch, Spinner... spinners) {
setupFilterToggle(btnToggle, layoutFilter, etSearch, null, spinners);
}
public static void setupFilterToggle(ImageButton btnToggle, View layoutFilter, EditText etSearch, Runnable onClose, Spinner... spinners) {
btnToggle.setOnClickListener(v -> {
boolean isVisible = layoutFilter.getVisibility() == View.VISIBLE;
layoutFilter.setVisibility(isVisible ? View.GONE : View.VISIBLE);
btnToggle.setImageResource(isVisible ?
android.R.drawable.ic_menu_search :
btnToggle.setImageResource(isVisible ?
android.R.drawable.ic_menu_search :
android.R.drawable.ic_menu_close_clear_cancel);
if (isVisible && onClose != null) {
onClose.run();
}
});
}

View File

@@ -110,6 +110,11 @@ public class CustomerListViewModel extends ViewModel {
/**
* Filters the customer list locally based on query and status.
*/
public void resetFilters() {
this.lastQuery = "";
this.lastStatus = "All Statuses";
}
public void filter(String query, String status) {
this.lastQuery = query;
this.lastStatus = status;