Skip to content

Agentic Context-Aware Android Optimizer - Autonomous agent system with privacy-preserving on-device ML for intelligent device optimization

Notifications You must be signed in to change notification settings

Vignesh-1221/coptimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Coptimizer - Agentic Context-Aware Android Optimizer

A sophisticated Android application that autonomously monitors device context and provides intelligent, ML-powered optimization recommendations. Built with modern Android development practices including Room database, WorkManager, autonomous agent system, and privacy-preserving on-device machine learning.

๐ŸŒŸ Key Features

๐Ÿค– Autonomous Agent System

  • Self-Planning Agent: Automatically plans and executes optimization tasks every 30 minutes
  • Human-in-the-Loop: Requests user approval only for sensitive actions
  • Complete Audit Trail: Full visibility into agent goals, tasks, and observations
  • Policy-Aware: Respects battery level, network state, and quiet hours
  • Tool-Based Architecture: Modular tools for insights, cleanup, and optimization

๐Ÿง  Privacy-Preserving Machine Learning

  • On-Device ML: Custom online learning models that adapt to your behavior
  • Continuous Learning: Models update every optimization cycle (15-30 minutes)
  • Personalized Optimization: Learns your brightness, battery, Wi-Fi, and performance preferences
  • Predictive Analytics: Predicts battery drain, optimal brightness, and performance issues
  • 100% Privacy: All data and ML processing happens on-device (no cloud dependency)

๐Ÿ” Intelligent Automation Detection

  • Conflict Detection: Identifies third-party automation apps that might conflict
  • Multi-Strategy Detection: Static analysis, dynamic monitoring, and known app detection
  • Impact Assessment: Estimates battery, data, and CPU impact of detected automations
  • Evidence Collection: Shows proof for each detection with confidence scores
  • User Controls: Whitelist, mark suspicious, and manage automation conflicts

๐Ÿ“Š Comprehensive Analytics Dashboard

  • Real-Time Charts: Interactive visualizations using MPAndroidChart
  • Multi-Dimensional Monitoring: Battery, brightness, Wi-Fi, performance, and data usage
  • Historical Trends: Last 24 hours with predictive insights
  • Statistical Analysis: Averages, trends, and pattern recognition
  • Export Capability: Export data to CSV/JSON for analysis

โš™๏ธ Optimization Features

  • Auto-Brightness Control: ML-powered brightness optimization
  • Wi-Fi Saver: Intelligent Wi-Fi management based on signal strength
  • Battery Optimizer: Proactive battery management with predictions
  • Data Saver: Personalized data usage optimization
  • Performance Mode: Thermal-aware performance optimization

๐Ÿ“ฑ User-Defined Rules

  • Custom Automation Rules: Create time-based, battery-based, or condition-based rules
  • Rule Engine: Flexible trigger-action system
  • Enable/Disable: Full control over rule execution
  • Multiple Trigger Types: Time windows, battery thresholds, Wi-Fi state, screen off, charging state

๐ŸŽฏ Background Data Collection

  • Automatic Monitoring: Collects device context every 15 minutes
  • Comprehensive Data: Battery, brightness, Wi-Fi, CPU, memory, network, thermal state
  • Persistent Storage: Room database with 7-day retention (configurable)
  • Duplicate Prevention: One record per minute with unique constraints
  • Smart Cleanup: Automatically removes old data

๐Ÿ—๏ธ Architecture

Clean Architecture Components

  • UI Layer: Activities, Fragments, Adapters with ViewBinding and Material Design
  • ViewModels: MVVM pattern with LiveData/Flow for reactive UI updates
  • Repository: Data access orchestration layer
  • Database: Room database with 15 entities, 7 DAOs, reactive queries
  • Workers: ContextWorker, OptimizationWorker, AgentOrchestratorWorker
  • Agent System: Planner, Policy Engine, Tool Registry, Approval System
  • ML Engine: Online learning models, inference engine, predictive analytics
  • Analytics: Real-time system data collection with comprehensive metrics

Data Flow

