pre prod version for test
This commit is contained in:
@@ -5,6 +5,7 @@ import android.app.DatePickerDialog;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -14,9 +15,13 @@ import androidx.core.app.ActivityCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -26,10 +31,13 @@ import android.widget.Toast;
|
||||
import com.anggastudio.printama.Printama;
|
||||
import com.example.quiz.data.model.dtos.paris.SoldeResponse;
|
||||
import com.example.quiz.databinding.FragmentSoldBinding;
|
||||
import com.example.quiz.utils.BitMapUtils;
|
||||
import com.example.quiz.utils.LoaderDialog;
|
||||
import com.example.quiz.utils.MessageDialog;
|
||||
import com.example.quiz.utils.MobiIotPrinterManager;
|
||||
import com.example.quiz.utils.Result;
|
||||
import com.example.quiz.utils.SharedPrefsHelper;
|
||||
import com.example.quiz.utils.SunmiPrinterManager;
|
||||
import com.example.quiz.viewModel.LogsViewModel;
|
||||
import com.example.quiz.viewModel.PariViewModel;
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
@@ -51,6 +59,11 @@ public class Sold extends Fragment {
|
||||
|
||||
FragmentSoldBinding binding;
|
||||
|
||||
SunmiPrinterManager sunmiPrinterManager;
|
||||
|
||||
MutableLiveData<Boolean> isPrinterReady = new MutableLiveData<>(false);
|
||||
String mobileName;
|
||||
|
||||
LoaderDialog dialog;
|
||||
|
||||
PariViewModel pariViewModel;
|
||||
@@ -73,6 +86,16 @@ public class Sold extends Fragment {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
prefsHelper = SharedPrefsHelper.getInstance(getContext());
|
||||
mobileName = Build.MANUFACTURER;
|
||||
sunmiPrinterManager = SunmiPrinterManager.getInstance(requireContext());
|
||||
if(mobileName.toLowerCase().contains("sunmi")){
|
||||
sunmiPrinterManager.connectPrinter(status ->{
|
||||
isPrinterReady.setValue(status);
|
||||
sunmiPrinterManager.disableSystemMessages();
|
||||
});
|
||||
}else{
|
||||
MobiIotPrinterManager.getInstance().init(requireContext());
|
||||
}
|
||||
AppCompatActivity activity = (AppCompatActivity) getActivity();
|
||||
if(activity != null){
|
||||
MaterialToolbar toolbar = activity.findViewById(R.id.toolbar);
|
||||
@@ -171,7 +194,27 @@ public class Sold extends Fragment {
|
||||
dialog.dismiss();
|
||||
})
|
||||
.setPositiveButton("Imprimer", (dialog, which)->{
|
||||
Printama printama = Printama.with(getContext());
|
||||
if(mobileName.toLowerCase().contains("sunmi")){
|
||||
if(isPrinterReady.getValue() == null || !isPrinterReady.getValue()){
|
||||
sunmiPrinterManager.connectPrinter(status ->{
|
||||
isPrinterReady.setValue(status);
|
||||
});
|
||||
}
|
||||
if(sunmiPrinterManager.printerStatus() != 1){
|
||||
MessageDialog.showError(getContext(), "Erreur lors de l'impréssion, Veuillez rééssayer S.V.P!");
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
try {
|
||||
int status = MobiIotPrinterManager.getInstance().getPrinterStatus();
|
||||
if(status != 1){
|
||||
MessageDialog.showError(getContext(), "Erreur lors de l'impréssion, Veuillez rééssayer S.V.P!");
|
||||
return;
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.pmu_logo);
|
||||
String title = "SOLDE AU "+date;
|
||||
StringBuilder text = new StringBuilder();
|
||||
@@ -180,14 +223,43 @@ public class Sold extends Fragment {
|
||||
text.append("PAIEMENTS: ").append(String.valueOf(soldeResponse.getMontantPaiements())).append(" XOF").append("\n");
|
||||
text.append("NBR. ANNULATIONS: ").append(soldeResponse.getNombreAnnulations()).append("\n");
|
||||
text.append("ANNULATIONS: ").append(String.valueOf(soldeResponse.getMontantAnnulations())).append(" XOF").append("\n");
|
||||
text.append(printama.lineSeparator()).append("\n");
|
||||
text.append(sunmiPrinterManager.separationText()).append("\n");
|
||||
text.append("SOLDE: ").append(String.valueOf(solde)).append(" XOF").append("\n");
|
||||
text.append(printama.lineSeparator()).append("\n");
|
||||
text.append(sunmiPrinterManager.separationText()).append("\n");
|
||||
text.append("AGENT : ").append(prefsHelper.get("code")).append("\n");
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
|
||||
String now = formatter.format(LocalDateTime.now());
|
||||
text.append("DATE : ").append(now).append("\n");
|
||||
printama.printSold(logo, title, text);
|
||||
if(mobileName.toLowerCase().contains("sunmi")){
|
||||
sunmiPrinterManager.printSold(BitMapUtils.resizeToPrinterWidth(logo, 384), title, text, status -> {
|
||||
if(!status){
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MessageDialog.showError(getContext(), "Erreur d'impression"+"\n"+"Veuillez rééssayer SVP.");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}else{
|
||||
try {
|
||||
MobiIotPrinterManager.getInstance().printSold(BitMapUtils.bitmapToBmp(BitMapUtils.resizeToPrinterWidth(logo, 384)), title, text, new MobiIotPrinterManager.MobiIotPrinterStatus() {
|
||||
@Override
|
||||
public void printStatusCode(int status) {
|
||||
if(status != 1){
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MessageDialog.showError(getContext(), "Erreur d'impression"+"\n"+"Veuillez rééssayer SVP.");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (RemoteException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}catch (SecurityException e){
|
||||
|
||||
Reference in New Issue
Block a user