fix tester-reported bugs
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user