Skip to content

Commit de089a6

Browse files
General fix (#3876)
* fix media title Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * remove old variable Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * fix tabBarController Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * License Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * cleaning Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * setNavigationBarAppearance Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * code Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * bo? Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * iPad FIX Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * fix Media media only (remove video part livephoto) Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> * build 1 Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com> --------- Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
1 parent ce40513 commit de089a6

24 files changed

+143
-370
lines changed

Nextcloud.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5709,7 +5709,7 @@
57095709
CLANG_WARN_UNREACHABLE_CODE = YES;
57105710
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
57115711
COPY_PHASE_STRIP = NO;
5712-
CURRENT_PROJECT_VERSION = 0;
5712+
CURRENT_PROJECT_VERSION = 1;
57135713
DEBUG_INFORMATION_FORMAT = dwarf;
57145714
DEVELOPMENT_TEAM = NKUJUXUJ3B;
57155715
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -5775,7 +5775,7 @@
57755775
CLANG_WARN_UNREACHABLE_CODE = YES;
57765776
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
57775777
COPY_PHASE_STRIP = NO;
5778-
CURRENT_PROJECT_VERSION = 0;
5778+
CURRENT_PROJECT_VERSION = 1;
57795779
DEVELOPMENT_TEAM = NKUJUXUJ3B;
57805780
ENABLE_STRICT_OBJC_MSGSEND = YES;
57815781
ENABLE_TESTABILITY = YES;

iOSClient/Extensions/UINavigationController+Extension.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ extension UINavigationController {
4646
appearance.shadowColor = .clear
4747
appearance.shadowImage = UIImage()
4848
}
49-
5049
appearance.titleTextAttributes = [.foregroundColor: textColor]
5150

5251
navigationBar.standardAppearance = appearance

iOSClient/Media/NCMedia+CollectionViewDataSource.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ extension NCMedia: UICollectionViewDataSource {
3131
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
3232
let numberOfItemsInSection = dataSource.metadatas.count
3333
self.numberOfColumns = getColumnCount()
34-
35-
setElements()
36-
3734
return numberOfItemsInSection
3835
}
3936

iOSClient/Media/NCMedia+Command.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ extension NCMedia {
4646
}
4747

4848
func setElements() {
49-
let isOver = self.collectionView.contentOffset.y <= -view.safeAreaInsets.top - titleConstraint.constant
49+
let highTextTitle = titleDate.frame.height
50+
let isOver = self.collectionView.contentOffset.y + highTextTitle <= -view.safeAreaInsets.top && self.collectionView.contentOffset.y != -view.safeAreaInsets.top
5051

5152
if isOver || dataSource.metadatas.isEmpty {
5253
UIView.animate(withDuration: 0.3) { [self] in

iOSClient/Media/NCMedia.storyboard

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23727" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="24412" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
33
<device id="retina5_9" orientation="portrait" appearance="light"/>
44
<dependencies>
5-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23721"/>
5+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="24405"/>
66
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
77
<capability name="System colors in document resources" minToolsVersion="11.0"/>
88
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -68,7 +68,6 @@
6868
<outlet property="activityIndicator" destination="9bK-ms-LxX" id="dpp-13-6UO"/>
6969
<outlet property="collectionView" destination="Zaz-Cl-qpZ" id="8oA-Gx-z7T"/>
7070
<outlet property="gradientView" destination="j5r-Rn-Fcf" id="rJD-yb-zV2"/>
71-
<outlet property="titleConstraint" destination="viX-PV-uTj" id="wGD-hQ-i90"/>
7271
<outlet property="titleDate" destination="rSH-l2-T1a" id="sRl-Sr-fph"/>
7372
</connections>
7473
</viewController>

iOSClient/Media/NCMedia.swift

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ class NCMedia: UIViewController {
1111
@IBOutlet weak var collectionView: UICollectionView!
1212
@IBOutlet weak var titleDate: UILabel!
1313
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
14-
@IBOutlet weak var titleConstraint: NSLayoutConstraint!
1514
@IBOutlet weak var gradientView: UIView!
1615

1716
let layout = NCMediaLayout()
@@ -118,16 +117,6 @@ class NCMedia: UIViewController {
118117
gradientLayer.locations = [0.0, 0.20, 0.40, 0.60, 0.75, 0.85, 0.95, 1.0]
119118
gradientView.layer.insertSublayer(gradientLayer, at: 0)
120119

121-
// Title + Activity indicator
122-
if UIDevice.current.userInterfaceIdiom == .pad {
123-
titleConstraint.constant = 0
124-
} else {
125-
if #available(iOS 26.0, *) {
126-
titleConstraint.constant = -44
127-
} else {
128-
titleConstraint.constant = -34
129-
}
130-
}
131120
titleDate.text = ""
132121
titleDate?.textColor = .white
133122
activityIndicator.color = .white

iOSClient/Media/NCMediaDataSource.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ extension NCMedia {
3333
@MainActor
3434
func collectionViewReloadData() {
3535
collectionView.reloadData()
36+
setElements()
3637
}
3738

3839
// MARK: - Search media

iOSClient/Media/NCMediaSelectTabBar.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ class NCMediaSelectTabBar: ObservableObject {
5555
UIView.animate(withDuration: 0.2) {
5656
hostingController.view.transform = .init(translationX: 0, y: 0)
5757
}
58-
controller.tabBar.isHidden = true
58+
59+
if #available(iOS 18.0, *) {
60+
controller.setTabBarHidden(true, animated: true)
61+
} else {
62+
controller.tabBar.isHidden = true
63+
}
5964
}
6065

6166
func hide() {
@@ -64,7 +69,12 @@ class NCMediaSelectTabBar: ObservableObject {
6469
return
6570
}
6671

67-
controller.tabBar.isHidden = false
72+
if #available(iOS 18.0, *) {
73+
controller.setTabBarHidden(false, animated: true)
74+
} else {
75+
controller.tabBar.isHidden = false
76+
}
77+
6878
hostingController.view.isHidden = true
6979
}
7080
}

iOSClient/NCImageCache.swift

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,16 @@ final class NCImageCache: @unchecked Sendable {
140140
showOnlyVideos: Bool) -> NSPredicate {
141141
var predicate = NSPredicate()
142142
let startServerUrl = self.utilityFileSystem.getHomeServer(session: session) + mediaPath
143-
let showBothPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND (classFile == '\(NKTypeClassFile.image.rawValue)' OR classFile == '\(NKTypeClassFile.video.rawValue)') AND NOT (status IN %@)"
144-
let showOnlyPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND classFile == %@ AND NOT (status IN %@)"
143+
let showBothPredicate = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND (classFile == '\(NKTypeClassFile.image.rawValue)' OR classFile == '\(NKTypeClassFile.video.rawValue)') AND NOT (status IN %@)"
144+
let showOnlyPredicateImage = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND classFile == 'image' AND NOT (status IN %@)"
145+
let showOnlyPredicateVideo = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND classFile == 'video' AND livePhotoFile == '' AND NOT (status IN %@)"
145146

146147
if showOnlyImages {
147-
predicate = NSPredicate(format: showOnlyPredicateMediaString, session.account, startServerUrl, NKTypeClassFile.image.rawValue, global.metadataStatusHideInView)
148+
predicate = NSPredicate(format: showOnlyPredicateImage, session.account, startServerUrl, global.metadataStatusHideInView)
148149
} else if showOnlyVideos {
149-
predicate = NSPredicate(format: showOnlyPredicateMediaString, session.account, startServerUrl, NKTypeClassFile.video.rawValue, global.metadataStatusHideInView)
150+
predicate = NSPredicate(format: showOnlyPredicateVideo, session.account, startServerUrl, global.metadataStatusHideInView)
150151
} else {
151-
predicate = NSPredicate(format: showBothPredicateMediaString, session.account, startServerUrl, global.metadataStatusHideInView)
152+
predicate = NSPredicate(format: showBothPredicate, session.account, startServerUrl, global.metadataStatusHideInView)
152153
}
153154

154155
return predicate

iOSClient/Trash/NCTrashSelectTabBar.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ class NCTrashSelectTabBar: ObservableObject {
7171
return
7272
}
7373

74-
controller.tabBar.isHidden = true
74+
if #available(iOS 18.0, *) {
75+
controller.setTabBarHidden(true, animated: true)
76+
} else {
77+
controller.tabBar.isHidden = true
78+
}
7579

7680
if hostingController.view.isHidden {
7781
hostingController.view.isHidden = false
@@ -91,7 +95,12 @@ class NCTrashSelectTabBar: ObservableObject {
9195
}
9296

9397
hostingController.view.isHidden = true
94-
controller.tabBar.isHidden = false
98+
99+
if #available(iOS 18.0, *) {
100+
controller.setTabBarHidden(false, animated: true)
101+
} else {
102+
controller.tabBar.isHidden = false
103+
}
95104
}
96105

97106
func update(selectOcId: [String]) {

0 commit comments

Comments
 (0)