70% of features done!

This commit is contained in:
OnlyPapy98
2025-12-12 17:55:12 +01:00
parent dc93d1320f
commit b3d94ad038
31 changed files with 3334 additions and 285 deletions

View File

@@ -6,26 +6,35 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.example.quiz.databinding.FragmentSoldByCourseBinding;
import com.example.quiz.utils.Result;
import com.example.quiz.utils.SharedPrefsHelper;
import com.example.quiz.viewModel.PariViewModel;
import dagger.hilt.android.AndroidEntryPoint;
/**
* A simple {@link Fragment} subclass.
* Use the {@link SoldByCourse#newInstance} factory method to
* create an instance of this fragment.
*/
@AndroidEntryPoint
public class SoldByCourse extends Fragment {
FragmentSoldByCourseBinding binding;
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
PariViewModel pariViewModel;
SharedPrefsHelper prefsHelper;
public static SoldByCourse newInstance() {
@@ -39,6 +48,7 @@ public class SoldByCourse extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefsHelper = SharedPrefsHelper.getInstance(getContext());
}
@Override
@@ -52,19 +62,43 @@ public class SoldByCourse extends Fragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
pariViewModel = new ViewModelProvider(this).get(PariViewModel.class);
binding.btnCheckBalance.setOnClickListener(v -> {
if(binding.etRaceNumber.getText().toString().isEmpty()){
binding.etRaceNumber.setError("Veuillez entrer un numéro de course");
return;
}
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course 3000CFA")
.setPositiveButton("Ok", (dialog, which) -> {
binding.etRaceNumber.setText("");
dialog.dismiss();
})
.show();
pariViewModel.getSoldeByCourse(prefsHelper.get("code"), binding.etRaceNumber.getText().toString()).observe(getViewLifecycleOwner(), new Observer<Result<Double>>() {
@Override
public void onChanged(Result<Double> doubleResult) {
switch (doubleResult.status){
case LOADING:{
Toast.makeText(getContext(), "Chargement..", Toast.LENGTH_SHORT).show();
break;
}
case ERROR:{
Toast.makeText(getContext(), doubleResult.message, Toast.LENGTH_SHORT).show();
break;
}
case SUCCESS:{
_showPariDialog(doubleResult.data);
break;
}
}
}
});
});
}
void _showPariDialog(double solde){
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course "+solde)
.setPositiveButton("Ok", (dialog, which) -> {
binding.etRaceNumber.setText("");
dialog.dismiss();
})
.show();
}
}