ticket fomattage

This commit is contained in:
OnlyPapy98
2026-04-30 13:08:05 +02:00
parent c0e5072523
commit 4ef19bd4e8
45 changed files with 2492 additions and 449 deletions

View File

@@ -1,7 +1,9 @@
package com.example.quiz;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
@@ -17,7 +19,9 @@ import androidx.recyclerview.widget.RecyclerView;
import android.provider.Settings;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
@@ -41,6 +45,7 @@ import java.net.NetworkInterface;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Objects;
import dagger.hilt.android.AndroidEntryPoint;
@@ -61,6 +66,8 @@ public class ServerConfig extends Fragment {
PointDeVenteAdapter pointDeVenteAdapter;
TpeResponse existingTpe;
PointDeVente pdv = null;
private PointDeVenteViewModel pointDeVenteViewModel;
@@ -100,9 +107,66 @@ public class ServerConfig extends Fragment {
toolbar.setTitle("Configuration du terminal");
toolbar.setBackgroundColor( getResources().getColor(R.color.primary_green));
}
if(sharedPrefsHelper.get("terminalId") != null){
viewModel.getTpeById(sharedPrefsHelper.get("terminalId")).observe(getViewLifecycleOwner(), new Observer<Result<TpeResponse>>() {
@Override
public void onChanged(Result<TpeResponse> tpeResult) {
switch (tpeResult.status){
case LOADING:
loader.show("Chargement du TPE");
break;
case SUCCESS:
loader.dismiss();
existingTpe = tpeResult.data;
if( existingTpe != null && Objects.equals(sharedPrefsHelper.get("terminalId"), String.valueOf(existingTpe.getId()))){
_checkPdv(existingTpe);
return;
}else{
MessageDialog.showError(getContext(), "Ce TPE n'est pas encore configuré");
_startAutocomplete();
break;
}
case ERROR:
loader.dismiss();
MessageDialog.showError(getContext(), "Erreur lors du chargement du TPE");
break;
}
}
});
}
_startAutocomplete();
super.onViewCreated(view, savedInstanceState);
}
@SuppressLint("ClickableViewAccessibility")
void _startAutocomplete(){
pointDeVenteAdapter = new PointDeVenteAdapter();
RecyclerView recyclerView = binding.pointRecyclerView;
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
binding.getRoot().setOnTouchListener((v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// Vérifier si le clic est en dehors de l'autocomplete
if (binding.autocompleteContainer.getVisibility() == View.VISIBLE && !binding.pointDeVente.isEnabled()) {
int[] location = new int[2];
binding.autocompleteContainer.getLocationOnScreen(location);
Rect rect = new Rect(
location[0],
location[1],
location[0] + binding.autocompleteContainer.getWidth(),
location[1] + binding.autocompleteContainer.getHeight()
);
int x = (int) event.getRawX();
int y = (int) event.getRawY();
if (!rect.contains(x, y)) {
binding.autocompleteContainer.setVisibility(View.GONE);
}
}
}
return false;
});
binding.pointDeVente.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@@ -112,7 +176,7 @@ public class ServerConfig extends Fragment {
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(!isUserTap) return;
if(charSequence.toString().isEmpty() || charSequence.toString().length()==0){
if(charSequence.toString().isEmpty() || !binding.pointDeVente.isEnabled()){
recyclerView.setVisibility(View.GONE);
binding.autocompleteContainer.setVisibility(View.GONE);
return;
@@ -157,7 +221,34 @@ public class ServerConfig extends Fragment {
}
});
super.onViewCreated(view, savedInstanceState);
}
void _checkPdv(Tpe eTpe){
binding.numeroSerie.setText(eTpe.getNumeroSerie());
binding.brand.setText(eTpe.getTypeTerminal());
binding.model.setText(eTpe.getModeleAppareil());
binding.type.setText(eTpe.getTypeTerminal());
pointDeVenteViewModel.getPointDeVenteById(String.valueOf(eTpe.getPointDeVenteId())).observe(getViewLifecycleOwner(), new Observer<Result<PointDeVente>>() {
@Override
public void onChanged(Result<PointDeVente> pointDeVenteResult) {
switch (pointDeVenteResult.status){
case LOADING:
loader.show("Chargement du point de vente");
break;
case SUCCESS:
loader.dismiss();
binding.pointDeVente.setEnabled(false);
binding.pointDeVente.setText(pointDeVenteResult.data.getNom());
binding.validate.setClickable(false);
MessageDialog.showSuccess(getContext(), "Ce tpe est déjà configuré");
break;
case ERROR:
loader.dismiss();
MessageDialog.showError(getContext(), "Erreur lors du chargement du point de vente");
break;
}
}
});
}
@Override