import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/legacy.dart'; final playbackActiveProvider = StateProvider((ref) => false); class DetailPageActivity extends Notifier { 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.new, ); final detailPageActiveProvider = Provider( (ref) => ref.watch(detailPageActivityProvider) > 0, );