#import "TGMediaPickerGalleryVideoItem.h" #import "LegacyComponentsInternal.h" #import "TGMediaPickerGalleryVideoItemView.h" #import "TGMediaAsset+TGMediaEditableItem.h" #import "TGCameraCapturedVideo.h" #import @implementation TGMediaPickerGalleryVideoItem @synthesize selectionContext; @synthesize editingContext; @synthesize stickersContext; - (CGSize)dimensions { if ([self.asset isKindOfClass:[TGMediaAsset class]]) return ((TGMediaAsset *)self.asset).dimensions; if ([self.asset respondsToSelector:@selector(originalSize)]) return self.asset.originalSize; return CGSizeZero; } - (AVAsset *)avAsset { if ([self.asset isKindOfClass:[TGCameraCapturedVideo class]]) return ((TGCameraCapturedVideo *)self.asset).avAsset; return nil; } - (SSignal *)durationSignal { if ([self.asset isKindOfClass:[TGMediaAsset class]]) return ((TGMediaAsset *)self.asset).actualVideoDuration; if ([self.asset respondsToSelector:@selector(originalDuration)]) return [SSignal single:@(self.asset.originalDuration)]; return [SSignal single:@0]; } - (NSString *)uniqueId { if (self.asset != nil) return self.asset.uniqueIdentifier; return nil; } - (id)selectableMediaItem { if (self.asset != nil) return self.asset; return nil; } - (id)editableMediaItem { if (self.asset != nil) return self.asset; return nil; } - (TGPhotoEditorTab)toolbarTabs { if ([self.asset isKindOfClass:[TGMediaAsset class]] && ((TGMediaAsset *)self.asset).subtypes & TGMediaAssetSubtypePhotoLive) return TGPhotoEditorCropTab | TGPhotoEditorPaintTab | TGPhotoEditorToolsTab | TGPhotoEditorTimerTab; else return TGPhotoEditorCropTab | TGPhotoEditorToolsTab | TGPhotoEditorPaintTab | TGPhotoEditorQualityTab; } - (Class)viewClass { return [TGMediaPickerGalleryVideoItemView class]; } - (BOOL)isEqual:(id)object { return [object isKindOfClass:[TGMediaPickerGalleryVideoItem class]] && (self.asset != nil && TGObjectCompare(self.asset, ((TGMediaPickerGalleryItem *)object).asset)); } @end