How velocity081/droidbubble works
Droidtools is an Android overlay app with two user-facing tools: Droidbubble’s dynamic island and Droidbar’s edge bar. The main workflow is opening the app, granting overlay/accessibility/notification permissions, then running the overlay service; system events and media/notification activity feed island state that the overlay presents. Droidbar, task shortcuts, settings, and update checking are additional capabilities. Some service and UI internals were not sampled, so uncertain runtime links are omitted or marked unverified.
Main entry points: IslandOverlayService.kt Overlay service · MainActivity.kt App entry · IslandStateManager.kt Island state · MainScreenViewModel.kt Screen state
Components 24
App and Settings
- App entry
app/src/main/java/com/droidbubble/app/MainActivity.kt - Main screen
app/src/main/java/com/droidbubble/app/ui/main/MainScreen.kt - Screen state
app/src/main/java/com/droidbubble/app/ui/main/MainScreenViewModel.kt - Permission checks
app/src/main/java/com/droidbubble/app/ui/main/PermissionHelper.kt - Settings storage
app/src/main/java/com/droidbubble/app/data/SettingsRepository.kt - Island preferences
app/src/main/java/com/droidbubble/app/model/IslandSettings.kt - Update manager
app/src/main/java/com/droidbubble/app/util/UpdateManager.kt
Droidbubble Island
- Overlay service
app/src/main/java/com/droidbubble/app/service/IslandOverlayService.kt - Island display
app/src/main/java/com/droidbubble/app/island/IslandView.kt - Island state
app/src/main/java/com/droidbubble/app/island/IslandStateManager.kt - Event models
app/src/main/java/com/droidbubble/app/model/IslandEvent.kt
System Integrations
- Media and alerts
app/src/main/java/com/droidbubble/app/service/NotificationReceiverService.kt - Accessibility service
app/src/main/java/com/droidbubble/app/service/IslandAccessibilityService.kt - Battery utilities
app/src/main/java/com/droidbubble/app/service/BatteryUtils.kt - Power events
app/src/main/java/com/droidbubble/app/service/PowerConnectionReceiver.kt - Boot receiver
app/src/main/java/com/droidbubble/app/service/BootReceiver.kt - Widget telemetry
app/src/main/java/com/droidbubble/app/service/PersistentWidgetTelemetryManager.kt
Droidbar
- Edge bar
app/src/main/java/com/droidbubble/app/droidbar/DroidbarOverlay.kt - Frequent apps
app/src/main/java/com/droidbubble/app/droidbar/MostUsedAppsHelper.kt
Task Shortcuts
- Shortcut editor
app/src/main/java/com/droidbubble/app/tasks/TasksPage.kt - Shortcut storage
app/src/main/java/com/droidbubble/app/tasks/TasksRepository.kt - Task executor
app/src/main/java/com/droidbubble/app/tasks/TaskExecutor.kt
Other components
- Device user
- Android system
Connections 26
- Device user → App entry: opens
- App entry → Screen state: creates
app/src/main/java/com/droidbubble/app/MainActivity.kt - App entry → Main screen: displays
app/src/main/java/com/droidbubble/app/MainActivity.kt - App entry → Overlay service: starts
app/src/main/java/com/droidbubble/app/MainActivity.kt - App entry → Permission checks: checks
app/src/main/java/com/droidbubble/app/MainActivity.kt - Screen state → Settings storage: loads settings
app/src/main/java/com/droidbubble/app/ui/main/MainScreenViewModel.kt - Settings storage → Island preferences: maps preferences
app/src/main/java/com/droidbubble/app/data/SettingsRepository.kt - Main screen → Screen state: reads state
app/src/main/java/com/droidbubble/app/ui/main/MainScreen.kt - Overlay service → Island display: renders
app/src/main/java/com/droidbubble/app/service/IslandOverlayService.kt - Island display → Island state: observes state
app/src/main/java/com/droidbubble/app/island/IslandView.kt - Media and alerts → Island state: updates state
app/src/main/java/com/droidbubble/app/service/NotificationReceiverService.kt - Accessibility service → Island state: updates lock state
app/src/main/java/com/droidbubble/app/service/IslandAccessibilityService.kt - Accessibility service → Overlay service: notifies changes
app/src/main/java/com/droidbubble/app/service/IslandAccessibilityService.kt - Power events → Island state: reports events
app/src/main/java/com/droidbubble/app/service/PowerConnectionReceiver.kt - Power events → Battery utilities: uses
app/src/main/java/com/droidbubble/app/service/PowerConnectionReceiver.kt - Boot receiver → Overlay service: starts
app/src/main/java/com/droidbubble/app/service/BootReceiver.kt - Widget telemetry → Island state: updates state
app/src/main/java/com/droidbubble/app/service/PersistentWidgetTelemetryManager.kt - Overlay service → Edge bar: shows bar
app/src/main/java/com/droidbubble/app/service/IslandOverlayService.kt - Edge bar → Frequent apps: lists apps
app/src/main/java/com/droidbubble/app/droidbar/DroidbarOverlay.kt - Main screen → Shortcut editor: opens shortcuts
app/src/main/java/com/droidbubble/app/ui/main/MainScreen.kt - Shortcut editor → Shortcut storage: loads shortcuts
app/src/main/java/com/droidbubble/app/tasks/TasksPage.kt - Shortcut editor → Task executor: runs shortcut
app/src/main/java/com/droidbubble/app/tasks/TasksPage.kt - Screen state → Update manager: checks updates
app/src/main/java/com/droidbubble/app/ui/main/MainScreenViewModel.kt - Overlay service → Island preferences: reads settings
app/src/main/java/com/droidbubble/app/service/IslandOverlayService.kt - Android system → Media and alerts: delivers notifications
- Android system → Accessibility service: dispatches events
app/src/main/java/com/droidbubble/app/service/IslandAccessibilityService.kt