Conversation
…L fix - Add currentItemId to GemcapPlayerManager with @stable annotation for single-player semantics across multiple loaded media items - Use Compose mutableStateOf for player and currentItemId reactivity - Select all address bar text on focus for easier URL editing - Fix normalizeHomeUrl to not treat dot-prefixed input as URLs
- Support downloading file-backed media by passing dataFilePath through the callback chain instead of falling back to empty ByteArray - Fix size display showing "0B" for in-memory media by using actual data size instead of hardcoded fallback - Only release player on collapse if collapsing the active item, so unrelated playback is not disrupted - Throttle onProgress updates to every 16KB to prevent unbounded coroutine creation during downloads - Consolidate downloadProgress and downloadedBytes into a single DownloadProgress data class - Use Long instead of Int for progress callbacks to support large files - Auto-play audio/video loaded to memory for consistent UX with file-backed media - Reset playback error state when an item becomes active again - Document video-pauses / audio-continues background policy
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughAdds AndroidX Media3 (ExoPlayer) playback support with a ByteArray DataSource, a GemcapPlayerManager and MediaSessionService; enables file-streaming with progress in GeminiClient; extends embedded-media domain, UI and ViewModel for playback, fullscreen and temp-file handling; updates build, manifest and ProGuard. Changes
Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Who might have known that Android has all of this API? Imagine if I read the documentation first.