Skip to content

SudhirDevOps1/FocusFlow-DXT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FocusFlow DXT Logo

Android Compose M3 Kotlin Min SDK 26 MIT License Version 2.5.0

๐ŸŽฏ FocusFlow DXT

Digital Study Labs โ€” Smart Study & Kitchen Timer

An all-in-one Android application for focused studying, kitchen timing, and productivity tracking with distraction detection, gamification, and an immersive retro-digital hardware UI.

GitHub Stars GitHub Forks GitHub Issues


๐Ÿ“ฅ Quick Download & Live Web Showcase

๐ŸŒ Live Web Showcase

Explore all the interactive features and simulated LCD dashboard of FocusFlow DXT directly in your web browser.

Open Web Showcase

๐Ÿ“ฑ Download Android App (APK)

Get the fully functional, working application package directly from this repository: ๐Ÿ‘‰ Download FocusFlow-DXT.apk (v2.5.0) (~13.1 MB)

How to Install on Android:

  1. Click the download link above to download FocusFlow-DXT.apk to your Android device.
  2. Once downloaded, tap the file in your downloads folder.
  3. If prompted with "For your security, your phone is not allowed to install unknown apps from this source", tap Settings and toggle Allow from this source to ON.
  4. Tap Install and complete the installation setup.
  5. Launch FocusFlow DXT and start boosting your productivity!

๐Ÿ“‹ Table of Contents


๐Ÿ”ญ Overview

FocusFlow DXT is a premium, offline-first Android application designed for students, research scholars, professionals, and home cooks who need a reliable, distraction-aware study countdown module with versatile kitchen timer presets. Constructed entirely using Jetpack Compose and Material 3, the interface represents the front bezel frame of a classic vintage hardware timer (specifically referencing our simulated custom hardware chassis display) with micro-bezel glow elements and tactile haptic button aesthetics.

The system integrates:

  • โฑ๏ธ Kitchen Timer Mode โ€” Quick-boil dials and multi-second cook countdown adapters.
  • ๐Ÿ… Study Session Presets โ€” Industry standard Pomodoro, Quick Sprint, and Intense learning blocks.
  • โฑ๏ธ Precision Stopwatch โ€” Chronicle lap recorders tracing delta timestamps in real-time.
  • ๐Ÿ•’ Live Wall Clock โ€” High-contrast 12-hour ticking chronometer displaying date, daylight indices, and simulated temperature.
  • ๐Ÿ›ก๏ธ Interactive App Blocker โ€” In-flight distraction detector querying live active task contexts with a custom selection dialog mapping systems.
  • ๐ŸŽ“ Embedded Web Classroom โ€” In-application sandboxed lecture workspace with quick Wikipedia and Khan Academy hot-buttons.
  • ๐ŸŽฎ Gamified Learning Hub โ€” Live study stats tracking daily hours, streak fire indexes, and scholastic level XP progress.

โœจ Key Features

๐Ÿ•น๏ธ Core Timer Modes

Mode Description
๐Ÿ• Clock Real-time 12-hour digital ticking clock incorporating simulated ambient sensors and Gregorian dates.
โฑ๏ธ Countdown Timer Multi-speed adjust system setting durations in HH:MM:SS with high-fidelity buzzer alerts.
โน๏ธ Stopwatch Precision stopwatch with lap-split recordings, history logs, and instant clipboard exports.
๐Ÿ”• Alarm Screen Integrated safety overlay auto-triggered on zero ticks featuring an interactive manual dismiss mechanism.

๐Ÿ“š Study & Prep Presets

Preset Duration System Objective
๐Ÿ… Pomodoro 25 Minutes Classic focal loops with dedicated intervals.
โšก Sprint 15 Minutes High-intensity target sprints and task blocks.
๐Ÿ“š Intense 50 Minutes Deep conceptual work sessions and exam simulations.
โ˜• Break 5 Minutes Restoring brain energy with background noise effects.
๐Ÿœ Maggi 2 Minutes Flash cooking alerts for fast kitchen recipes.
๐Ÿ”ฅ Boil 5 Minutes General household boiling and timing automation.

