Prototype Version 1.0 for Samsung Galaxy A16 (Android 14+)
A focused Android app designed to help users with ADHD or scrolling addictions manage their app usage through intelligent blocking and rule-based access control.
- Blockgroups Management: Create custom groups of apps to block together
- Rule-Based Blocking: Set how many times apps can be opened per day
- Custom Launcher: Acts as a home screen replacement showing all apps (blocked apps grayed out)
- Accessibility-Based Enforcement: Uses AccessibilityService to detect and block app launches
- Dark Mode UI: Clean, respectful dark theme optimized for focus
- Everything except essential apps
- Social Media
- Pornography
- Social Media & Pornography
- Welcome Screen: Motivational message from founder
- Introduction: 3-step guide to using the app
- Blockgroups: Manage your app blocking groups
- Group Detail: Configure rules and add apps to groups
- Homescreen: Custom launcher with blocked/unblocked apps
- Language: Kotlin
- UI Framework: Jetpack Compose (Material 3)
- Database: Room for local data persistence
- Architecture: MVVM with Repository pattern
- Async: Coroutines and Flow
- Navigation: Jetpack Navigation Compose
com.cleanphoneos.app/
βββ data/
β βββ model/ # BlockGroup, BlockedApp, BlockedWebsite entities
β βββ dao/ # Room DAOs for database access
β βββ database/ # Room database setup
β βββ repository/ # Repository for data operations
βββ viewmodel/ # MainViewModel with app logic
βββ ui/
β βββ screen/ # Composable screens
β βββ navigation/ # Navigation setup
βββ service/ # AppBlockAccessibilityService
βββ MainActivity.kt # Entry point
- User creates blockgroups and adds apps
- Sets rules (e.g., "open 3 times per day")
- Accessibility Service monitors app launches
- When user opens a blocked app:
- Counter increments
- If limit reached, returns to home screen
- Counters reset daily
- Max Openings: Number of times an app can be opened per day
- Duration (Optional): Total time allowed per day
- Change Frequency (Optional): How often rules can be modified
- PACKAGE_USAGE_STATS: Monitor which apps are being used
- QUERY_ALL_PACKAGES: Get list of installed apps
- SYSTEM_ALERT_WINDOW: Show overlays (optional feature)
- BIND_ACCESSIBILITY_SERVICE: Monitor and block app launches
- Android Studio Hedgehog or later
- Android SDK 34 (Android 14)
- Kotlin 1.9.20+
- Open the project in Android Studio
- Sync Gradle files
- Connect Samsung Galaxy A16 or compatible device
- Run the app
- Grant Usage Stats permission when prompted
- Enable Accessibility Service in Settings
- Set CleanphoneOS as default launcher (optional)
- Follow on-screen welcome flow
All data is stored locally using Room database:
- block_groups: User-created blocking groups
- blocked_apps: Apps assigned to groups with daily counters
- blocked_websites: URLs to block (optional feature)
No backend or cloud storage - complete privacy.
- Dark Mode Only: Reduces eye strain, promotes focus
- Clean UI: Minimal distractions, clear hierarchy
- Respectful: Encouraging messages, not punitive
- User Control: Users set their own rules
- Privacy-First: No tracking, no analytics, local-only data
- Screen: 6.7" FHD+ (1080 x 2340 pixels)
- OS: Android 14
- Target: minSdk 34, targetSdk 34
The app is optimized for this resolution with 4-column app grid on homescreen.
Edit CleanphoneRepository.kt to pre-populate groups with specific apps.
Edit the CleanphoneOSTheme in MainActivity.kt to customize the dark mode color palette.
Edit WelcomeScreen.kt to modify the motivational text.
- MVP Status: This is a prototype - not production-ready
- No Usage Tracking: Only counts openings, not duration
- No Website Blocking: Website feature is UI-only (not implemented)
- No Password Protection: Rules can be changed anytime
- No Notifications: No reminders or limit warnings
- Time-based blocking (e.g., block during work hours)
- Usage duration tracking with UsageStatsManager
- Website blocking through VPN or browser integration
- Password protection for rule changes
- Statistics and progress tracking
- Export/import blockgroup configurations
This is a prototype/MVP application. All rights reserved.
Noah - Founder
"I wish you nothing but the best. Stay strong."
- App not blocking: Ensure Accessibility Service is enabled in Settings > Accessibility
- Apps not showing: Grant all permissions, especially QUERY_ALL_PACKAGES
- Counters not resetting: Check date format in database
Use Android Logcat to filter by "CleanphoneOS" tag for debugging.
This is an MVP/prototype. For issues, check the code comments and Android documentation.
Version: 1.0-prototype
Build Date: October 2025
Target Device: Samsung Galaxy A16 5G
Min Android Version: Android 14 (API 34)