@@ -113,31 +113,47 @@ class CustomPhotoPickerViewController: TLPhotosPickerViewController, ViewerContr
113113 }
114114}
115115
116- extension CustomPhotoPickerViewController : PreviewHeaderViewDelegate , PreviewFooterViewDelegate {
116+ extension CustomPhotoPickerViewController : PreviewHeaderViewDelegate {
117117 func headerView( _: PreviewHeaderView , didPressClearButton _: UIButton ) {
118118 self . viewerController? . dismiss ( nil )
119119 }
120120
121121 func headerView( _: PreviewHeaderView , didPressDoneButton _: UIButton ) {
122122 DispatchQueue . main. async {
123123 self . viewerController? . dismiss {
124- if config. singleSelectedMode {
125- DispatchQueue . main. async {
126- if let indexPath = self . viewerController? . currentIndexPath {
127- guard let cell = self . collectionView. cellForItem ( at: indexPath) as? TLPhotoCollectionViewCell , let localID = cell. asset? . localIdentifier else { return }
124+ if config. singleSelectedMode || ( self . selectedAssets. count == 0 ) {
125+ guard
126+ let indexPath = self . viewerController? . currentIndexPath,
128127
129- guard let asset = TLPHAsset . asset ( with : localID ) else { return }
128+ let cell = self . collectionView . cellForItem ( at : indexPath ) as? TLPhotoCollectionViewCell ,
130129
131- self . dismissPhotoPicker!( [ asset] )
132- }
130+ let localID = cell. asset? . localIdentifier,
131+
132+ var asset = TLPHAsset . asset ( with: localID) ,
133+
134+ let phAsset = asset. phAsset,
135+
136+ self . canSelect ( phAsset: phAsset)
137+
138+ else { return }
139+
140+ self . logDelegate? . selectedPhoto ( picker: self , at: indexPath. row)
141+
142+ asset. selectedOrder = 1
143+ if !config. singleSelectedMode {
144+ cell. selectedAsset = true
145+ cell. orderLabel? . text = " \( asset. selectedOrder) "
133146 }
134- } else {
135- self . dismissPhotoPicker! ( self . selectedAssets)
147+
148+ self . selectedAssets = [ asset ]
136149 }
150+ self . dismissPhotoPicker!( self . selectedAssets)
137151 }
138152 }
139153 }
154+ }
140155
156+ extension CustomPhotoPickerViewController : PreviewFooterViewDelegate {
141157 private func canSelect( phAsset: PHAsset ) -> Bool {
142158 if let closure = self . canSelectAsset {
143159 return closure ( phAsset)
0 commit comments