๐Ÿ›ก๏ธ Custom Distracting Apps Blocker (Focus Guards)

  • ๐Ÿ“ฑ Installed User App Selector: Securely interfaces with the Android PackageManager using safe nullable smart-casts to live list, select, and filter launchable user-installed applications.
  • ๐Ÿ” Search & Filter Registry: Simple filter bar inside the selection dialog instantly matches apps by name or package ID.
  • Checkbox Checklist: Check/uncheck installed applications directly within the dialog to toggle them in or out of your focus blacklist.
  • Smart Interceptors: FocusFlow-DXT monitors focus zones using three customizable security profiles:
    • ๐ŸŸก Gentle Mode: Basic in-app alerts when restricted apps are accessed.
    • ๐ŸŸ  Moderate Mode: Fires local notifications alerting the user of focus drift.
    • ๐Ÿ”ด Extreme Mode: Sounds alarms and forces the timer to state alert until the application is closed.

๐Ÿ’พ Unified State Database Portal

  • Save Backup File: Generates and packages your local data (XP, Levels, History) into a compact file named focusflow_backup.json stored directly in device storage.
  • Load Backup File: Hydrates and reconstructs your session profiles instantly using external JSON files.
  • Copy Active Code: Generates real-time previews of raw JSON strings with a single-click copy button to simplify transferring configurations on locked devices.
  • Restore from Code Block: Multi-line textbox field allowing users to paste their backup JSON configurations directly to trigger instant restorations.

๐ŸŽจ Display Themes (Simulated Hardware Customization)

Preset Theme Primary Hex Glow Display Style
๐ŸŸข Retro Green #33FF33 Styled after vintage neon lime-green radar terminals.
๐ŸŸ  Amber Glow #FFB000 Classic high-contrast monochromatic phosphorus glow.
๐Ÿฉท Cyber Punk #FF007F Futuristic synthwave aesthetics.
๐Ÿ”ต Neon Blue #00E5FF Cool ice-blue executive console faceplate.
โšซ AMOLED Dark #1A1A1A Pure deep contrasts designed to preserve battery.
๐Ÿฉถ Brushed Steel #607D8B Refined industrial metal casing style.

๐Ÿ—๏ธ Architecture

The app uses a robust Service-driven architectural paradigm with a centralized, reactive State Flow layer:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    UI Layer (Compose)                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  KitchenTimerApp() โ€” Main UI Entry            โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ TableCasingFrame() โ€” Retro Cabinet       โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ LiveDayDateBanner() โ€” Gregorian Status   โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ SettingsDialog() โ€” 4-Tab Portal Config  โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€ SandboxClassroom() โ€” Web lectures        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                        โ†• collectAsStateWithLifecycle โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  TimerService โ€” Background Foreground Service โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ StateFlow (activeMode, isRunning, etc.)  โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ SharedPreference Database Engine         โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ App Usage Stats Auditor                  โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€ Media Tone Player                        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tech Stack

  • Language: Kotlin 1.9.22
  • UI Toolkit: Jetpack Compose (Material Design 3)
  • Concurrency: Kotlin Coroutines & Flow
  • Data Serialization: JSON Parser Engine (Jackson / Kotlinx compatible)
  • Media Playback: Android System Media Integration (MediaPlayer, VideoView)
  • Web Engines: Android System WebView
  • Application Permissions: android.permission.PACKAGE_USAGE_STATS (optional focus block check)

๐Ÿ“ Project Structure

FocusFlow-DXT/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ main/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ java/com/example/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MainActivity.kt          # Standard Activity, handles system PiP modes
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TimerService.kt          # Host for foreground states & companion States
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ KitchenTimerApp.kt       # Houses physical frames, dials, & Settings panels
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ BackupUtils.kt           # JSON Backup & Restore algorithms
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ res/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ drawable/                # High-fidelity custom vectors & icons
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ values/                  # strings.xml, colors.xml & custom styling
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ raw/                     # Buzzers and looping ticking sounds
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ AndroidManifest.xml          # Core metadata declarations & permissions
โ”‚   โ””โ”€โ”€ build.gradle.kts                     # App module dependency graphs

