Skip to content

Releases: albertolicea00/Qvacell-apk

v1.0.11

Choose a tag to compare

@albertolicea00 albertolicea00 released this 23 Oct 18:12
  • Fixed the splash screen to follow the app’s selected theme instead of the system theme.
  • Removed the white background from the splash screen logo.

Full Changelog: v1.0.10...v1.0.11

v1.0.10

Choose a tag to compare

@albertolicea00 albertolicea00 released this 23 Oct 15:59
  • Added a warning when no active SIM is detected or the selected SIM is not Cubacel.
  • Prevented dynamic dashboard updates when no active SIM is available or the selected SIM is not Cubacel.
  • Temporarily disabled Firebase Crashlytics and Performance Monitoring due to connectivity limitations in Cuba. Firebase Analytics remains enabled.

Full Changelog: v1.0.9...v1.0.10

v1.0.9

Choose a tag to compare

@albertolicea00 albertolicea00 released this 22 Oct 18:35
  • Added SIM settings below Useful links. A bottom sheet now groups
    • pay-per-use data
    • MMS setup
    • 3G/4G compatibility checks
    • LTE line activation.
  • Added Corporate Balance and Buy Plan shortcuts when long-pressing the app icon.
  • Updated shortcut names and icons.
  • Hidden Search Directory while it remains under development.
  • Removed incoming *99 caller identification to avoid maintaining duplicate functionality.
    This feature is now handled exclusively by LlamaCon99

Outgoing *99 collect calls remain available in Qvacell.

v1.0.8

Choose a tag to compare

@albertolicea00 albertolicea00 released this 21 Oct 17:29

This release introduces SIM customization, a dedicated corporate dashboard, an events calendar with reminders, and more consistent navigation across the app.

✨ New Features

  • SIM customization: Personalize each SIM with a name, icon, and color, and choose your default line.
  • Configurable SIM switching: Switch lines using a selection sheet, one-tap cycling, or a dropdown menu.
  • Corporate dashboard: View voice, SMS, data, and consumed balances in a dedicated card, with quick access to the corporate portal.
  • Events calendar: Track line, plan, and bonus expiration dates across SIMs. The calendar collapses into a weekly view while scrolling.
  • Event reminders: Swipe an event to create a notification with its details prefilled and a message tailored to the event.
  • LTE-only shortcut: Open Android’s native radio menu on compatible devices, with instructions and warnings before changing network mode.
  • Dashboard data management: Delete locally collected dashboard data through a confirmation flow.

🎨 UI & Navigation

  • Consistent Home menus: Shared actions follow the same order in manual and dynamic dashboards. Dashboard Options and Help appear only in dynamic mode.
  • Dashboard state restoration: Returning from another screen preserves the manual or dynamic dashboard you were using.
  • More SIM selectors: Choose the active line from Options, Friends Plan, transfer PIN management, and database search.
  • Clearer line terminology: Personal and Corporate labels are used consistently throughout the app.
  • Expanded help: Updated guidance for dashboard queries, capture permissions, local storage, and data deletion.

🛠️ Fixes & Reliability

  • Per-SIM dashboard data: Keep collected values associated with the correct subscription.
  • More flexible USSD parsing: Handle capitalization, spacing, punctuation variations, and data amounts expressed in KB.
  • Improved failure guidance: Recognize additional MMI error messages and suggest reviewing the configured line type when appropriate.
  • More accurate network advice: Avoid suggesting forced 4G after an earlier query in the same refresh succeeded.
  • Automatic update checks: Added daily update checking and a shared update dialog.
  • Expanded test coverage: Added regression tests across parsers, SIM settings, dashboard storage, reminders, and core services.

Dynamic dashboard and Events features are available in the Unlocked build. LTE menu availability depends on the device manufacturer.

Full Changelog: v1.0.7...v1.0.8

v1.0.7

Choose a tag to compare

@albertolicea00 albertolicea00 released this 16 Oct 14:10

This release brings major APK size reductions through R8 shrinking, background data prefetching during onboarding, and flavor-aware update channel handling.

🚀 Performance & Size

  • Massive APK size reduction: Enabled R8 code minification and resource shrinking, bringing release APK size down from ~16.7 MB to under ~4 MB.
  • Static icon tree-shaking: Replaced reflection in AndroidIconResolver with explicit static mapping, allowing R8 to strip unused Material icons.
  • Icon coverage test: Added unit test to ensure all catalog icons in codes.json resolve correctly without fallbacks.

✨ New Features & UX Improvements

  • Onboarding background prefetch: Initiates dashboard data prefetching in the background once call permissions are granted during onboarding, ensuring data is ready upon entering Home.
  • Detailed version info: Help screen now displays the full version name, build code, and flavor tag (Unlocked vs Play Store).

🛠️ Fixes & Adjustments

  • Flavor-aware update channels: Restricted and sanitized the Play Store update channel in Unlocked builds.
  • Adaptive onboarding bullets: Tailored onboarding feature bullets to match the current build flavor.
  • Secret menu tap stability: Debounced version tap counter in Options to prevent accidental double-toggling of debug settings.

Full Changelog: v1.0.6...v1.0.7

v1.0.6

Choose a tag to compare

@albertolicea00 albertolicea00 released this 15 Oct 21:29

Initial English Language Support

  • Added Spanish and English string resources and registered both languages in Android’s app language settings.
  • Translated the bottom navigation, several screen titles, purchase options, contact messages, and the Quick Actions widget title.
  • USSD catalog names and descriptions now display in English when the app’s active language is English.
  • Prepared translations for more sections as the rest of the interface is migrated to string resources.

UI & Widgets

  • Simplified update modal text and adjusted store-version buttons.
  • Updated the 1x1 Quick Action widget with a blue background and app logo.

Dashboards & Fixes

  • Synchronized manual queries with the Dynamic Dashboard.
  • Fixed the initial load flicker and adjusted tab interaction behaviors.

Full Changelog: v1.0.5...v1.0.6

v1.0.5

Choose a tag to compare

@albertolicea00 albertolicea00 released this 14 Oct 23:10

🚀 What's New

This release brings a simpler dashboard, more reliable USSD queries, and new controls for calls, SMS history, and loading animations.

✨ New Features

  • Simpler Dashboard: The manual dashboard is now the default. Switch to the dynamic dashboard anytime without choosing a permanent mode during onboarding. Dashboard settings also feature clearer action labels.
  • Custom Loading Animations: Choose between an animated border, a center line, a perimeter animation, or a skeleton effect for dynamic dashboard cards.
  • Direct Dialing: Transfers, recharges, and other supported actions can now dial directly. For *99 and hidden-number calls, choose whether to call directly or open the system dialer.
  • Granular SMS Controls: Detecting new ETECSA messages and importing older messages are now separate options. SMS history permission is only requested when you explicitly choose to import it.

⚡ Improvements & Fixes

  • More Reliable Queries: USSD requests now handle timeouts, lost cellular service, and failures more clearly. Dashboard refreshes stop when a query fails and show guidance for retrying—including when the phone remains on a forced 4G connection.
  • Contacts UX: Added a loading indicator while contacts are fetched and a quick-scroll button to return to the top of long lists.
  • Updates & Links: Update checks now distinguish connection failures from an up-to-date app. The full GitHub APK link resolves dynamically, and Options now includes links to ETECSA and related online services.
  • Corrections: Updated corporate balance labels and the transfer confirmation code, and refined cellular signal status handling.
  • Telemetry & Privacy: Added Firebase Analytics, Crashlytics, and Performance Monitoring for screen views, crash reports, startup, and contacts-loading performance. Reports identify the app distribution; custom telemetry strictly excludes contacts, phone numbers, PINs, USSD codes, and responses.

⚠️ Known Limitation

  • If cellular service drops during a USSD query, Android or the carrier may still display its own native error dialog for a request already sent.

Full Changelog: v1.0.3...v1.0.5

v1.0.3

Choose a tag to compare

@albertolicea00 albertolicea00 released this 11 Oct 22:47

Parity-Based Version Codes & Store-to-Unlocked Upgrade Detection

  • Parity-based versionCode strategy: Configured even codes for store (base * 2) and odd codes for unlocked (base * 2 + 1), ensuring the GitHub build can always update over an existing Google Play install without losing local data.
  • Cross-flavor update detection: Enhanced UpdateChecker and OptionsScreen to detect when a Play Store user can upgrade to the full unlocked APK, tailoring the update prompt accordingly.
  • Makefile workflow: Updated release and bump commands to automate the dynamic base version code computatio

v1.0.2

Choose a tag to compare

@albertolicea00 albertolicea00 released this 11 Oct 20:34

Compatibility & Installation Fixes

What's Changed in v1.0.2

  • Enhanced APK Signing: Enabled both V1 (JAR) and V2 signature schemes to fix installation issues on OEM ROMs (Xiaomi HyperOS / MIUI).
  • Target SDK Adjustment: Target SDK aligned to Android 14 (API 34) for broad device and package installer compatibility.

v1.0.0

Choose a tag to compare

@albertolicea00 albertolicea00 released this 11 Oct 20:11

Initial Release

Your cell in Cuba. We changed the letter, kept the sound.
Tu línea en Cuba al alcance de un toque: sin conexión obligatoria, sin anuncios y con control total.

Welcome to the first official release of Qvacell for Android!

Qvacell is a modern, privacy-respecting, native Android application designed to streamline interacting with ETECSA / Cubacel mobile telephony in Cuba.
From checking complex data/voice balances to one-tap USSD dialing, contact transfers, and offline directories — all from a clean Material 3 interface.


🚀 What's New & Feature Highlights

