@@ -24,14 +24,14 @@ final class NodeOpener {
24
24
25
25
switch megaNode. isFolder ( ) {
26
26
case true : openFolderNode ( megaNode, config: config)
27
- case false : openFileNode ( megaNode, allNodes: allMegaNodes)
27
+ case false : openFileNode ( megaNode, allNodes: allMegaNodes, displayMode : config . displayMode )
28
28
}
29
29
}
30
30
31
31
func openNode( node: MEGANode , allNodes: [ MEGANode ] ? , config: CloudDriveViewControllerFactory . NodeBrowserConfig = . default) {
32
32
switch node. isFolder ( ) {
33
33
case true : openFolderNode ( node, config: config)
34
- case false : openFileNode ( node, allNodes: allNodes)
34
+ case false : openFileNode ( node, allNodes: allNodes, displayMode : config . displayMode )
35
35
}
36
36
}
37
37
@@ -53,7 +53,7 @@ final class NodeOpener {
53
53
54
54
// MARK: - Private
55
55
56
- private func openFileNode( _ node: MEGANode , allNodes: [ MEGANode ] ? ) {
56
+ private func openFileNode( _ node: MEGANode , allNodes: [ MEGANode ] ? , displayMode : DisplayMode ? ) {
57
57
guard node. name? . fileExtensionGroup. isVisualMedia == true else {
58
58
node. mnz_open ( in: navigationController, folderLink: false , fileLink: nil , messageId: nil , chatId: nil , allNodes: allNodes)
59
59
return
@@ -62,10 +62,13 @@ final class NodeOpener {
62
62
let nodes = allNodes ?? [ node]
63
63
let index = nodes. firstIndex ( where: { $0. handle == node. handle } ) ?? 0
64
64
let mediaNodes = NSMutableArray ( array: nodes)
65
+ let isOwner = sdk. accessLevel ( for: node) == . accessOwner
66
+ let passedThroughDisplayMode : DisplayMode = displayMode? . carriedOverDisplayMode ?? . cloudDrive
67
+ let displayMode : DisplayMode = isOwner ? passedThroughDisplayMode : . sharedItem
65
68
let photoBrowserForMediaNode = MEGAPhotoBrowserViewController . photoBrowser (
66
69
withMediaNodes: mediaNodes,
67
70
api: MEGASdk . sharedSdk,
68
- displayMode: . cloudDrive ,
71
+ displayMode: displayMode ,
69
72
preferredIndex: UInt ( truncatingIfNeeded: index)
70
73
)
71
74
navigationController? . present ( photoBrowserForMediaNode, animated: true , completion: nil )
0 commit comments