๐Ÿš€ Installation & Setup

  1. Clone the Repo:
    git clone https://github.com/SudhirDevOps1/FocusFlow-DXT.git
  2. Open in Android Studio:
    • Navigate to File -> Open and choose FocusFlow-DXT.
  3. Sync Grade Dependencies:
    • Ensure you are utilizing Gradle JDK 17+. Click Sync Project with Gradle Files and let compilations run.
  4. Compile Applet:
    • Directly run ./gradlew assembleDebug or hit Run 'app' inside Android Studio to flash your device or active emulator.

๐Ÿ“– Usage Guide

1๏ธโƒฃ How to Block Apps using the Interactive Selector:

  • Press the โš™๏ธ (Settings Gear) to open the Scholar Management portal.
  • Navigate to the Focus Zone tab.
  • Scroll down and tap CHOOSE FROM INSTALLED USER APPS ๐Ÿ“ฑ.
  • Real-time search or type a name, then simply tap checking boxes to lock apps in.
  • Click DONE and start your countdown timer!

2๏ธโƒฃ Backing Up & Restoring Your System State:

  • Go to the Profile tab in settings.
  • Under ๐Ÿ’พ FOCUSFLOW UNIFIED DATABASE PORTAL, click SAVE BACKUP FILE to export your progress.
  • Alternatively, click COPY CODE ๐Ÿ“‹ to capture your state in raw JSON for easy clipboard transfer.
  • To restore, paste a valid JSON string inside the text box and tap โšก RESTORE SYSTEM DATABASE FROM CODE.

๐Ÿ›ก๏ธ Strict Focus Mode

By granting the Usage Stats Permission, FocusFlow DXT tracks which application is active in the foreground while the timer runs. If a blacklisted application is loaded, the service alerts the user via the selected Strict Mode profile and records the incident in your Focus Logs timeline.


๐ŸŽฎ Gamification System

  • Gain XP: Earn 1 XP for every minute of continuous learning.
  • Leveled Milestones: Levelling up updates your title across the header, transforming you from a "Beginner Scholar" to a "Focus Master".
  • Daily Streak Tracker: Earn a daily bonus of 15 XP per day for keeping your streaks active!

๐Ÿ”ง Troubleshooting & Detailed Setup

๐Ÿ”‘ Usage Stats Permission Configuration

If Focus Guard (App Blocker) is not active or fails to intercept:

  1. Go to Android Settings โž” Apps & Notifications โž” Special App Access (or search for "Usage Access" in the settings search bar).
  2. Tap Usage Access / Usage Stats.
  3. Locate FocusFlow DXT in the list and toggle Permit Usage Access to ON.
  4. Restart the FocusFlow DXT application to bind the background service monitor.

๐Ÿ”• Foreground Service Notifications

Since Android 13/14, notifications are opt-in. Make sure you allow notifications for the app:

  • If notifications are blocked, the background countdown service may be terminated by Android's battery optimizer. To avoid this, set the app's battery profile to Unrestricted.

๐Ÿ“‹ JSON Backup & Restore Schema Reference

The unified database portal reads and writes states in a standard JSON block. Below is the specification schema:

{
  "totalXp": 450,
  "level": 4,
  "streakDays": 12,
  "lastStreakTimestamp": 1718449600000,
  "blacklistedPackages": [
    "com.instagram.android",
    "com.zhiliaoapp.musically"
  ],
  "focusGuardProfile": "EXTREME",
  "selectedThemeId": "CYBER_PUNK"
}

๐Ÿ› ๏ธ Advanced Building & CLI Testing

You can use Gradle commands directly from the terminal to manage, compile, and run the project:

Task Command Description
Clean Build ./gradlew clean Clears all cached build outputs and gradle metadata.
Compile Debug APK ./gradlew assembleDebug Generates the debug APK at app/build/outputs/apk/debug/app-debug.apk.
Run Lints ./gradlew lint Checks the Kotlin code for code-smell and styling guidelines.
Run Unit Tests ./gradlew test Evaluates all unit tests written for BackupUtils and controllers.

๐Ÿ“„ License

FocusFlow DXT is released under the MIT Open Source License. See the LICENSE details for terms.


๐Ÿ‘ค Author


Made with โค๏ธ for students who want to study smarter, not harder.

FocusFlow DXT โ€” Your Digital Study Companion

โฌ† Back to Top

About

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors