Skip to content

Commit

Permalink
[milestone/11.11.0] Milestone 11.11.0 (#1148)
Browse files Browse the repository at this point in the history
* Changed app version to value 11.11.0

* [feature/theme-dark-web] New Dark Mode Themes (#1145)

* [fix/video-artwork] Metadata Image overlays Video Player (#1147)

* #5296 in some cases the video player does not show the video, because if a metadata image was available, an image view was overlaying over the video. Now the metadata image will only shown, if item is not a video file.

* added changelog entry

* Calens changelog updated

Co-authored-by: Matthias Hühne <>
Co-authored-by: hosy <[email protected]>

* Calens changelog updated

* - respect files.privateLinks capabilities and do not offer to create private links when privateLinks are not supported (#1139)

* [fix/enable-markup-iOS16] Enabling Markup Mode on iOS 16 (#1152)

* #1141 fixes enabling markup mode on iOS 16

* added changelog entry

* Calens changelog updated

* In some cases the number of toolbar buttons are less than 4

* Calens changelog updated

Co-authored-by: Matthias Hühne <>
Co-authored-by: hosy <[email protected]>

* changed new dark theme button background color

* fixed cancel button style in passcode setup view

* - fixes AVPlayerViewController controls not being visible on iOS 16 (finding "iOS 3" in #1141 (comment)) (#1157)

* fixed some UIAlertController declarations, which were not themed in the UI and replaced it with subclass ThemedAlertController

* [fix/share-extension-passcode-lock-interval] Share Extension Passcode Lock Interval (#1156)

* [translation-sync] Translation Sync (#1150)

* Transifex translation updates

* [tx] updated from transifex
* updated to latest SDK commit

Co-authored-by: ownClouders <[email protected]>
Co-authored-by: Matthias Hühne <>

* - added missing changelog files
- added in-app release notes

* Calens changelog updated

* generated updated fastlane release notes

* moved changelog files to release folder

* Calens changelog updated

Co-authored-by: Matthias Hühne <>
Co-authored-by: hosy <[email protected]>
Co-authored-by: Felix Schwarz <[email protected]>
Co-authored-by: ownClouders <[email protected]>
  • Loading branch information
4 people committed Sep 26, 2022
1 parent 3043ae7 commit 2473b83
Show file tree
Hide file tree
Showing 94 changed files with 307 additions and 66 deletions.
1 change: 0 additions & 1 deletion .tx/config
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,3 @@ lang_map = cs_CZ: cs, de_DE: de-DE, en_GB: en-GB, nb_NO: nb-NO, nn_NO: nn-NO, pt
source_file = fastlane/screenshots/en/title.strings
source_lang = en
type = STRINGS

54 changes: 54 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
Changelog for ownCloud iOS Client [11.11.0] (2022-09-26)
=======================================
The following sections list the changes in ownCloud iOS Client 11.11.0 relevant to
ownCloud admins and users.

[11.11.0]: https://github.com/owncloud/ios-app/compare/milestone/11.10.1...milestone/11.11.0

Summary
-------

* Bugfix - Respect privateLinks capability: [#1138](https://github.com/owncloud/ios-app/issues/1138)
* Bugfix - Enabling Markup Mode, Showing Video Controls on iOS 16, Updating Theme: [#1141](https://github.com/owncloud/ios-app/issues/1141)
* Bugfix - Share Extension Passcode Lock Interval: [#1156](https://github.com/owncloud/ios-app/issues/1156)
* Bugfix - Video Metadata Image: [#5296](https://github.com/owncloud/enterprise/issues/5296)
* Change - New Dark Mode Themes: [#1146](https://github.com/owncloud/ios-app/issues/1146)

Details
-------

* Bugfix - Respect privateLinks capability: [#1138](https://github.com/owncloud/ios-app/issues/1138)

Respect files.privateLinks capability and do not offer to create private links when
privateLinks are not supported.

https://github.com/owncloud/ios-app/issues/1138

* Bugfix - Enabling Markup Mode, Showing Video Controls on iOS 16, Updating Theme: [#1141](https://github.com/owncloud/ios-app/issues/1141)

Enabling markup mode was broken on iOS 16 because of rearranged navigation bar and toolbar
items. Video player controls were not showing on iOS 16. Furthermore when a new theme was
chosen, this causes that the UITabBar and UIToolbar does not updates colours.

https://github.com/owncloud/ios-app/issues/1141

* Bugfix - Share Extension Passcode Lock Interval: [#1156](https://github.com/owncloud/ios-app/issues/1156)

The passcode lock interval was not taken into use in the share extension.

https://github.com/owncloud/ios-app/issues/1156

* Bugfix - Video Metadata Image: [#5296](https://github.com/owncloud/enterprise/issues/5296)

If a video file includes a metadata image, the video file was not visible, because the metadata
image was overlaying.

https://github.com/owncloud/enterprise/issues/5296

* Change - New Dark Mode Themes: [#1146](https://github.com/owncloud/ios-app/issues/1146)

Adds a new dark mode theme which is mostly equal to the web UI dark mode theme. Furthermore it adds
a black dark mode theme.

https://github.com/owncloud/ios-app/issues/1146

Changelog for ownCloud iOS Client [11.10.1] (2022-08-02)
=======================================
The following sections list the changes in ownCloud iOS Client 11.10.1 relevant to
Expand Down
5 changes: 5 additions & 0 deletions changelog/11.11.0_2022-09-26/1138
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Respect privateLinks capability

Respect files.privateLinks capability and do not offer to create private links when privateLinks are not supported.

https://github.com/owncloud/ios-app/issues/1138
7 changes: 7 additions & 0 deletions changelog/11.11.0_2022-09-26/1141
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Bugfix: Enabling Markup Mode, Showing Video Controls on iOS 16, Updating Theme

Enabling markup mode was broken on iOS 16 because of rearranged navigation bar and toolbar items.
Video player controls were not showing on iOS 16.
Furthermore when a new theme was chosen, this causes that the UITabBar and UIToolbar does not updates colours.

https://github.com/owncloud/ios-app/issues/1141
5 changes: 5 additions & 0 deletions changelog/11.11.0_2022-09-26/1146
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: New Dark Mode Themes

Adds a new dark mode theme which is mostly equal to the web UI dark mode theme. Furthermore it adds a black dark mode theme.

https://github.com/owncloud/ios-app/issues/1146
5 changes: 5 additions & 0 deletions changelog/11.11.0_2022-09-26/1156
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Share Extension Passcode Lock Interval

The passcode lock interval was not taken into use in the share extension.

https://github.com/owncloud/ios-app/issues/1156
5 changes: 5 additions & 0 deletions changelog/11.11.0_2022-09-26/5296
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bugfix: Video Metadata Image

If a video file includes a metadata image, the video file was not visible, because the metadata image was overlaying.

https://github.com/owncloud/enterprise/issues/5296
Binary file modified doc/images/el/keyword.strings
Binary file not shown.
Binary file modified doc/images/el/title.strings
Binary file not shown.
Binary file added doc/images/ko/keyword.strings
Binary file not shown.
Binary file added doc/images/ko/title.strings
Binary file not shown.
16 changes: 14 additions & 2 deletions fastlane/metadata-emm/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
• Available Offline Folders
Shows the contents of the available folders when offline.
• New Dark Mode Themes
Two new dark mode themes are available.

• iOS 16: Markup Mode
Markup mode was not enabled automatically on iOS 16.

• iOS 16: Video Player
Video player controls were not showing on iOS 16.

• Video Player
Metadata image could overlay the video player canvas.

• Passcode Interval
The passcode lock interval was not taken into use in the share extension.

16 changes: 14 additions & 2 deletions fastlane/metadata-owncloud-online/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
• Available Offline Folders
Shows the contents of the available folders when offline.
• New Dark Mode Themes
Two new dark mode themes are available.

• iOS 16: Markup Mode
Markup mode was not enabled automatically on iOS 16.

• iOS 16: Video Player
Video player controls were not showing on iOS 16.

• Video Player
Metadata image could overlay the video player canvas.

• Passcode Interval
The passcode lock interval was not taken into use in the share extension.

16 changes: 14 additions & 2 deletions fastlane/metadata/en-US/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
• Available Offline Folders
Shows the contents of the available folders when offline.
• New Dark Mode Themes
Two new dark mode themes are available.

• iOS 16: Markup Mode
Markup mode was not enabled automatically on iOS 16.

• iOS 16: Video Player
Video player controls were not showing on iOS 16.

• Video Player
Metadata image could overlay the video player canvas.

• Passcode Interval
The passcode lock interval was not taken into use in the share extension.

Binary file added fastlane/screenshots/ar/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/ar/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/ca/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/de-DE/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/de-DE/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/de/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/de/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/de_CH/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/de_CH/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/el/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/el/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/en-GB/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/en-GB/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/es/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/es/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/et_EE/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/eu/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/eu/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/fr/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/gl/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/gl/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/he/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/he/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/km/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/ko/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/ko/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/lv/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/pt-BR/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/pt-BR/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/ru/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/ru/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/sq/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/sq/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/th-TH/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/th-TH/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/tr/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/tr/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/ur_PK/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/zh-Hans/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/zh-Hans/title.strings
Binary file not shown.
Binary file added fastlane/screenshots/zh_TW/keyword.strings
Binary file not shown.
Binary file added fastlane/screenshots/zh_TW/title.strings
Binary file not shown.
25 changes: 20 additions & 5 deletions ownCloud Share Extension/ShareViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,14 @@ class ShareViewController: MoreStaticTableViewController {
// Share extension allowed
if !willAppearInitial {
willAppearInitial = true

if AppLockManager.supportedOnDevice {
AppLockManager.shared.showLockscreenIfNeeded()
}
if AppLockManager.supportedOnDevice {
AppLockManager.shared.showLockscreenIfNeeded()
}

if let appexNavigationController = self.navigationController as? AppExtensionNavigationController {
appexNavigationController.dismissalAction = { [weak self] (_) in
AppLockManager.shared.appDidEnterBackground()
self?.returnCores(completion: {
Log.debug("Returned all cores (share sheet was closed / dismissed)")
})
Expand Down Expand Up @@ -96,6 +97,18 @@ class ShareViewController: MoreStaticTableViewController {
didAppearInitial = true
}
}

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if didAppearInitial {
AppLockManager.shared.appDidEnterBackground()
}
}

@objc open override func dismissAnimated() {
AppLockManager.shared.appDidEnterBackground()
super.dismissAnimated()
}

private var requestedCoreBookmarks : [OCBookmark] = []

Expand Down Expand Up @@ -146,6 +159,7 @@ class ShareViewController: MoreStaticTableViewController {
}

@objc private func cancelAction () {
AppLockManager.shared.appDidEnterBackground()
self.returnCores(completion: {
let error = NSError(domain: NSErrorDomain.ShareViewErrorDomain, code: 0, userInfo: [NSLocalizedDescriptionKey: "Canceled by user"])
self.extensionContext?.cancelRequest(withError: error)
Expand All @@ -172,6 +186,7 @@ class ShareViewController: MoreStaticTableViewController {

for (bookmark) in bookmarks {
let row = StaticTableViewRow(buttonWithAction: { (_ row, _ sender) in
self.didAppearInitial = false
self.openDirectoryPicker(for: bookmark, withBackButton: true)
}, title: bookmark.shortName, style: .plain, image: UIImage(named: "bookmark-icon")?.scaledImageFitting(in: CGSize(width: 25.0, height: 25.0)), imageWidth: 25, alignment: .left)
actionsRows.append(row)
Expand Down Expand Up @@ -249,7 +264,7 @@ class ShareViewController: MoreStaticTableViewController {
func showAlert(title: String?, message: String? = nil, error: Error? = nil, decisionHandler: @escaping ((_ continue: Bool) -> Void)) {
OnMainThread {
let message = message ?? ((error != nil) ? error?.localizedDescription : nil)
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
let alert = ThemedAlertController(title: title, message: message, preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: { (_) in
decisionHandler(false)
Expand Down
8 changes: 4 additions & 4 deletions ownCloud.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -4686,8 +4686,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.10.1;
APP_VERSION = 226;
APP_SHORT_VERSION = 11.11.0;
APP_VERSION = 229;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down Expand Up @@ -4755,8 +4755,8 @@
APP_BUILD_FLAGS = "$(inherited)";
APP_BUILD_FLAGS_SWIFT = "$(APP_BUILD_FLAGS)";
APP_PRODUCT_NAME = ownCloud;
APP_SHORT_VERSION = 11.10.1;
APP_VERSION = 226;
APP_SHORT_VERSION = 11.11.0;
APP_VERSION = 229;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class PresentationModeAction: Action {
}

if !DisplaySleepPreventer.shared.isPreventing(for: PresentationModeAction.reason) {
let alertController = UIAlertController(title: "Presentation Mode".localized, message: "Enabling presentation mode will prevent the display from sleep mode until the view is closed.".localized, preferredStyle: .alert)
let alertController = ThemedAlertController(title: "Presentation Mode".localized, message: "Enabling presentation mode will prevent the display from sleep mode until the view is closed.".localized, preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
alertController.addAction(UIAlertAction(title: "Enable".localized, style: .default, handler: { (_) in
DisplaySleepPreventer.shared.startPreventingDisplaySleep(for: PresentationModeAction.reason)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ class UploadMediaAction: UploadBaseAction {
if granted {
self.presentImageGalleryPicker()
} else {
let alert = UIAlertController.alertControllerForPhotoLibraryAuthorizationInSettings()
let alert = ThemedAlertController.alertControllerForPhotoLibraryAuthorizationInSettings()
viewController.present(alert, animated: true)
self.completed()
}
Expand Down
13 changes: 12 additions & 1 deletion ownCloud/Client/Actions/EditDocumentViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,18 @@ class EditDocumentViewController: QLPreviewController, Themeable {

@objc func enableEditingMode() {
// Activate editing mode by performing the action on pencil icon. Unfortunately that's the only way to do it apparently
if #available(iOS 15.0, *) {
if #available(iOS 16.0, *) {
if self.navigationItem.rightBarButtonItems?.count ?? 0 > 3 {
guard let markupButton = self.navigationItem.rightBarButtonItems?[0] else { return }
_ = markupButton.target?.perform(markupButton.action, with: markupButton)
} else if self.toolbarItems?.count ?? 0 > 4 {
guard let markupButton = self.toolbarItems?[4] else { return }
_ = markupButton.target?.perform(markupButton.action, with: markupButton)
} else if self.toolbarItems?.count ?? 0 < 4 {
guard let markupButton = self.toolbarItems?[2] else { return }
_ = markupButton.target?.perform(markupButton.action, with: markupButton)
}
} else if #available(iOS 15.0, *) {
if self.navigationItem.rightBarButtonItems?.count ?? 0 > 2 {
guard let markupButton = self.navigationItem.rightBarButtonItems?[1] else { return }
_ = markupButton.target?.perform(markupButton.action, with: markupButton)
Expand Down
3 changes: 1 addition & 2 deletions ownCloud/Client/ClientRootViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -495,8 +495,7 @@ class ClientRootViewController: UITabBarController, BookmarkContainer, ToolAndTa
extension ClientRootViewController : Themeable {
func applyThemeCollection(theme: Theme, collection: ThemeCollection, event: ThemeEvent) {
self.tabBar.applyThemeCollection(collection)

self.toolbar?.applyThemeCollection(Theme.shared.activeCollection)
self.toolbar?.applyThemeCollection(collection)

self.view.backgroundColor = collection.tableBackgroundColor
}
Expand Down
2 changes: 1 addition & 1 deletion ownCloud/Client/Viewer/DisplayViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ class DisplayViewController: UIViewController, Themeable, OCQueryDelegate {
switch updateStrategy {
case .ask:
OnMainThread {
let alert = UIAlertController(title: NSString(format: "%@ was updated".localized as NSString, item.name ?? "File".localized) as String, message: "Would you like to view the updated version?".localized, preferredStyle: .alert)
let alert = ThemedAlertController(title: NSString(format: "%@ was updated".localized as NSString, item.name ?? "File".localized) as String, message: "Would you like to view the updated version?".localized, preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "Show new version".localized, style: .default, handler: { [weak self] (_) in
self?.updateStrategy = .ask
Expand Down
47 changes: 30 additions & 17 deletions ownCloud/Client/Viewer/Media/MediaDisplayViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,16 @@ import ownCloudSDK
import ownCloudAppShared
import CoreServices

extension AVPlayer {
var isAudioAvailable: Bool? {
return self.currentItem?.asset.tracks.filter({$0.mediaType == .audio}).count != 0
}

var isVideoAvailable: Bool? {
return self.currentItem?.asset.tracks.filter({$0.mediaType == .video}).count != 0
}
}

class MediaDisplayViewController : DisplayViewController {

static let MediaPlaybackFinishedNotification = NSNotification.Name("media_playback.finished")
Expand Down Expand Up @@ -63,6 +73,23 @@ class MediaDisplayViewController : DisplayViewController {
override func viewDidLoad() {
super.viewDidLoad()

playerViewController = AVPlayerViewController()

guard let playerViewController = playerViewController else { return }

addChild(playerViewController)
self.view.addSubview(playerViewController.view)
playerViewController.didMove(toParent: self)

playerViewController.view.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
playerViewController.view.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor),
playerViewController.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor),
playerViewController.view.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
playerViewController.view.trailingAnchor.constraint(equalTo: self.view.trailingAnchor)
])

NotificationCenter.default.addObserver(self, selector: #selector(handleDidEnterBackgroundNotification), name: UIApplication.didEnterBackgroundNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleWillEnterForegroundNotification), name: UIApplication.willEnterForegroundNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleAVPlayerItem(notification:)), name: Notification.Name.AVPlayerItemDidPlayToEndTime, object: nil)
Expand Down Expand Up @@ -121,32 +148,18 @@ class MediaDisplayViewController : DisplayViewController {
if player == nil {
player = AVPlayer(playerItem: playerItem)
player?.allowsExternalPlayback = true
playerViewController = AVPlayerViewController()
if let playerViewController = self.playerViewController {
playerViewController.updatesNowPlayingInfoCenter = false

if UIApplication.shared.applicationState == .active {
playerViewController.player = player
}

addChild(playerViewController)
self.view.addSubview(playerViewController.view)
playerViewController.didMove(toParent: self)

playerViewController.view.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
playerViewController.view.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor),
playerViewController.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor),
playerViewController.view.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
playerViewController.view.trailingAnchor.constraint(equalTo: self.view.trailingAnchor)
])
}

// Add artwork to the player overlay if corresponding meta data item is available in the asset
if let artworkMetadataItem = asset.commonMetadata.filter({$0.commonKey == AVMetadataKey.commonKeyArtwork}).first,
let imageData = artworkMetadataItem.dataValue,
let overlayView = playerViewController?.contentOverlayView {
if !(player?.isVideoAvailable ?? false), let artworkMetadataItem = asset.commonMetadata.filter({$0.commonKey == AVMetadataKey.commonKeyArtwork}).first,
let imageData = artworkMetadataItem.dataValue,
let overlayView = playerViewController?.contentOverlayView {

if let artworkImage = UIImage(data: imageData) {

Expand Down
2 changes: 1 addition & 1 deletion ownCloud/Licensing/Offers/LicenseOfferView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ class LicenseOfferView: UIView, Themeable {
OnMainThread {
guard let self = self else { return }

let alertController = UIAlertController(title: "Purchase failed".localized, message: error.localizedDescription, preferredStyle: .alert)
let alertController = ThemedAlertController(title: "Purchase failed".localized, message: error.localizedDescription, preferredStyle: .alert)

let nsError = error as NSError
if nsError.domain == OCLicenseAppStoreProviderErrorDomain, nsError.code == OCLicenseAppStoreProviderError.purchasesNotAllowedForVPPCopies.rawValue {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class LicenseTransactionsViewController: StaticTableViewController {
func fetchTransactions() {
OCLicenseManager.shared.retrieveAllTransactions(completionHandler: { (error, transactionsByProvider) in
if let error = error {
let alert = UIAlertController(title: "Error fetching transactions".localized, message: error.localizedDescription, preferredStyle: .alert)
let alert = ThemedAlertController(title: "Error fetching transactions".localized, message: error.localizedDescription, preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "OK".localized, style: .default, handler: nil))

Expand Down
Loading

0 comments on commit 2473b83

Please sign in to comment.