Commit e69326da authored by Wahyu Wibowo's avatar Wahyu Wibowo

fixing filter category

parent 52927de2
......@@ -10,11 +10,13 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Application;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.PopupMenu;
import android.widget.Toast;
......@@ -24,6 +26,7 @@ import com.example.yourcashiertest.adapters.ProductAdapter;
import com.example.yourcashiertest.databinding.ActivityMainBinding;
import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.repositories.ProductRepository;
import com.example.yourcashiertest.viewmodels.CartViewModel;
import com.example.yourcashiertest.viewmodels.ProductViewModel;
......@@ -118,16 +121,16 @@ public class MainActivity extends AppCompatActivity {
binding.rvProducts.setAdapter(adapter);
viewModel = new ViewModelProvider(this).get(ProductViewModel.class);
viewModel.getProducts().observe(this, adapter::setProducts);
viewModel.getProducts().observe(this, products -> {
adapter.setProducts(products);
List<String> list = new ArrayList<>();
List<String> category = new ArrayList<>();
for (int i = 0; i < products.size(); i++){
list.add(products.get(i).getCategory());
category.add(products.get(i).getCategory().toLowerCase());
}
categoryAdapter.setCategories(list);
categoryAdapter.setCategories(category);
});
categoryAdapter.setListener(category -> viewModel.filter(category));
categoryAdapter.setListener(category -> viewModel.filter(category.toLowerCase()));
adapter.setListener(new ProductAdapter.ProductListener() {
@Override
......
......@@ -17,6 +17,9 @@ public interface ProductDao {
@Query("SELECT * FROM products ORDER BY id DESC")
public LiveData<List<Product>> getProducts();
// @Query("SELECT category FROM products")
// public LiveData<List<Product>> getAllCategory();
@Query("SELECT * FROM products WHERE name LIKE :query OR category LIKE:query ORDER BY id DESC")
public LiveData<List<Product>> getFilteredProducts(String query);
......
......@@ -37,5 +37,6 @@ public class ProductRepository {
public LiveData<List<Product>> filteredProducts(String s) {
return productDao.getFilteredProducts(s);
}
}
......@@ -19,7 +19,6 @@ public class ProductViewModel extends AndroidViewModel {
private MutableLiveData<String> photo = new MutableLiveData<>("");
private MutableLiveData<String> query = new MutableLiveData<>("%");
private MutableLiveData<String> category = new MutableLiveData<>("%");
private MutableLiveData<Product> product = new MutableLiveData<>();
private LiveData<List<Product>> products;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment