Floating Audio Recorder, Timer & Meeting Manager

Cronaudio

One Tap to Record From Any Screen

Cronaudio is a native Android audio recording and meeting management app designed for quick, hands-free operation through a floating widget that stays on top of any screen.

Core Recording Features

Cronaudio's primary function is audio recording accessible from anywhere on the device via a floating bubble widget. Users tap the widget to instantly start or stop recording without switching apps. Recordings are saved locally on the device — nothing is uploaded to external servers. The app supports multiple audio quality modes, including a Karaoke mode that uses NoiseSuppressor and AutomaticGainControl to prioritize voice over background music. Users can browse, rename, delete, and share their recordings through a Material 3 Compose-based recordings screen. Audio playback is powered by Media3/ExoPlayer with full MediaSession integration, providing lock screen controls, notification playback buttons, and standard media key support.

Floating Widget

The floating widget is the centerpiece of the user experience. It overlays on top of other apps and provides one-tap access to recording, playback, settings, recordings list, and meetings. The widget features an expand/collapse animation, drag-to-reposition with dismiss zone, customizable accent colors (premium), and smooth animations optimized for low-end devices. It runs as a foreground service with a WakeLock to ensure uninterrupted recording even when the screen is off.

Home Screen Widget (Glance)

A Glance-based home screen widget provides quick access to recording controls and meetings directly from the launcher without opening the app.

Meetings System

Cronaudio includes a full meeting management feature where users can create structured meetings with timed blocks (e.g., Introduction 5 min, Discussion 15 min, Q&A 10 min). During a meeting, a timer coordinator automatically advances through blocks, triggers overlay alerts when blocks end, and optionally records each block as a separate audio file named with the meeting title and block name. Meeting data is stored locally via JSON in SharedPreferences. Free users get one meeting; unlimited meetings require a premium subscription.

Premium Subscription

The app offers monthly and annual premium subscriptions through Google Play Billing. Premium benefits include an ad-free experience, unlimited meetings, advanced audio quality modes, and widget color customization. Purchase verification uses a hybrid approach: server-side validation via Firebase Cloud Functions calling the Google Play Developer API, with RSA client-side verification as fallback. Subscription states (active, grace period, on hold, paused, canceled, expired) are fully handled with real-time developer notifications (RTDN) via Pub/Sub.

Advertising

Free users see ads managed by Google AdMob across three formats: banners, interstitials, and optional rewarded video ads. Ad frequency is controlled by a sophisticated capping system with per-session limits, daily limits, cooldown timers, and a post-install grace period — all dynamically configurable via Firebase Remote Config for A/B testing. Ad revenue is tracked per impression via OnPaidEventListener.

Privacy & Consent

The app integrates the Google UMP SDK for GDPR (TCF v2.3) and US state privacy law compliance. Users can manage their advertising consent preferences at any time from the Settings screen. A dedicated Data Collection Disclosure dialog informs users about data practices before the first ad impression.

Notifications & Updates

Firebase Cloud Messaging delivers push notifications about new app versions. Google Play In-App Updates prompts users to update with either a flexible (non-blocking) or immediate (full-screen) flow depending on update urgency.

Internationalization

The app supports 7 languages: English, Spanish, Portuguese (Brazil), German, Italian, French, and Danish. Each language includes full UI translations and a localized privacy policy.

Performance & Compatibility

Extensive optimization targets low-end MediaTek devices. A DevicePerformanceDetector classifies devices into HIGH/LOW tiers, adjusting animation frame rates, rendering strategies, and drawable caching accordingly. A diagnostic system tracks widget operations, detects jank, and monitors GC pressure.

Security

Sensitive local data is encrypted via EncryptedSharedPreferences (AES-256-GCM). APK signature verification and root detection protect against tampering. All network traffic is HTTPS-only enforced by a network security config. A persistent UUID (not hardware-based) serves as the obfuscated billing account identifier.

Architecture

Built with Clean Architecture (MVVM), Koin dependency injection, Jetpack Compose for main screens, and an intentional imperative View-based approach for the floating widget to prevent UI freezes. The widget service is decomposed into ~12 specialized controllers for touch handling, UI updates, color theming, recording, animations, window management, dismiss zones, alarms, notifications, and meeting state.