chore: clean up code comments
This commit is contained in:
@@ -43,10 +43,8 @@ class AmbientLightingService {
|
||||
|
||||
appLogger.d('AmbientLightingService: Shader path: $_shaderPath');
|
||||
|
||||
// Set video-aspect-override to fill the entire output area
|
||||
await _player.setProperty('video-aspect-override', outputAspect.toString());
|
||||
|
||||
// Append ambient lighting shader
|
||||
await _player.command(['change-list', 'glsl-shaders', 'append', _shaderPath!]);
|
||||
|
||||
_enabled = true;
|
||||
|
||||
@@ -139,7 +139,6 @@ class DiscordRPCService {
|
||||
_playbackSpeed = 1.0;
|
||||
|
||||
if (_isEnabled && _isConnected) {
|
||||
// Upload thumbnail in background, don't block playback
|
||||
unawaited(_uploadThumbnailAndUpdatePresence(revision, metadata, client));
|
||||
}
|
||||
}
|
||||
@@ -148,9 +147,7 @@ class DiscordRPCService {
|
||||
void updatePosition(Duration position) {
|
||||
final isSeek = _timeline.updatePosition(position);
|
||||
|
||||
// Update presence if position jumped significantly (seek detected)
|
||||
if (_isEnabled && _isConnected && _playbackStartTime != null && isSeek) {
|
||||
// Throttle updates to max once per second
|
||||
final now = DateTime.now();
|
||||
if (_lastPresenceUpdate == null || now.difference(_lastPresenceUpdate!) > const Duration(seconds: 1)) {
|
||||
_lastPresenceUpdate = now;
|
||||
@@ -172,7 +169,6 @@ class DiscordRPCService {
|
||||
Future<void> resumePlayback() async {
|
||||
if (_currentMetadata == null) return;
|
||||
|
||||
// Reset start time for elapsed time display
|
||||
_playbackStartTime = DateTime.now();
|
||||
|
||||
if (_isEnabled && _isConnected) {
|
||||
@@ -182,7 +178,6 @@ class DiscordRPCService {
|
||||
|
||||
/// Pause - clear timestamp but keep showing what's playing
|
||||
Future<void> pausePlayback() async {
|
||||
// Clear start time so Discord stops counting
|
||||
_playbackStartTime = null;
|
||||
|
||||
if (_isEnabled && _isConnected) {
|
||||
@@ -309,12 +304,9 @@ class DiscordRPCService {
|
||||
|
||||
Future<String?> _uploadThumbnail(MediaItem metadata, MediaServerClient client) async {
|
||||
try {
|
||||
// Get the thumbnail path (prefer show poster for episodes)
|
||||
final thumbPath = metadata.grandparentThumbPath ?? metadata.thumbPath;
|
||||
if (thumbPath == null || thumbPath.isEmpty) return null;
|
||||
|
||||
// Check cache first (with expiry check). Key by backend so the same
|
||||
// path on Plex and Jellyfin doesn't collide.
|
||||
final cacheKey = '${client.backend.id}:$thumbPath';
|
||||
final cached = _posterUrlCache[cacheKey];
|
||||
if (cached != null && !cached.isExpired) {
|
||||
|
||||
@@ -192,25 +192,20 @@ class GamepadService with WindowListener {
|
||||
_tabNavigationHandlers.clear();
|
||||
}
|
||||
|
||||
// Deadzone for analog sticks (0.0 to 1.0)
|
||||
static const double _stickDeadzone = 0.5;
|
||||
|
||||
// Auto-repeat timing for held directional inputs (D-pad / stick)
|
||||
static const Duration _repeatInitialDelay = Duration(milliseconds: 400);
|
||||
static const Duration _repeatInterval = Duration(milliseconds: 80);
|
||||
|
||||
key_sim.KeyEventSimulatorController? _keyEventSimulator;
|
||||
|
||||
// Track stick state to detect deadzone crossings
|
||||
bool _leftStickUp = false;
|
||||
bool _leftStickDown = false;
|
||||
bool _leftStickLeft = false;
|
||||
bool _leftStickRight = false;
|
||||
|
||||
// Track button states to prevent repeated events from button holds
|
||||
final Set<GamepadButton> _pressedButtons = {};
|
||||
final Set<GamepadButton> _suppressedButtons = {};
|
||||
// Whether the app window is currently focused — ignore gamepad input when false
|
||||
bool _windowFocused = true;
|
||||
bool _nativeKeyHandlerRegistered = false;
|
||||
bool _nativeTextInputFocused = false;
|
||||
|
||||
@@ -250,16 +250,13 @@ class KeyboardShortcutsService extends ChangeNotifier {
|
||||
if (!isMetaPressed) modifiersMatch = false;
|
||||
break;
|
||||
case HotKeyModifier.capsLock:
|
||||
// CapsLock is typically not used for shortcuts, ignore for now
|
||||
break;
|
||||
case HotKeyModifier.fn:
|
||||
// Fn key is typically not used for shortcuts, ignore for now
|
||||
break;
|
||||
}
|
||||
if (!modifiersMatch) break;
|
||||
}
|
||||
|
||||
// Check that no extra modifiers are pressed
|
||||
if (modifiersMatch) {
|
||||
final hasShift = requiredModifiers.contains(HotKeyModifier.shift);
|
||||
final hasControl = requiredModifiers.contains(HotKeyModifier.control);
|
||||
@@ -372,7 +369,6 @@ class KeyboardShortcutsService extends ChangeNotifier {
|
||||
return shortcut.label(seekTimeSmall: _seekTimeSmall, seekTimeLarge: _seekTimeLarge);
|
||||
}
|
||||
|
||||
// Check if a hotkey is already assigned to another action
|
||||
String? getActionForHotkey(HotKey hotkey) {
|
||||
for (final entry in _hotkeys.entries) {
|
||||
final assignedHotkey = entry.value;
|
||||
@@ -383,7 +379,6 @@ class KeyboardShortcutsService extends ChangeNotifier {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Helper method to compare two HotKey objects
|
||||
bool _hotkeyEquals(HotKey a, HotKey b) {
|
||||
if (a.key != b.key) return false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user