Initial commit

This commit is contained in:
admin1
2026-07-14 11:11:36 +08:00
commit 656499cf94
604 changed files with 119518 additions and 0 deletions
@@ -0,0 +1,38 @@
import '../../../core/contracts/library.dart';
EmbyRawItem mergeSelectedEpisodeDetail({
required EmbyRawItem detail,
required EmbyRawItem listItem,
}) {
final mergedRunTime = detail.RunTimeTicks ?? listItem.RunTimeTicks;
final mergedUserData = _mergeUserData(detail.UserData, listItem.UserData);
if (mergedRunTime == detail.RunTimeTicks &&
identical(mergedUserData, detail.UserData)) {
return detail;
}
return detail.copyWith(RunTimeTicks: mergedRunTime, UserData: mergedUserData);
}
EmbyRawUserData? _mergeUserData(
EmbyRawUserData? detail,
EmbyRawUserData? listItem,
) {
if (listItem == null) return detail;
if (detail == null) return listItem;
if (detail.PlaybackPositionTicks == null &&
listItem.PlaybackPositionTicks != null) {
return detail.copyWith(
PlaybackPositionTicks: listItem.PlaybackPositionTicks,
);
}
return detail;
}
EmbyRawItem applyPlaybackReturnProgress(EmbyRawItem item, int? positionTicks) {
if (positionTicks == null || positionTicks <= 0) return item;
final userData = (item.UserData ?? const EmbyRawUserData()).copyWith(
PlaybackPositionTicks: positionTicks,
);
return item.copyWith(UserData: userData);
}