32 lines
968 B
Dart
32 lines
968 B
Dart
import 'package:aves/model/entry.dart';
|
|
import 'package:aves/widgets/common/extensions/build_context.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
import 'enums.dart';
|
|
|
|
extension ExtraVideoLoopMode on VideoLoopMode {
|
|
String getName(BuildContext context) {
|
|
switch (this) {
|
|
case VideoLoopMode.never:
|
|
return context.l10n.videoLoopModeNever;
|
|
case VideoLoopMode.shortOnly:
|
|
return context.l10n.videoLoopModeShortOnly;
|
|
case VideoLoopMode.always:
|
|
return context.l10n.videoLoopModeAlways;
|
|
}
|
|
}
|
|
|
|
static const shortVideoThreshold = Duration(seconds: 30);
|
|
|
|
bool shouldLoop(AvesEntry entry) {
|
|
switch (this) {
|
|
case VideoLoopMode.never:
|
|
return false;
|
|
case VideoLoopMode.shortOnly:
|
|
final durationMillis = entry.durationMillis;
|
|
return durationMillis != null ? durationMillis < shortVideoThreshold.inMilliseconds : false;
|
|
case VideoLoopMode.always:
|
|
return true;
|
|
}
|
|
}
|
|
}
|