Shuttle2 icon indicating copy to clipboard operation
Shuttle2 copied to clipboard

Migrate widgets to use Glance

Open timusus opened this issue 3 months ago • 0 comments

  • Add Glance dependencies (androidx.glance:glance-appwidget and glance-material3)
  • Migrate WidgetProvider41 and WidgetProvider42 to use GlanceAppWidget instead of AppWidgetProvider
  • Replace RemoteViews-based UI with Glance composables
  • Create action callbacks (PlayPauseAction, NextTrackAction, PreviousTrackAction) for playback controls
  • Update WidgetManager to use Glance's updateAll() API instead of broadcast intents
  • Add WidgetEntryPoint interface for Hilt dependency injection in GlanceAppWidgets
  • Remove deprecated ShuttleAppWidgetProvider base class
  • Delete unused widget layout XML files (appwidget_41.xml, appwidget_41_dark.xml, appwidget_42.xml, appwidget_42_dark.xml)

The widgets now use Glance's declarative API, providing a more modern and maintainable implementation while preserving all existing functionality including dark mode support and background transparency control.

timusus avatar Nov 16 '25 06:11 timusus