Device Sensors โ†’ Data Collectors โ†’ Room Database โ†’ Repository โ†’ ViewModels โ†’ UI
                                    โ†“
                            Agent System (Every 30 min)
                                    โ†“
                        ML Models (Learn & Predict)
                                    โ†“
                        Decision Engine โ†’ Optimization Executor

Agent System Flow

AgentOrchestratorWorker
  โ”œโ”€> RuleBasedPlanner: Plans next tasks
  โ”œโ”€> PolicyEngine: Checks conditions (battery, network, time)
  โ”œโ”€> ToolRegistry: Executes tasks
  โ”‚   โ”œโ”€> InsightTool: Analytical tasks
  โ”‚   โ”œโ”€> CleanupTool: Data retention
  โ”‚   โ””โ”€> OptimizerTool: Executes optimizations
  โ””โ”€> AgentApprovalReceiver: Requests approval for sensitive actions

Key Technologies

  • Kotlin: Modern Android development language
  • Room: Local database with reactive queries (15 tables, version 10)
  • WorkManager: Reliable background task scheduling
  • Coroutines & Flow: Asynchronous programming and reactive streams
  • MPAndroidChart: Professional charting library
  • Material Design: Modern UI components
  • Custom ML: Online learning models (Linear/Logistic Regression)
  • Gson: JSON serialization for complex types

๐Ÿ“ฑ App Screens

Main Dashboard

  • Automation List: Scrollable list of available optimizations
  • Real-Time Status: Active/inactive indicators for each automation
  • Navigation Drawer: Access to all app features
  • Quick Stats: Overview of device health and optimization status

Analytics Dashboard

  • Interactive Charts: Battery, brightness, Wi-Fi, performance, data usage trends
  • Historical Data: Last 24 hours with zoom and pan capabilities
  • Predictive Insights: ML-predicted future behavior
  • Statistical Cards: Averages, trends, and pattern summaries

Agent History

  • Goals & Tasks: View agent's planning and execution
  • Observations: See results of agent actions
  • Approval Queue: Pending actions requiring your approval
  • Live Updates: Real-time Flow-based updates

Automation Detection

  • Detected Automations: List of third-party automation apps
  • Evidence Viewer: See proof for each detection
  • Event Timeline: Track automation activity over time
  • User Controls: Whitelist, mark suspicious, add notes

Rules Management

  • Custom Rules: Create and manage automation rules
  • Rule Editor: Define triggers and actions
  • Enable/Disable: Control rule execution
  • Rule History: Track rule execution logs

Optimization History

  • Action Logs: Complete history of all optimizations
  • Success/Failure Stats: Track optimization effectiveness
  • Filter & Search: Find specific optimizations
  • Export: Download logs for analysis

๐Ÿš€ Quick Start

Prerequisites

  • Android Studio Hedgehog or later
  • Minimum SDK: 26 (Android 8.0)
  • Target SDK: 34 (Android 14)
  • JDK 11 or later

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/coptimizer.git
    cd coptimizer
  2. Open in Android Studio

    • File โ†’ Open โ†’ Select the coptimizer directory
  3. Sync Gradle files

    • Android Studio will automatically sync, or click "Sync Now"
  4. Build and run

    • Click Run (โ–ถ๏ธ) or press Shift+F10
    • Select a device/emulator (API 26+)

First Run

  1. Grant Permissions: The app will request necessary permissions

    • Usage Stats (for app monitoring)
    • Write Settings (for brightness control)
    • Notifications (for agent approvals)
    • Wi-Fi State (for network optimization)
  2. Wait for Learning: The ML models start with zero knowledge

    • Agent runs every 30 minutes automatically
    • Data collection starts every 15 minutes
    • Give it a few days to learn your patterns
  3. Review Agent Actions: Check Agent History to see what the agent plans

    • Approve or deny actions as needed
    • Agent learns from your feedback

Required Permissions

  • ACCESS_NETWORK_STATE: Monitor network connectivity
  • ACCESS_WIFI_STATE: Track Wi-Fi state
  • CHANGE_WIFI_STATE: Enable/disable Wi-Fi for optimization
  • WRITE_SETTINGS: Modify brightness and system settings
  • PACKAGE_USAGE_STATS: Monitor app usage patterns
  • FOREGROUND_SERVICE: Background data collection
  • RECEIVE_BOOT_COMPLETED: Restart monitoring after reboot
  • POST_NOTIFICATIONS: Agent approval notifications
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Ensure reliable background work

๐Ÿ“Š Data Collection

What We Monitor

  • Battery: Level, temperature, voltage, charging status, health
  • Brightness: Current level, auto-brightness status, screen-on time
  • Wi-Fi: Connected state, signal strength, link speed, data usage
  • Performance: CPU usage, memory usage, thermal state, app launch times
  • Data: Wi-Fi usage, mobile data usage, background/foreground split
  • Network: Type, signal strength, network switches
  • Context: Timestamp, automation type, app foreground time

Collection Frequency

  • Interval: Every 15 minutes (via ContextWorker)
  • High Frequency: Optional foreground service for detailed analysis
  • Persistence: 7 days of historical data (configurable)
  • Storage: Local Room database (SQLite)
  • Privacy: 100% on-device - no data leaves your device

ML Data Sources

  • Real-Time Data: System APIs (BatteryManager, Settings, WifiManager, etc.)
  • User Behavior: Brightness preferences, battery patterns, Wi-Fi usage
  • Historical Trends: 7-day context data for pattern recognition
  • Feedback Loop: User satisfaction ratings improve recommendations

๐ŸŽฏ Current Implementation Status

โœ… Fully Implemented Features

  • โœ… ML Integration: Online learning models with predictive analytics
  • โœ… User Behavior Learning: Learns brightness, battery, Wi-Fi, and performance patterns
  • โœ… Predictive Recommendations: Predicts battery drain, optimal brightness, Wi-Fi state
  • โœ… Custom Automation Rules: User-defined rules with flexible triggers
  • โœ… Export Data: CSV/JSON export functionality
  • โœ… Agent System: Autonomous planning and execution
  • โœ… Automation Detection: Multi-strategy detection with evidence collection
  • โœ… Analytics Dashboard: Comprehensive real-time charts and insights

๐Ÿ”ฎ Future Enhancements

  • TensorFlow Lite: Could add more sophisticated ML models (currently uses lightweight online learning)
  • Cloud Sync: Optional encrypted cloud backup (would require user consent)
  • Federated Learning: Privacy-preserving multi-device learning
  • Advanced Agent: Reinforcement learning for agent optimization
  • Automation Marketplace: Community-shared automation patterns

๐Ÿ›๏ธ Project Structure

