Herramienta móvil para el control de uso y disponibilidad de cuentas de la plataforma TuEnvío — la cadena de tiendas en línea nacional de Cuba.
TuEnvío Account Manager es una aplicación Android diseñada para gestionar de forma sencilla un listado de cuentas de la plataforma TuEnvío. Dado que esta plataforma impone una restricción de 7 días entre compras por cuenta, la app permite rastrear cuándo fue el último uso de cada cuenta y calcular automáticamente cuándo volverá a estar disponible para realizar una nueva compra.
La aplicación es ideal para familias o grupos que comparten varias cuentas y necesitan saber en todo momento cuáles están disponibles y cuáles deben esperar.
- Listado de cuentas con información completa de cada usuario
- Indicador visual de disponibilidad mediante una barra de color lateral:
- 🟢 Verde — Disponible para comprar (≥ 7 días desde el último uso)
- 🟡 Amarillo — Próximamente disponible (4–6 días transcurridos)
- 🔴 Rojo — No disponible (< 4 días desde el último uso)
- ⬜ Sin color — Sin información de fecha registrada
- Contador de tiempo en tiempo real — muestra exactamente cuántos días, horas, minutos o segundos faltan para que la cuenta vuelva a estar disponible (se actualiza cada segundo)
- Registro del último uso — fecha de la última compra y tiempo transcurrido desde entonces
- Fecha proyectada de disponibilidad — calculada automáticamente (fecha uso + 8 días)
- Filtrado de cuentas por estado: Todas / Disponibles / No Disponibles
- Contadores de disponibilidad en la barra superior con badges en tiempo real
- Ordenamiento reversible de la lista
- Agregar nuevas cuentas con un solo tap
- Menú contextual por cuenta con opciones para:
- Editar nombre
- Editar correo electrónico (Gmail)
- Editar fecha de último uso (selector de fecha nativo)
- Eliminar la cuenta
- Edición inline de nombre y correo con long-press sobre el campo
- Registro de uso — botón para marcar una cuenta como "usada hoy"
- Persistencia de datos local mediante
SharedPreferences+ serialización JSON (Gson)
| Vista principal | Nuevo elemento | Menú de opciones |
|---|---|---|
![]() |
![]() |
![]() |
app/src/main/java/com/tasklist/sherd/
├── MainActivity.kt # Activity principal, gestión de estado y persistencia
├── TopBar.kt # Barra superior con filtros, orden y botón de agregar
├── UserItemList.kt # Componente de tarjeta de usuario (item de lista)
└── Usuario.kt # Modelo de datos con lógica de disponibilidad
data class Usuario(
val name: String, // Nombre del titular de la cuenta
val gmail: String, // Correo Gmail asociado a TuEnvío
val dateUsed: Date, // Fecha del último uso/compra
val state: Int // -1 No disponible | 0 Pronto disponible | 1 Disponible | 2 Sin info
)Una cuenta se considera disponible cuando han transcurrido 7 o más días desde la fecha de último uso registrada. La aplicación calcula y muestra el tiempo restante con una precisión de segundos, actualizándose en tiempo real.
| Tecnología | Versión | Descripción |
|---|---|---|
| Kotlin | 1.9.0 | Lenguaje principal |
| Android Gradle Plugin | 8.2.0 | Build system |
| Jetpack Compose BOM | 2023.10.01 | Framework de UI declarativa |
| Material 3 | 1.1.2 | Sistema de diseño de Google |
| Material Icons Extended | 1.5.4 | Iconografía extendida de Material |
| Navigation Compose | 2.7.5 | Navegación entre pantallas |
| Gson | 2.10.1 | Serialización/deserialización JSON |
| AndroidX Preference KTX | 1.2.1 | Persistencia con SharedPreferences |
| Lifecycle Runtime KTX | 2.6.2 | Manejo del ciclo de vida |
| Activity Compose | 1.8.1 | Integración de Compose con Activity |
| Roboto | — | Fuente tipográfica (Black, Bold, Medium, Regular, Thin) |
| Requisito | Valor |
|---|---|
| Android mínimo | Android 6.0 (API 23) |
| Android objetivo | Android 14 (API 34) |
| Versión de la app | 1.1 |
| IDE recomendado | Android Studio Hedgehog o superior |
- Clona el repositorio:
git clone https://github.com/tu-usuario/tuenvio-account-manager.git
- Abre el proyecto en Android Studio
- Espera a que Gradle sincronice las dependencias
- Conecta un dispositivo o inicia un emulador (API 23+)
- Haz clic en Run ▶ o usa
Shift + F10
Para generar el APK de producción (con minificación y reducción de recursos habilitadas):
./gradlew assembleReleaseEl APK resultante se encontrará en app/release/.
Nota: La app usa la firma de debug para el build de release por defecto. Configura tu propia keystore para distribución en producción.
Todos los datos se almacenan localmente en el dispositivo usando SharedPreferences. La lista de usuarios se serializa como JSON mediante Gson y no requiere conexión a internet ni ningún servidor externo.
Los datos persisten entre sesiones y sobreviven al cierre de la aplicación.
- Agregar una cuenta — Toca el botón
+en la esquina superior derecha - Rellenar los datos — Long-press sobre "Inserte nombre" o "Inserte correo" para editar, o usa el menú
⋮ - Registrar un uso — Cuando se realize una compra, toca el botón de reloj en la tarjeta para marcarla como "usada hoy"
- Editar la fecha manualmente — Desde el menú
⋮→ "Editar Fecha" o con long-press sobre la fecha mostrada - Filtrar — Usa los iconos de la barra superior para ver solo las cuentas Disponibles 🟢 o No Disponibles 🔴
- Reordenar — Toca el icono de ordenar (izquierda) para invertir el orden de la lista
- Eliminar una cuenta — Menú
⋮→ "Eliminar"
- La restricción de 7 días es propia de la plataforma TuEnvío y está sujeta a cambios según las políticas de la misma.
- Esta app es una herramienta de organización personal y no tiene afiliación oficial con TuEnvío ni con CIMEX/TRD.
- No se recopila, transmite ni comparte ningún dato del usuario. Todo queda en el dispositivo.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.


