mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 22:39:34 +00:00
40 lines
1,012 B
Dart
40 lines
1,012 B
Dart
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
import 'package:vaani/features/player/core/player_status.dart' as core;
|
|
|
|
part 'player_status_provider.g.dart';
|
|
|
|
@Riverpod(keepAlive: true)
|
|
class PlayerStatus extends _$PlayerStatus {
|
|
@override
|
|
core.PlayerStatus build() {
|
|
return core.PlayerStatus();
|
|
}
|
|
|
|
void setPlayStatus(core.PlayStatus playStatus) {
|
|
state = state.copyWith(playStatus: playStatus);
|
|
}
|
|
|
|
void setPlayStatusQuietly(core.PlayStatus playStatus) {
|
|
// state.copyWith(quite: true);
|
|
setPlayStatus(playStatus);
|
|
// state.copyWith(quite: false);
|
|
}
|
|
|
|
// 校验原值, 不相同则更新
|
|
void setPlayStatusVerify(core.PlayStatus playStatus) {
|
|
if (state.playStatus != playStatus) {
|
|
setPlayStatus(playStatus);
|
|
}
|
|
}
|
|
|
|
void setLoading(String itemId) {
|
|
state = state.copyWith(
|
|
playStatus: core.PlayStatus.loading,
|
|
itemId: itemId,
|
|
);
|
|
}
|
|
|
|
void setHidden() {
|
|
state = state.copyWith(playStatus: core.PlayStatus.hidden);
|
|
}
|
|
}
|