app/src/main/java/com/example/coptimizer/
โ”œโ”€โ”€ MainActivity.kt                     # Dashboard with navigation drawer
โ”œโ”€โ”€ DetailActivity.kt                   # Analytics dashboard with charts
โ”œโ”€โ”€ CoptimizerApplication.kt           # Application initialization
โ”œโ”€โ”€ Automation.kt                       # Automation domain model
โ”œโ”€โ”€ ContextData.kt                      # Context data entity
โ”œโ”€โ”€ adapter/                            # RecyclerView adapters
โ”‚   โ”œโ”€โ”€ AutomationAdapter.kt
โ”‚   โ”œโ”€โ”€ OptimizationLogAdapter.kt
โ”‚   โ””โ”€โ”€ DetectedAutomationsAdapter.kt
โ”œโ”€โ”€ agent/                              # Autonomous agent system
โ”‚   โ”œโ”€โ”€ AgentModels.kt                  # Agent entities
โ”‚   โ”œโ”€โ”€ AgentDao.kt                     # Agent data access
โ”‚   โ”œโ”€โ”€ RuleBasedPlanner.kt             # Task planning
โ”‚   โ”œโ”€โ”€ PolicyEngine.kt                 # Policy enforcement
โ”‚   โ”œโ”€โ”€ Tooling.kt                      # Tool interfaces
โ”‚   โ”œโ”€โ”€ ToolsImpl.kt                    # Tool implementations
โ”‚   โ”œโ”€โ”€ AgentNotifier.kt                # Approval notifications
โ”‚   โ””โ”€โ”€ AgentApprovalReceiver.kt         # Approval handling
โ”œโ”€โ”€ analytics/                          # Real-time data collection
โ”‚   โ”œโ”€โ”€ RealTimeSystemDataCollector.kt  # System API readers
โ”‚   โ”œโ”€โ”€ BatteryAnalytics.kt
โ”‚   โ”œโ”€โ”€ BrightnessAnalytics.kt
โ”‚   โ”œโ”€โ”€ WifiAnalytics.kt
โ”‚   โ”œโ”€โ”€ PerformanceAnalytics.kt
โ”‚   โ””โ”€โ”€ DataAnalytics.kt
โ”œโ”€โ”€ automationdetector/                 # Automation detection system
โ”‚   โ”œโ”€โ”€ AutomationDetector.kt           # Detection engine
โ”‚   โ”œโ”€โ”€ DetectedAutomation.kt           # Detection entity
โ”‚   โ”œโ”€โ”€ AutomationDetectionDao.kt
โ”‚   โ””โ”€โ”€ AutomationsViewModel.kt
โ”œโ”€โ”€ charts/                             # Chart management
โ”‚   โ””โ”€โ”€ AnalyticsChartManager.kt
โ”œโ”€โ”€ database/                            # Room database
โ”‚   โ”œโ”€โ”€ AppDatabase.kt                  # Database definition (15 entities, v10)
โ”‚   โ”œโ”€โ”€ AutomationDao.kt
โ”‚   โ”œโ”€โ”€ ContextDataDao.kt
โ”‚   โ””โ”€โ”€ Converters.kt                   # Type converters
โ”œโ”€โ”€ ml/                                 # Machine learning
โ”‚   โ”œโ”€โ”€ OnlineModels.kt                 # Online learning models
โ”‚   โ”œโ”€โ”€ MlInferenceEngine.kt            # ML inference & training
โ”‚   โ”œโ”€โ”€ UserBehaviorLearner.kt          # Behavior learning
โ”‚   โ”œโ”€โ”€ UserBehaviorEntities.kt         # Behavior entities
โ”‚   โ”œโ”€โ”€ UserBehaviorDao.kt              # Behavior data access
โ”‚   โ”œโ”€โ”€ PredictiveAnalytics.kt         # Predictive analytics
โ”‚   โ””โ”€โ”€ ContextAwareDecisionEngine.kt   # ML-assisted decisions
โ”œโ”€โ”€ optimization/                       # Optimization system
โ”‚   โ”œโ”€โ”€ OptimizationAction.kt            # Action models
โ”‚   โ”œโ”€โ”€ OptimizationConfig.kt           # Configuration
โ”‚   โ”œโ”€โ”€ DecisionEngine.kt               # Decision making
โ”‚   โ”œโ”€โ”€ OptimizationExecutor.kt        # Action execution
โ”‚   โ”œโ”€โ”€ OptimizationManager.kt          # Coordination
โ”‚   โ”œโ”€โ”€ OptimizationLogger.kt          # Logging
โ”‚   โ””โ”€โ”€ OptimizationLogDao.kt            # Log data access
โ”œโ”€โ”€ repository/                         # Data orchestration
โ”‚   โ””โ”€โ”€ AutomationRepository.kt
โ”œโ”€โ”€ rules/                              # User-defined rules
โ”‚   โ”œโ”€โ”€ UserRule.kt                     # Rule entity
โ”‚   โ””โ”€โ”€ UserRuleDao.kt                  # Rule data access
โ”œโ”€โ”€ service/                            # Foreground services
โ”‚   โ””โ”€โ”€ HighFrequencySamplingService.kt
โ”œโ”€โ”€ utils/                              # Utilities
โ”‚   โ”œโ”€โ”€ DeviceContextUtils.kt           # Device sensors
โ”‚   โ”œโ”€โ”€ NetworkQualityUtils.kt
โ”‚   โ”œโ”€โ”€ ThermalMonitor.kt
โ”‚   โ”œโ”€โ”€ PermissionChecker.kt
โ”‚   โ”œโ”€โ”€ DataExporter.kt                 # CSV/JSON export
โ”‚   โ””โ”€โ”€ LogUtils.kt
โ”œโ”€โ”€ viewmodel/                          # MVVM ViewModels
โ”‚   โ”œโ”€โ”€ MainViewModel.kt
โ”‚   โ”œโ”€โ”€ AnalyticsViewModel.kt
โ”‚   โ””โ”€โ”€ DetailViewModel.kt
โ””โ”€โ”€ worker/                             # Background workers
    โ”œโ”€โ”€ ContextWorker.kt                # Data collection (15 min)
    โ”œโ”€โ”€ OptimizationWorker.kt           # Optimization execution
    โ””โ”€โ”€ AgentOrchestratorWorker.kt      # Agent loop (30 min)

