diff --git a/.idea/copilot.data.migration.ask2agent.xml b/.idea/copilot.data.migration.ask2agent.xml new file mode 100644 index 0000000..1f2ea11 --- /dev/null +++ b/.idea/copilot.data.migration.ask2agent.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryAdapter.java b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryAdapter.java new file mode 100644 index 0000000..5e3f660 --- /dev/null +++ b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryAdapter.java @@ -0,0 +1,63 @@ +package com.utsmm.kbz.ui.qr_pay; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + +import com.utsmm.kbz.R; +import com.utsmm.kbz.databinding.ItemQrHistoryBinding; +import com.utsmyanmar.paylibs.model.PayDetail; + +import java.util.ArrayList; +import java.util.List; + +public class QRHistoryAdapter extends RecyclerView.Adapter { + + private List items = new ArrayList<>(); + + public void setItems(List list){ + items = list; + notifyDataSetChanged(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + ItemQrHistoryBinding binding = DataBindingUtil.inflate( + LayoutInflater.from(parent.getContext()), + R.layout.item_qr_history, + parent, + false + ); + return new ViewHolder(binding); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + holder.bind(items.get(position)); + } + + @Override + public int getItemCount() { + return items.size(); + } + + static class ViewHolder extends RecyclerView.ViewHolder { + private final ItemQrHistoryBinding binding; + + public ViewHolder(@NonNull ItemQrHistoryBinding binding){ + super(binding.getRoot()); + this.binding = binding; + } + + public void bind(PayDetail item){ + binding.setPayDetail(item); + binding.executePendingBindings(); + } + } +} diff --git a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryFragment.java b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryFragment.java new file mode 100644 index 0000000..e94d7dc --- /dev/null +++ b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryFragment.java @@ -0,0 +1,80 @@ +package com.utsmm.kbz.ui.qr_pay; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.utsmm.kbz.BR; +import com.utsmm.kbz.R; +import com.utsmyanmar.baselib.fragment.DataBindingFragment; +import com.utsmyanmar.baselib.util.DataBindingConfig; + +import dagger.hilt.android.AndroidEntryPoint; + +@AndroidEntryPoint +public class QRHistoryFragment extends DataBindingFragment { + + private QRHistoryAdapter adapter; + private QRHistoryViewModel viewModel; + + + @Override + protected void initViewModel() { + viewModel = new ViewModelProvider(this).get(QRHistoryViewModel.class); + } + + @Override + protected DataBindingConfig getDataBindingConfig() { + DataBindingConfig bindingConfig = new DataBindingConfig(R.layout.fragment_qr_history, BR.viewModel, viewModel); + bindingConfig.addBindingParam(BR.adapter, adapter); + return bindingConfig; + } + + @Override + protected int currentId() { + return 0; + } + + @Override + protected int hostId() { + return 0; + } + + @Override + protected int routeId() { + return 0; + } + + @Override + public void onResume(){ + super.onResume(); + setToolBarTitleWithBackIcon("History"); + observeData(); + } + + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstance){ + super.onViewCreated(view, savedInstance); + + RecyclerView rvHistory = view.findViewById(R.id.qrRvHistory); + rvHistory.setLayoutManager(new LinearLayoutManager(getContext())); + adapter = new QRHistoryAdapter(); + rvHistory.setAdapter(adapter); + observeData(); + } + + private void observeData(){ + viewModel.getAllQrHistory().observe(getViewLifecycleOwner(), list -> { + adapter.setItems(list); + }); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryViewModel.java new file mode 100644 index 0000000..cfaf7d5 --- /dev/null +++ b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRHistoryViewModel.java @@ -0,0 +1,29 @@ +package com.utsmm.kbz.ui.qr_pay; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.ViewModel; + +import com.utsmyanmar.baselib.repo.Repository; +import com.utsmyanmar.paylibs.model.PayDetail; + +import java.util.List; + +import javax.inject.Inject; + +import dagger.hilt.android.lifecycle.HiltViewModel; + +@HiltViewModel +public class QRHistoryViewModel extends ViewModel { + private final Repository repository; + private final LiveData> history; + + @Inject + public QRHistoryViewModel(Repository repository){ + this.repository = repository; + this.history = repository.getAllQRHistory(); + } + + public LiveData> getAllQrHistory(){ + return history; + } +} diff --git a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRPayFragment.java b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRPayFragment.java index 64908eb..c2ba79d 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRPayFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRPayFragment.java @@ -71,7 +71,7 @@ public class QRPayFragment extends DataBindingFragment { break; case "History": - + onClickHistory(); break; } }); @@ -384,4 +384,8 @@ public class QRPayFragment extends DataBindingFragment { NavHostFragment.findNavController(this) .navigate(R.id.action_qrFragment_to_inputAmountFragment); } + + private void onClickHistory(){ + NavHostFragment.findNavController(this).navigate(R.id.action_qrFragment_to_qrHistory); + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_qr_history.xml b/app/src/main/res/layout/fragment_qr_history.xml new file mode 100644 index 0000000..348b852 --- /dev/null +++ b/app/src/main/res/layout/fragment_qr_history.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_qr_history.xml b/app/src/main/res/layout/item_qr_history.xml new file mode 100644 index 0000000..8b013b4 --- /dev/null +++ b/app/src/main/res/layout/item_qr_history.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index d9e88da..806b849 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -1082,5 +1082,15 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 723e7cf..9d4e84e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -442,7 +442,7 @@ Disconnect Trying reversal last time! Transaction Voided - + Void Failed 914-ORIGINAL TRANSACTION NOT FOUND QR Generation Failed! Auth Failed! @@ -593,5 +593,7 @@ PhaYaSa YaTaNa + + Hello blank fragment \ No newline at end of file diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/db/dao/PayDetailDao.java b/baselib/src/main/java/com/utsmyanmar/baselib/db/dao/PayDetailDao.java index e0b741b..c84e770 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/db/dao/PayDetailDao.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/db/dao/PayDetailDao.java @@ -149,4 +149,7 @@ public interface PayDetailDao { @Query("SELECT * FROM paydetail ORDER BY PID DESC") LiveData> getAllTrans(); + + @Query("SELECT * FROM paydetail WHERE transactionType = 20 ORDER BY PID DESC") + LiveData> getAllQRHistory(); } diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java b/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java index 16a1d7e..a0af143 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java @@ -226,4 +226,6 @@ public class Repository { } public LiveData> getAllTrans() { return payDetailDao.getAllTrans(); } + + public LiveData> getAllQRHistory(){ return payDetailDao.getAllQRHistory();} }