📊 Dynamic Dashboard & Real-Time Balance (Unlocked Flavor)

  • Live Account Cards: Real-time cards for Main Balance (*222#), Data Packages (*222*328#), Voice Minutes (*222*869#), SMS (*222*767#), Active Bonuses (*222*266#), and National Recharge Limit (*222*546#).
  • Real Carrier Parsers: Production-ready regex parsers supporting all variations of verbatim ETECSA USSD responses, thoroughly verified with over 68 unit tests.
  • Three Data Display States:
    • Unqueried: Shows "Sin consultar" before any USSD check is performed.
    • No Active Plan: Explicitly identifies "Sin plan" or "No cuenta con paquetes/bonos disponibles" instead of generic dashes or zeros.
    • Active Plan: Displays formatted balances, super-scripted cents (.XX), MB/GB conversions, and remaining days.
  • Smart Refresh Optimization: Intelligently inspects the main balance response first; if no voice, SMS, or data plan is detected, subsequent queries are automatically skipped to avoid wasting modem round-trip time (~3–5s per code).
  • Signal-Gated Refresh & Warning Banner:
    • Gated against cellular connectivity — pull-to-refresh and manual card queries disable when there is no mobile reception.
    • Persistent amber banner alerts the user: "Sin señal celular".
  • Visual Feedback & Live States:
    • LoadingCardBorder: Animated horizontal gradient sweep border (3dp stroke) wrapping the specific card currently querying the carrier network (both in batch refresh and single-card taps).
    • Freshness Color Coding (TimeAgoText): Relative timestamps with dynamic colors:
      • 🔴 Red (#E53935): Never updated / unqueried.
      • 🟠 Amber (#FB8C00): Stale data older than the configurable threshold (default: 14 days).
      • ⚪ Muted Gray: Fresh and recent reading.
  • Material 3 Pull-to-Refresh: Custom dual-arrow indicator with contextual feedback ("Arrastra/Suelta para refrescar").
  • Configurable Layouts:
    • Choose how action shortcuts (Transfer & Recharge) appear: Buttons, List Card, or Hidden.
    • One-tap view switcher in the top bar to toggle between Dynamic Dashboard and the classic Manual Catalog.

📞 Complete Offline USSD Catalog & Dual-SIM

  • Full Catalog: Curated codes organized across Saldo y Planes, Compras, Líneas de Asistencia / Emergencias, and Utilidades.
  • Safety Confirmations: Free balance queries dial immediately; paid purchase codes trigger a confirmation sheet to prevent unintentional credit deductions.
  • Multi-SIM Support: Quick SIM slot selector icon and persistent preferences for dual-SIM devices.

👥 Contacts, PINs & Quick Actions

  • Address Book Integration: Call, transfer credit, or place *99 collect calls directly from your contact list.
  • Encrypted PIN Storage: Safely saves your transfer PIN locally using EncryptedSharedPreferences.
  • Plan Amigo Management: Easily register, remove, and view your favorite numbers.

🔔 Reminders, Offline Directories & Tools

  • Recurring Reminders: Local AlarmManager alerts for plan renewals and recharges with 1-tap dial action (persists across device reboots).
  • Wi-Fi & Navigation Rooms: Built-in offline directory of official ETECSA Wi-Fi hotspots and navigation rooms by province.
  • SMS Services: Interactive keyword template catalog for SMS shortcodes (weather, news, utilities, sports).
  • Offline Phone Directory Search: Privacy-first reverse number lookup over a user-supplied SQLite database (hidden by default, unlocked by tapping the version number 5 times).
  • In-App Update Checker: Checks for new releases directly from GitHub Releases with automatic update dialogs.

📦 Download & Build Flavors

Choose the APK suitable for your needs:

Package Recommended For Description
qvacell-unlocked-release.apk Most Users (Direct APK) Full Experience: Includes background/silent USSD balance capture, SMS receiver, and the live dynamic dashboard. Requires CALL_PHONE, READ_SMS, RECEIVE_SMS, and READ_CALL_LOG.
qvacell-store-release.apk Play Store / Strict Permissions Safe & Minimal: Manual dialing only via standard system dialer. Requests
zero sensitive permissions.

🛡️ Privacy & Independence

  • 100% Offline-First: No analytics, no third-party tracking SDKs, no external telemetry servers, and zero ads. The only external request is an optional GitHub release check initiated by the user.
  • Independent Community Software: This app is community-made and is not affiliated with, endorsed by, or sponsored by ETECSA.

🛠️ Technical Specifications

  • Stack: 100% Kotlin, Jetpack Compose (Material 3), Compose Navigation, Room Database (append-only fact table), DataStore Preferences.
  • Quality: 90+ automated tests covering Room migrations, catalog integrity, and USSD regex parsers.
  • Requirements: Android 8.0 (API level 26) or higher. Physical device with a Cubacel SIM required for USSD modem interaction.

💬 Feedback & Community

Encountered an issue or have verbatim ETECSA USSD response text to share? Open an issue on our GitHub Repository