Tesis 1.0.0
Loading...
Searching...
No Matches
DiagnosticUtil.java
Go to the documentation of this file.
1package com.example.food_front.utils;
2
3import android.content.Context;
4import android.os.Build;
5import android.util.Log;
6import java.util.HashMap;
7import java.util.Map;
8
13public class DiagnosticUtil {
14 private static final String TAG = "MPDiagnostic";
15
21 public static Map<String, String> collectDiagnosticInfo(Context context) {
22 Map<String, String> info = new HashMap<>();
23
24 try {
25 // Información del dispositivo
26 info.put("device_model", Build.MODEL);
27 info.put("device_manufacturer", Build.MANUFACTURER);
28 info.put("android_version", Build.VERSION.RELEASE);
29 info.put("api_level", String.valueOf(Build.VERSION.SDK_INT));
30
31 // Información de la aplicación
32 String versionName = context.getPackageManager()
33 .getPackageInfo(context.getPackageName(), 0).versionName;
34 int versionCode = context.getPackageManager()
35 .getPackageInfo(context.getPackageName(), 0).versionCode;
36
37 info.put("app_version", versionName);
38 info.put("app_version_code", String.valueOf(versionCode));
39
40 // URL del servidor de pago
41 info.put("payment_server", "backmp.onrender.com");
42
43 } catch (Exception e) {
44 Log.e(TAG, "Error al recolectar información de diagnóstico", e);
45 }
46
47 return info;
48 }
49
54 public static void logDiagnosticInfo(Context context) {
55 Map<String, String> info = collectDiagnosticInfo(context);
56
57 StringBuilder sb = new StringBuilder();
58 sb.append("=== DIAGNÓSTICO MERCADOPAGO ===\n");
59
60 for (Map.Entry<String, String> entry : info.entrySet()) {
61 sb.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
62 }
63
64 Log.d(TAG, sb.toString());
65 }
66
72 public static String generateDiagnosticReport(Context context) {
73 Map<String, String> info = collectDiagnosticInfo(context);
74
75 StringBuilder sb = new StringBuilder();
76 sb.append("DIAGNÓSTICO MERCADOPAGO\n\n");
77
78 // Información del dispositivo
79 sb.append("DISPOSITIVO:\n");
80 sb.append(" Modelo: ").append(info.get("device_model")).append("\n");
81 sb.append(" Fabricante: ").append(info.get("device_manufacturer")).append("\n");
82 sb.append(" Android: ").append(info.get("android_version")).append(" (API ").append(info.get("api_level")).append(")\n\n");
83
84 // Información de la aplicación
85 sb.append("APLICACIÓN:\n");
86 sb.append(" Versión: ").append(info.get("app_version")).append(" (").append(info.get("app_version_code")).append(")\n\n");
87
88 // Servidor de pago
89 sb.append("SERVIDOR DE PAGO:\n");
90 sb.append(" URL: ").append(info.get("payment_server")).append("\n");
91 sb.append(" Conectividad: ").append(NetworkUtils.canReachMercadoPagoServer() ? "DISPONIBLE" : "NO DISPONIBLE").append("\n");
92
93 return sb.toString();
94 }
95}
static Map< String, String > collectDiagnosticInfo(Context context)
static void logDiagnosticInfo(Context context)
static String generateDiagnosticReport(Context context)