Skip to content

Conversation

@maximus595
Copy link

@maximus595 maximus595 commented Oct 16, 2025

Overview

Implements real-time annotation system allowing browser users to draw on Android device screens during remote desktop sessions.

Related PR

Both PRs are required for complete functionality.

  • Implement AnnotationOverlayService for system-wide overlay
  • Add AnnotationBridge for server message handling
  • Support freehand drawing, shapes (rect/circle/arrow), and TTL
  • Handle overlay permissions and user consent
  • Send lifecycle events (started/stopped) to server
  • Integrate with existing remote desktop tunnels
  • Small fix bug when backing out of settings stopped media projection

Core components:

  • AnnotationServiceBus: Command routing and lifecycle management
  • DrawingOverlayView: Canvas rendering with hardware acceleration
  • AnnotationConsent: User permission flow with auto-enable option
  • AnnotationController: Service lifecycle and permission management

Features:

  • Real-time stroke drawing with smooth path rendering
  • Geometric shapes: rectangles, circles, arrows
  • TTL support for temporary annotations
  • Color and width styling from server
  • Pass-through overlay (non-interactive)
  • Foreground service with notification
  • Coordinate normalization for different screen sizes

This enables browser users to annotate Android screens during remote desktop sessions with real-time visual feedback.

- Implement AnnotationOverlayService for system-wide overlay
- Add AnnotationBridge for server message handling
- Support freehand drawing, shapes (rect/circle/arrow), and TTL
- Handle overlay permissions and user consent
- Send lifecycle events (started/stopped) to server
- Integrate with existing remote desktop tunnels

Core components:
- AnnotationServiceBus: Command routing and lifecycle management
- DrawingOverlayView: Canvas rendering with hardware acceleration
- AnnotationConsent: User permission flow with auto-enable option
- AnnotationController: Service lifecycle and permission management

Features:
- Real-time stroke drawing with smooth path rendering
- Geometric shapes: rectangles, circles, arrows
- TTL support for temporary annotations
- Color and width styling from server
- Pass-through overlay (non-interactive)
- Foreground service with notification
- Coordinate normalization for different screen sizes

This enables browser users to annotate Android screens during
remote desktop sessions with real-time visual feedback.
@si458
Copy link
Collaborator

si458 commented Oct 16, 2025

this is brilliant!
im not going to merge it straight away, as i want to discuss it at our monthly meeting next thursday
i just want peoples opinions and views on it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants