Files
sm-emby-share/lib/providers/playback_active_provider.dart
2026-07-14 11:11:36 +08:00

36 lines
716 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_riverpod/legacy.dart';
final playbackActiveProvider = StateProvider<bool>((ref) => false);
class DetailPageActivity extends Notifier<int> {
var _disposed = false;
@override
int build() {
ref.onDispose(() => _disposed = true);
return 0;
}
void enter() {
if (_disposed) return;
state = state + 1;
}
void leave() {
if (_disposed || state <= 0) return;
state = state - 1;
}
}
final detailPageActivityProvider = NotifierProvider<DetailPageActivity, int>(
DetailPageActivity.new,
);
final detailPageActiveProvider = Provider<bool>(
(ref) => ref.watch(detailPageActivityProvider) > 0,
);