@@ -152,6 +152,10 @@ private extension ProductImagesViewController {
152152 }
153153
154154 @objc func doneButtonTapped( ) {
155+ commitAndDismiss ( )
156+ }
157+
158+ func commitAndDismiss( ) {
155159 onCompletion ( productImages)
156160 }
157161
@@ -216,21 +220,24 @@ private extension ProductImagesViewController {
216220 return
217221 }
218222 uploadMediaAssetToSiteMediaLibrary ( asset: asset)
223+ commitAndDismiss ( )
219224 }
220225}
221226
222227// MARK: Action handling for device media library picker
223228//
224229private extension ProductImagesViewController {
225230 func onDeviceMediaLibraryPickerCompletion( assets: [ PHAsset ] ) {
226- defer {
227- dismiss ( animated: true , completion: nil )
228- }
229- guard assets. isEmpty == false else {
230- return
231- }
232- assets. forEach { asset in
233- uploadMediaAssetToSiteMediaLibrary ( asset: asset)
231+ let shouldAnimateMediaLibraryDismissal = assets. isEmpty
232+ dismiss ( animated: shouldAnimateMediaLibraryDismissal) { [ weak self] in
233+ guard let self = self , assets. isNotEmpty else {
234+ return
235+ }
236+
237+ assets. forEach { asset in
238+ self . uploadMediaAssetToSiteMediaLibrary ( asset: asset)
239+ }
240+ self . commitAndDismiss ( )
234241 }
235242 }
236243}
@@ -239,8 +246,15 @@ private extension ProductImagesViewController {
239246//
240247private extension ProductImagesViewController {
241248 func onWPMediaPickerCompletion( mediaItems: [ Media ] ) {
242- dismiss ( animated: true , completion: nil )
243- productImageActionHandler. addSiteMediaLibraryImagesToProduct ( mediaItems: mediaItems)
249+ let shouldAnimateWPMediaPickerDismissal = mediaItems. isEmpty
250+ dismiss ( animated: shouldAnimateWPMediaPickerDismissal) { [ weak self] in
251+ guard let self = self , mediaItems. isNotEmpty else {
252+ return
253+ }
254+
255+ self . productImageActionHandler. addSiteMediaLibraryImagesToProduct ( mediaItems: mediaItems)
256+ self . commitAndDismiss ( )
257+ }
244258 }
245259}
246260
0 commit comments