Skip to content

Commit f6fc67c

Browse files
felix-schwarzhosy
andauthored
[milestone/11.4.3] Milestone 11.4.3 (bugfixes) (#834)
* - SortBar: disable hidden items to also remove it from VoiceOver - StaticTableViewRow: no longer embed controls directly into a UITableViewCell, but in their .contentView instead, fixing an issue with "blocked" controls in iOS 14.2 where the UITableViewCell's content view would be layered on top and consume all taps * - StaticTableViewRow: adapt dater picker to iOS 14 (also tested style .inline, but that seems to be broken as of iOS 14.2, collapsing the month name) * - fix UIWindow / UIScene conflict issue * - updated build and version number - updated release notes for 11.4.3 * - StaticTableViewRow: avoid duplicate constraint code * - SortBar: add .accessibilityElementsHidden and posting of UIAccessibility layout change notification to inform VoiceOver * updated changelog and fastlane release notes * switching back to the latest master SDK commit * fixed empty "Fake" view controller on new back history stack on iOS 14, when first view controller in stack was selected * - setting a view title for the new back button history stack - disable to use the view title as back button title, use generic "Back" instead Co-authored-by: Matthias Hühne <[email protected]>
1 parent 6c38454 commit f6fc67c

File tree

11 files changed

+112
-81
lines changed

11 files changed

+112
-81
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# ChangeLog
22

3+
## Release version 11.4.3 (Mid-November 2020)
4+
5+
- Fix: iOS 14 UI Adaptions (#834)
6+
37
## Release version 11.4.2 (November 2020)
48

59
- Support for new Display Sizes
Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
1-
• Support for new Display Sizes
2-
We supporting all upcoming new display sizes with native screen resolution.
3-
4-
• Favorites in Directory Picker
5-
We added access to the favorite items directly from the directory picker.
6-
7-
• Rename Filename in Scan View
8-
Now it is easier to rename a filename in the scan view by preselecting the filename.
9-
10-
• Fix: Save Attachments from Mail.app
11-
Saving attachments from iOS Mail.app was broken via the share sheet.
12-
13-
• Fix: Authentication Error in FileProvider
14-
Notifies the user with a notification if authentication fails in File Provider.
15-
16-
• Fix: New Folder in FileProvider
17-
A newly created folder in File Provider was not selectable.
1+
• Fix: iOS 14 UI Adaptions
2+
Fixed some problems on iOS 14, with unresponsive UI elements.
183

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
1-
• Support for new Display Sizes
2-
We supporting all upcoming new display sizes with native screen resolution.
3-
4-
• Favorites in Directory Picker
5-
We added access to the favorite items directly from the directory picker.
6-
7-
• Rename Filename in Scan View
8-
Now it is easier to rename a filename in the scan view by preselecting the filename.
9-
10-
• Fix: Save Attachments from Mail.app
11-
Saving attachments from iOS Mail.app was broken via the share sheet.
12-
13-
• Fix: Authentication Error in FileProvider
14-
Notifies the user with a notification if authentication fails in File Provider.
15-
16-
• Fix: New Folder in FileProvider
17-
A newly created folder in File Provider was not selectable.
1+
• Fix: iOS 14 UI Adaptions
2+
Fixed some problems on iOS 14, with unresponsive UI elements.
183

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
1-
• Support for new Display Sizes
2-
We supporting all upcoming new display sizes with native screen resolution.
3-
4-
• Favorites in Directory Picker
5-
We added access to the favorite items directly from the directory picker.
6-
7-
• Rename Filename in Scan View
8-
Now it is easier to rename a filename in the scan view by preselecting the filename.
9-
10-
• Fix: Save Attachments from Mail.app
11-
Saving attachments from iOS Mail.app was broken via the share sheet.
12-
13-
• Fix: Authentication Error in FileProvider
14-
Notifies the user with a notification if authentication fails in File Provider.
15-
16-
• Fix: New Folder in FileProvider
17-
A newly created folder in File Provider was not selectable.
1+
• Fix: iOS 14 UI Adaptions
2+
Fixed some problems on iOS 14, with unresponsive UI elements.
183

ownCloud.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4452,8 +4452,8 @@
44524452
isa = XCBuildConfiguration;
44534453
buildSettings = {
44544454
ALWAYS_SEARCH_USER_PATHS = NO;
4455-
APP_SHORT_VERSION = 11.4.2;
4456-
APP_VERSION = 177;
4455+
APP_SHORT_VERSION = 11.4.3;
4456+
APP_VERSION = 178;
44574457
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
44584458
CLANG_ANALYZER_NONNULL = YES;
44594459
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -4515,8 +4515,8 @@
45154515
isa = XCBuildConfiguration;
45164516
buildSettings = {
45174517
ALWAYS_SEARCH_USER_PATHS = NO;
4518-
APP_SHORT_VERSION = 11.4.2;
4519-
APP_VERSION = 177;
4518+
APP_SHORT_VERSION = 11.4.3;
4519+
APP_VERSION = 178;
45204520
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
45214521
CLANG_ANALYZER_NONNULL = YES;
45224522
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -4571,8 +4571,8 @@
45714571
isa = XCBuildConfiguration;
45724572
buildSettings = {
45734573
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
4574-
APP_SHORT_VERSION = 11.4.2;
4575-
APP_VERSION = 177;
4574+
APP_SHORT_VERSION = 11.4.3;
4575+
APP_VERSION = 178;
45764576
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
45774577
CODE_SIGN_ENTITLEMENTS = ownCloud/ownCloud.entitlements;
45784578
CODE_SIGN_IDENTITY = "Apple Development";
@@ -4604,8 +4604,8 @@
46044604
isa = XCBuildConfiguration;
46054605
buildSettings = {
46064606
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
4607-
APP_SHORT_VERSION = 11.4.2;
4608-
APP_VERSION = 177;
4607+
APP_SHORT_VERSION = 11.4.3;
4608+
APP_VERSION = 178;
46094609
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
46104610
CODE_SIGN_ENTITLEMENTS = ownCloud/ownCloud.entitlements;
46114611
CODE_SIGN_IDENTITY = "iPhone Developer";

ownCloud/AppDelegate.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
6161
rootViewController = navigationController
6262
}
6363

64-
window?.rootViewController = rootViewController!
65-
window?.makeKeyAndVisible()
64+
if !UIDevice.current.isIpad {
65+
// Only set up window on non-iPad devices
66+
window?.rootViewController = rootViewController!
67+
window?.makeKeyAndVisible()
68+
}
6669

6770
ImportFilesController.removeImportDirectory()
6871

ownCloud/Client/ClientRootViewController.swift

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protocol ClientRootViewControllerAuthenticationDelegate : class {
2525
func handleAuthError(for clientViewController: ClientRootViewController, error: NSError, editBookmark: OCBookmark?, preferredAuthenticationMethods: [OCAuthenticationMethodIdentifier]?)
2626
}
2727

28-
class ClientRootViewController: UITabBarController, BookmarkContainer, ToolAndTabBarToggling {
28+
class ClientRootViewController: UITabBarController, BookmarkContainer, ToolAndTabBarToggling, UINavigationControllerDelegate {
2929

3030
// MARK: - Constants
3131
let folderButtonsSize: CGSize = CGSize(width: 25.0, height: 25.0)
@@ -277,6 +277,18 @@ class ClientRootViewController: UITabBarController, BookmarkContainer, ToolAndTa
277277
})
278278
}
279279

280+
func navigationController(_ navigationController: UINavigationController,
281+
willShow viewController: UIViewController,
282+
animated: Bool) {
283+
if viewController == emptyViewController {
284+
closeClient()
285+
if #available(iOS 13.0, *) {
286+
// Prevent re-opening of items on next launch in case user has returned to the bookmark list
287+
view.window?.windowScene?.userActivity = nil
288+
}
289+
}
290+
}
291+
280292
func coreReady(_ lastVisibleItemId: String?) {
281293
OnMainThread {
282294
if let core = self.core {
@@ -290,6 +302,7 @@ class ClientRootViewController: UITabBarController, BookmarkContainer, ToolAndTa
290302
}
291303

292304
let emptyViewController = self.emptyViewController
305+
emptyViewController.navigationController?.delegate = self
293306
if VendorServices.shared.isBranded, !VendorServices.shared.canAddAccount {
294307
emptyViewController.navigationItem.title = "Manage".localized
295308
} else {

ownCloud/Release Notes/ReleaseNotes.plist

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,23 @@ Users can choose to prefer the original photo instead of an edited version and a
813813
</dict>
814814
</array>
815815
</dict>
816+
<dict>
817+
<key>Version</key>
818+
<string>11.4.3</string>
819+
<key>ReleaseNotes</key>
820+
<array>
821+
<dict>
822+
<key>Title</key>
823+
<string>Fix: iOS 14 UI Adaptions</string>
824+
<key>Subtitle</key>
825+
<string>Fixed some problems on iOS 14, with unresponsive UI elements.</string>
826+
<key>Type</key>
827+
<string>Fix</string>
828+
<key>ImageName</key>
829+
<string>bandage</string>
830+
</dict>
831+
</array>
832+
</dict>
816833
</array>
817834
</dict>
818835
</plist>

ownCloudAppShared/Client/File Lists/ClientQueryViewController.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,12 @@ extension ClientQueryViewController {
608608
if lastPathComponent.isRootPath, let shortName = core?.bookmark.shortName {
609609
self.navigationItem.title = shortName
610610
} else {
611+
if #available(iOS 14.0, *) {
612+
self.navigationItem.backButtonDisplayMode = .generic
613+
let lastPathComponent = (query.queryPath as NSString?)!.lastPathComponent
614+
self.title = lastPathComponent
615+
}
616+
611617
let titleButton = UIButton()
612618
titleButton.setTitle(lastPathComponent, for: .normal)
613619
titleButton.titleLabel?.font = UIFont.systemFont(ofSize: 17, weight: .semibold)

ownCloudAppShared/Client/User Interface/SortBar.swift

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ public class SortBar: UIView, Themeable, UIPopoverPresentationControllerDelegate
7070
public var showSelectButton: Bool = false {
7171
didSet {
7272
selectButton?.isHidden = !showSelectButton
73+
selectButton?.accessibilityElementsHidden = !showSelectButton
74+
selectButton?.isEnabled = showSelectButton
75+
76+
UIAccessibility.post(notification: .layoutChanged, argument: nil)
7377
}
7478
}
7579

@@ -152,6 +156,8 @@ public class SortBar: UIView, Themeable, UIPopoverPresentationControllerDelegate
152156

153157
sortSegmentedControl.selectedSegmentIndex = SortMethod.all.index(of: sortMethod)!
154158
sortSegmentedControl.isHidden = true
159+
sortSegmentedControl.accessibilityElementsHidden = true
160+
sortSegmentedControl.isEnabled = false
155161
sortSegmentedControl.addTarget(self, action: #selector(sortSegmentedControllerValueChanged), for: .valueChanged)
156162

157163
// Sort Button
@@ -171,6 +177,8 @@ public class SortBar: UIView, Themeable, UIPopoverPresentationControllerDelegate
171177
])
172178

173179
sortButton.isHidden = true
180+
sortButton.accessibilityElementsHidden = true
181+
sortButton.isEnabled = false
174182
sortButton.addTarget(self, action: #selector(presentSortButtonOptions), for: .touchUpInside)
175183

176184
selectButton.setImage(UIImage(named: "select"), for: .normal)
@@ -186,14 +194,16 @@ public class SortBar: UIView, Themeable, UIPopoverPresentationControllerDelegate
186194
selectButton.rightAnchor.constraint(lessThanOrEqualTo: self.safeAreaLayoutGuide.rightAnchor, constant: -rightPadding),
187195
selectButton.heightAnchor.constraint(equalToConstant: sideButtonsSize.height),
188196
selectButton.widthAnchor.constraint(equalToConstant: sideButtonsSize.width)
189-
])
197+
])
190198
}
191199

192200
// Finalize view setup
193201
self.accessibilityIdentifier = "sort-bar"
194202
Theme.shared.register(client: self)
195203

196204
selectButton?.isHidden = !showSelectButton
205+
selectButton?.accessibilityElementsHidden = !showSelectButton
206+
selectButton?.isEnabled = showSelectButton
197207
updateForCurrentTraitCollection()
198208
}
199209

@@ -225,11 +235,21 @@ public class SortBar: UIView, Themeable, UIPopoverPresentationControllerDelegate
225235
switch (traitCollection.horizontalSizeClass, traitCollection.verticalSizeClass) {
226236
case (.compact, .regular):
227237
sortSegmentedControl?.isHidden = true
238+
sortSegmentedControl?.accessibilityElementsHidden = true
239+
sortSegmentedControl?.isEnabled = false
228240
sortButton?.isHidden = false
241+
sortButton?.accessibilityElementsHidden = false
242+
sortButton?.isEnabled = true
229243
default:
230244
sortSegmentedControl?.isHidden = false
245+
sortSegmentedControl?.accessibilityElementsHidden = false
246+
sortSegmentedControl?.isEnabled = true
231247
sortButton?.isHidden = true
248+
sortButton?.accessibilityElementsHidden = true
249+
sortButton?.isEnabled = false
232250
}
251+
252+
UIAccessibility.post(notification: .layoutChanged, argument: nil)
233253
}
234254

235255
// MARK: - Sort Direction Title

0 commit comments

Comments
 (0)