๐Ÿงช Testing

Unit Tests

  • ViewModel logic testing
  • Repository operations
  • Database operations

Integration Tests

  • End-to-end data flow
  • UI interactions
  • Background worker functionality

๐Ÿ“ˆ Performance & Battery Impact

Optimization Features

  • Lazy Loading: Data loaded on-demand
  • Efficient Queries: Room database with indexes for fast queries
  • Background Processing: Non-blocking UI operations with coroutines
  • Memory Management: Automatic cleanup of old data
  • Duplicate Prevention: Unique constraints prevent redundant data
  • Flow-Based UI: Reactive updates only when data changes

Battery Impact

  • Minimal: 15-minute intervals for data collection
  • Smart Scheduling: WorkManager respects battery optimization
  • Efficient Storage: Room database compression
  • Policy-Aware: Agent respects battery level and charging state
  • Adaptive: High-frequency sampling only when dashboards are open

Estimated Impact

  • Background Collection: ~0.5% battery per day
  • Agent System: ~0.3% battery per day
  • ML Processing: Negligible (lightweight online learning)
  • Total: <1% battery impact for 15-30% battery savings

๐Ÿ”’ Privacy & Security

Privacy-First Design

  • 100% On-Device Processing: All ML and data processing happens locally
  • No Cloud Dependency: No data sent to external servers
  • Local Storage: Data stored in app's private directory
  • User Control: Export and delete data anytime
  • No Tracking: No behavioral analytics or tracking

Security Features

  • Type-Safe Queries: Room prevents SQL injection
  • Permission Gating: Proper permission checks before actions
  • Policy Enforcement: Agent respects user-defined policies
  • Audit Trail: Complete logging of all optimizations

๐ŸŒŸ Unique Features

What Makes Coptimizer Different

  1. Autonomous Agent System: First optimization app with self-planning agent
  2. Privacy-Preserving ML: On-device learning without cloud dependency
  3. Intelligent Conflict Detection: Identifies and manages conflicting automations
  4. Predictive Optimization: Acts before problems occur using ML predictions
  5. Complete Transparency: Full visibility into agent decisions and actions

Benefits Over Traditional Apps

  • โœ… Proactive vs Reactive: Acts automatically vs requiring user initiation
  • โœ… Personalized: Learns your behavior vs one-size-fits-all rules
  • โœ… Privacy-First: On-device vs cloud-dependent
  • โœ… Conflict-Aware: Detects conflicts vs blind optimization
  • โœ… Transparent: Full audit trail vs black-box decisions

Development Guidelines

  • Follow Kotlin coding standards
  • Use MVVM architecture pattern
  • Implement proper error handling
  • Add comprehensive documentation
  • Write unit tests for new features
  • Ensure privacy-preserving design

Code Style

  • Use meaningful variable names
  • Implement proper null safety
  • Follow Material Design guidelines
  • Use coroutines for async operations
  • Document complex algorithms

Built with โค๏ธ using modern Android development practices

Coptimizer - Empowering users with intelligent, privacy-preserving device optimization.

About

Agentic Context-Aware Android Optimizer - Autonomous agent system with privacy-preserving on-device ML for intelligent device optimization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published