|
@@ -13,6 +13,10 @@
|
|
|
|
|
|
import Foundation
|
|
import Foundation
|
|
|
|
|
|
|
|
+protocol MediaCategoryViewControllerDelegate: NSObjectProtocol {
|
|
|
|
+ func needsToUpdateNavigationbarIfNeeded(_ viewController: VLCMediaCategoryViewController)
|
|
|
|
+}
|
|
|
|
+
|
|
class VLCMediaCategoryViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout, UISearchResultsUpdating, UISearchControllerDelegate, IndicatorInfoProvider {
|
|
class VLCMediaCategoryViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout, UISearchResultsUpdating, UISearchControllerDelegate, IndicatorInfoProvider {
|
|
|
|
|
|
var model: MediaLibraryBaseModel
|
|
var model: MediaLibraryBaseModel
|
|
@@ -31,6 +35,7 @@ class VLCMediaCategoryViewController: UICollectionViewController, UICollectionVi
|
|
private var cachedCellSize = CGSize.zero
|
|
private var cachedCellSize = CGSize.zero
|
|
private var toSize = CGSize.zero
|
|
private var toSize = CGSize.zero
|
|
private var longPressGesture: UILongPressGestureRecognizer!
|
|
private var longPressGesture: UILongPressGestureRecognizer!
|
|
|
|
+ weak var delegate: MediaCategoryViewControllerDelegate?
|
|
|
|
|
|
// @available(iOS 11.0, *)
|
|
// @available(iOS 11.0, *)
|
|
// lazy var dragAndDropManager: VLCDragAndDropManager = { () -> VLCDragAndDropManager<T> in
|
|
// lazy var dragAndDropManager: VLCDragAndDropManager = { () -> VLCDragAndDropManager<T> in
|
|
@@ -91,8 +96,12 @@ class VLCMediaCategoryViewController: UICollectionViewController, UICollectionVi
|
|
@objc func reloadData() {
|
|
@objc func reloadData() {
|
|
DispatchQueue.main.async {
|
|
DispatchQueue.main.async {
|
|
[weak self] in
|
|
[weak self] in
|
|
- self?.collectionView?.reloadData()
|
|
|
|
- self?.updateUIForContent()
|
|
|
|
|
|
+ guard let self = self else {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ self.delegate?.needsToUpdateNavigationbarIfNeeded(self)
|
|
|
|
+ self.collectionView?.reloadData()
|
|
|
|
+ self.updateUIForContent()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|