aves/lib/model/settings/enums/accessibility_timeout.dart
2023-08-11 23:04:30 +02:00

26 lines
1 KiB
Dart

import 'package:aves/services/accessibility_service.dart';
import 'package:aves/theme/durations.dart';
import 'package:aves_model/aves_model.dart';
extension ExtraAccessibilityTimeout on AccessibilityTimeout {
Future<Duration> getSnackBarDuration(bool hasAction) async {
switch (this) {
case AccessibilityTimeout.system:
if (hasAction) {
return Duration(milliseconds: await (AccessibilityService.getRecommendedTimeToTakeAction(ADurations.opToastActionDisplay)));
} else {
return Duration(milliseconds: await (AccessibilityService.getRecommendedTimeToRead(ADurations.opToastTextDisplay)));
}
case AccessibilityTimeout.s1:
return const Duration(seconds: 1);
case AccessibilityTimeout.s3:
return const Duration(seconds: 3);
case AccessibilityTimeout.s5:
return const Duration(seconds: 5);
case AccessibilityTimeout.s10:
return const Duration(seconds: 10);
case AccessibilityTimeout.s30:
return const Duration(seconds: 30);
}
}
}