Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pro Photo Upload Settings #759

Merged
merged 54 commits into from
Sep 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
2a2ad2f
Started implementing EXIF metadata viewer
Jul 1, 2020
1f74d6f
Conversion of APEX units. EXIF AUX section
Jul 2, 2020
8ba636d
Added histogram created with CoreImage
Jul 2, 2020
464f20b
Using more appropriate image creation method
Jul 6, 2020
dbabfbf
Added GPS location parsing / presentation
Jul 6, 2020
1eaa6f9
Made image details formatting more compact
Jul 6, 2020
3f72d49
Added header with image thumbnail, file size info
Jul 9, 2020
324b896
Added TIFF meta-data
Jul 9, 2020
06950ec
Merge branch 'milestone/1.4' into exif_metadata
hosy Jul 9, 2020
6fed7a3
Added TIFF:PhotometricInterpretation mapping
Jul 9, 2020
47b6427
Merge branch 'exif_metadata' of https://github.com/owncloud/ios-app i…
Jul 9, 2020
0d6668b
Small fixes in the EXIF meta data view
Jul 10, 2020
adbb541
Moved GPS data to the top, improved exposure bias formatting
Jul 10, 2020
108cd44
few text formatting fixes
Jul 13, 2020
b5d8f45
Layout changes to make metadata view look nicer on iPad
Jul 15, 2020
1dd8f28
Pro photo features configured as IAP
Jul 15, 2020
dc066ad
Localization changes
Jul 16, 2020
66b514c
Fixed wrong text formatting
Jul 21, 2020
1c947e1
Merge remote-tracking branch 'origin/exif_metadata' into pro_photo_fe…
Jul 24, 2020
22c9e2f
Started implemented pro photo upload settings
Jul 24, 2020
5738b9b
Added extended photo upload settings
Jul 24, 2020
9999dd8
First functioning implementation
Jul 27, 2020
b7dcd64
Fixed issue with image preview rotation
Jul 27, 2020
c7fce7c
Fixed rotation issue in image preview
Jul 27, 2020
003f8a6
Fixed incorrect image dimensions in case of RAW photo
Jul 27, 2020
2cf65e9
Added a RAW photo badge in photo picker
Jul 29, 2020
a5390a7
Added ‘Pro Photo’ IAP as a single purchasable product
Jul 31, 2020
4a98944
Merge remote-tracking branch 'origin/exif_metadata' into feature/pro_…
Jul 31, 2020
6e0d621
Changed wording and added localized strings
Jul 31, 2020
3cdc037
Check user eligibility for using pro photo upload features
Aug 3, 2020
4c50d61
Fixed code review findings
Aug 4, 2020
a1bda90
Fixed review findings
Aug 26, 2020
86f84b7
Changed app store IAP identifier for Pro Photo package
Aug 26, 2020
c925dc0
Merge branch 'milestone/11.4.1' into exif_metadata
Aug 31, 2020
de59ce4
Update oC SDK
Aug 31, 2020
6f54fb1
Fixed issues with previously merged code not buildable
Sep 1, 2020
a889496
Merge remote-tracking branch 'origin/milestone/11.4.1' into exif_meta…
Sep 13, 2020
e2d1992
Merge remote-tracking branch 'origin/milestone/11.4.1' into feature/p…
Sep 13, 2020
c8eb89d
Updated oc SDK
Sep 13, 2020
905f485
Merged latest changes and made branch buildable again
Sep 13, 2020
2eb113c
Merge remote-tracking branch 'origin/exif_metadata' into feature/pro_…
Sep 13, 2020
3dca155
Merge remote-tracking branch 'origin/milestone/11.4.1' into feature/p…
felix-schwarz Sep 15, 2020
42eba22
- revert reverted changes in ownCloud File Provider/OCItem+FileProvid…
felix-schwarz Sep 15, 2020
e8ca954
- revert logging-related reverts performed by 72c2d80aef726f9a18a97cc…
felix-schwarz Sep 15, 2020
f07b9bb
- revert bugfix removal originating from 905f485
felix-schwarz Sep 15, 2020
06a5948
Avoid recomputing badge images used in table view cells
Sep 16, 2020
3364b13
Corrected review findings
Sep 16, 2020
a8381af
Fixed latest review findings
Sep 17, 2020
325a8e3
Made code more reliable in terms of reacting to account changes in a …
Sep 18, 2020
0112183
Merge remote-tracking branch 'origin/milestone/11.4.1' into feature/p…
Sep 23, 2020
706c7dc
Changed the logic how photo resource is chosen for export
Sep 23, 2020
5dfcb12
More robust detection of RAW assets
Sep 23, 2020
612fe29
Don’t show prefer RAW option if there is no camera on board which wou…
Sep 23, 2020
c17fc0c
Fixed compilation issues with Xcode 11.7
Sep 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: 9075b8f92281024401a0039c3477c9a16650b092

COCOAPODS: 1.8.4
COCOAPODS: 1.9.3
2 changes: 1 addition & 1 deletion ios-sdk
Submodule ios-sdk updated 1 files
+1 −1 doc/CONFIGURATION.md
2 changes: 1 addition & 1 deletion ownCloud File Provider/OCItem+FileProviderItem.m
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ - (NSString *)filename

@"mindnode" : @"com.mindnode.mindnode.mindmap",
@"itmz" : @"com.toketaware.uti.ithoughts.itmz",

@"pdf" : @"com.adobe.pdf"
};
});
Expand Down
10 changes: 5 additions & 5 deletions ownCloud Intents/CreateFolderIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class CreateFolderIntentHandler: NSObject, CreateFolderIntentHandling {

public func handle(intent: CreateFolderIntent, completion: @escaping (CreateFolderIntentResponse) -> Void) {
public func handle(intent: CreateFolderIntent, completion: @escaping (CreateFolderIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(CreateFolderIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -83,27 +83,27 @@ public class CreateFolderIntentHandler: NSObject, CreateFolderIntentHandling {
}
}

public func resolveName(for intent: CreateFolderIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolveName(for intent: CreateFolderIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let name = intent.name {
completion(INStringResolutionResult.success(with: name))
} else {
completion(INStringResolutionResult.needsValue())
}
}

public func resolveAccount(for intent: CreateFolderIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
public func resolveAccount(for intent: CreateFolderIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
if let account = intent.account {
completion(AccountResolutionResult.success(with: account))
} else {
completion(AccountResolutionResult.needsValue())
}
}

public func provideAccountOptions(for intent: CreateFolderIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
public func provideAccountOptions(for intent: CreateFolderIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
completion(OCBookmarkManager.shared.accountList, nil)
}

public func resolvePath(for intent: CreateFolderIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: CreateFolderIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
} else {
Expand Down
8 changes: 4 additions & 4 deletions ownCloud Intents/DeletePathItemIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class DeletePathItemIntentHandler: NSObject, DeletePathItemIntentHandling {

public func handle(intent: DeletePathItemIntent, completion: @escaping (DeletePathItemIntentResponse) -> Void) {
public func handle(intent: DeletePathItemIntent, completion: @escaping (DeletePathItemIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(DeletePathItemIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -72,19 +72,19 @@ public class DeletePathItemIntentHandler: NSObject, DeletePathItemIntentHandling
}
}

public func resolveAccount(for intent: DeletePathItemIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
public func resolveAccount(for intent: DeletePathItemIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
if let account = intent.account {
completion(AccountResolutionResult.success(with: account))
} else {
completion(AccountResolutionResult.needsValue())
}
}

public func provideAccountOptions(for intent: DeletePathItemIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
public func provideAccountOptions(for intent: DeletePathItemIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
completion(OCBookmarkManager.shared.accountList, nil)
}

public func resolvePath(for intent: DeletePathItemIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: DeletePathItemIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
} else {
Expand Down
6 changes: 3 additions & 3 deletions ownCloud Intents/GetAccountIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class GetAccountIntentHandler: NSObject, GetAccountIntentHandling {

public func handle(intent: GetAccountIntent, completion: @escaping (GetAccountIntentResponse) -> Void) {
public func handle(intent: GetAccountIntent, completion: @escaping (GetAccountIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(GetAccountIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -54,15 +54,15 @@ public class GetAccountIntentHandler: NSObject, GetAccountIntentHandling {
completion(GetAccountIntentResponse.success(account: account))
}

public func resolveAccountUUID(for intent: GetAccountIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolveAccountUUID(for intent: GetAccountIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let account = intent.accountUUID {
completion(INStringResolutionResult.success(with: account))
} else {
completion(INStringResolutionResult.needsValue())
}
}

public func confirm(intent: GetAccountIntent, completion: @escaping (GetAccountIntentResponse) -> Void) {
private func confirm(intent: GetAccountIntent, completion: @escaping (GetAccountIntentResponse) -> Void) {
completion(GetAccountIntentResponse(code: .ready, userActivity: nil))
}
}
Expand Down
4 changes: 2 additions & 2 deletions ownCloud Intents/GetAccountsIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class GetAccountsIntentHandler: NSObject, GetAccountsIntentHandling {

public func handle(intent: GetAccountsIntent, completion: @escaping (GetAccountsIntentResponse) -> Void) {
public func handle(intent: GetAccountsIntent, completion: @escaping (GetAccountsIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(GetAccountsIntentResponse(code: .disabled, userActivity: nil))
Expand All @@ -42,7 +42,7 @@ public class GetAccountsIntentHandler: NSObject, GetAccountsIntentHandling {
completion(GetAccountsIntentResponse.success(accountList: OCBookmarkManager.shared.accountList))
}

public func confirm(intent: GetAccountsIntent, completion: @escaping (GetAccountsIntentResponse) -> Void) {
private func confirm(intent: GetAccountsIntent, completion: @escaping (GetAccountsIntentResponse) -> Void) {
completion(GetAccountsIntentResponse(code: .ready, userActivity: nil))
}
}
Expand Down
4 changes: 2 additions & 2 deletions ownCloud Intents/GetDirectoryListingIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class GetDirectoryListingIntentHandler: NSObject, GetDirectoryListingInte

var completion : GetDirectoryListingCompletionHandler?

public func resolvePath(for intent: GetDirectoryListingIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: GetDirectoryListingIntent, with completion: @escaping (INStringResolutionResult) -> Void) {

if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
Expand Down Expand Up @@ -124,7 +124,7 @@ public class GetDirectoryListingIntentHandler: NSObject, GetDirectoryListingInte
self.completion?(GetDirectoryListingIntentResponse(code: .failure, userActivity: nil))
}

public func confirm(intent: GetDirectoryListingIntent, completion: @escaping (GetDirectoryListingIntentResponse) -> Void) {
private func confirm(intent: GetDirectoryListingIntent, completion: @escaping (GetDirectoryListingIntentResponse) -> Void) {
completion(GetDirectoryListingIntentResponse(code: .ready, userActivity: nil))
}
}
Expand Down
8 changes: 4 additions & 4 deletions ownCloud Intents/GetFileIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ typealias GetFileCompletionHandler = (GetFileIntentResponse) -> Void
@available(iOS 13.0, *)
public class GetFileIntentHandler: NSObject, GetFileIntentHandling {

public func handle(intent: GetFileIntent, completion: @escaping (GetFileIntentResponse) -> Void) {
public func handle(intent: GetFileIntent, completion: @escaping (GetFileIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(GetFileIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -77,7 +77,7 @@ public class GetFileIntentHandler: NSObject, GetFileIntentHandling {
}
}

public func resolvePath(for intent: GetFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: GetFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {

if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
Expand All @@ -86,11 +86,11 @@ public class GetFileIntentHandler: NSObject, GetFileIntentHandling {
}
}

public func provideAccountOptions(for intent: GetFileIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
public func provideAccountOptions(for intent: GetFileIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
completion(OCBookmarkManager.shared.accountList, nil)
}

public func resolveAccount(for intent: GetFileIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
public func resolveAccount(for intent: GetFileIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
if let account = intent.account {
completion(AccountResolutionResult.success(with: account))
} else {
Expand Down
4 changes: 2 additions & 2 deletions ownCloud Intents/OCBookmarkManager+Extension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import ownCloudSDK
@available(iOS 13.0, *)
extension OCBookmarkManager {

public var accountList : [Account] {
var accountList : [Account] {
var accountList : [Account] = []
accountList = OCBookmarkManager.shared.bookmarks.map { (bookmark) -> Account in
let account = Account(identifier: bookmark.uuid.uuidString, display: bookmark.shortName)
Expand All @@ -40,7 +40,7 @@ extension OCBookmarkManager {
return OCBookmarkManager.shared.bookmarks.filter({ $0.uuid.uuidString == uuidString}).first
}

public func accountBookmark(for uuidString: String) -> (OCBookmark, Account)? {
func accountBookmark(for uuidString: String) -> (OCBookmark, Account)? {
if let bookmark = bookmark(for: uuidString) {
let account = Account(identifier: bookmark.uuid.uuidString, display: bookmark.shortName)
account.name = bookmark.shortName
Expand Down
8 changes: 4 additions & 4 deletions ownCloud Intents/PathExistsIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class PathExistsIntentHandler: NSObject, PathExistsIntentHandling {

public func handle(intent: PathExistsIntent, completion: @escaping (PathExistsIntentResponse) -> Void) {
public func handle(intent: PathExistsIntent, completion: @escaping (PathExistsIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(PathExistsIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -62,19 +62,19 @@ public class PathExistsIntentHandler: NSObject, PathExistsIntentHandling {
}
}

public func resolveAccount(for intent: PathExistsIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
public func resolveAccount(for intent: PathExistsIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
if let account = intent.account {
completion(AccountResolutionResult.success(with: account))
} else {
completion(AccountResolutionResult.needsValue())
}
}

public func provideAccountOptions(for intent: PathExistsIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
public func provideAccountOptions(for intent: PathExistsIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
completion(OCBookmarkManager.shared.accountList, nil)
}

public func resolvePath(for intent: PathExistsIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: PathExistsIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
} else {
Expand Down
16 changes: 8 additions & 8 deletions ownCloud Intents/SaveFileIntentHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ownCloudAppShared
@available(iOS 13.0, *)
public class SaveFileIntentHandler: NSObject, SaveFileIntentHandling {

public func handle(intent: SaveFileIntent, completion: @escaping (SaveFileIntentResponse) -> Void) {
public func handle(intent: SaveFileIntent, completion: @escaping (SaveFileIntentResponse) -> Void) {

guard IntentSettings.shared.isEnabled else {
completion(SaveFileIntentResponse(code: .disabled, userActivity: nil))
Expand Down Expand Up @@ -115,43 +115,43 @@ public class SaveFileIntentHandler: NSObject, SaveFileIntentHandling {
}
}

public func provideAccountOptions(for intent: SaveFileIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
public func provideAccountOptions(for intent: SaveFileIntent, with completion: @escaping ([Account]?, Error?) -> Void) {
completion(OCBookmarkManager.shared.accountList, nil)
}

public func resolveAccount(for intent: SaveFileIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
public func resolveAccount(for intent: SaveFileIntent, with completion: @escaping (AccountResolutionResult) -> Void) {
if let account = intent.account {
completion(AccountResolutionResult.success(with: account))
} else {
completion(AccountResolutionResult.needsValue())
}
}

public func resolvePath(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolvePath(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
if let path = intent.path {
completion(INStringResolutionResult.success(with: path))
} else {
completion(INStringResolutionResult.needsValue())
}
}

public func resolveFile(for intent: SaveFileIntent, with completion: @escaping (INFileResolutionResult) -> Void) {
public func resolveFile(for intent: SaveFileIntent, with completion: @escaping (INFileResolutionResult) -> Void) {
if let file = intent.file {
completion(INFileResolutionResult.success(with: file))
} else {
completion(INFileResolutionResult.needsValue())
}
}

public func resolveFilename(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolveFilename(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
completion(INStringResolutionResult.success(with: intent.filename ?? ""))
}

public func resolveFileextension(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
public func resolveFileextension(for intent: SaveFileIntent, with completion: @escaping (INStringResolutionResult) -> Void) {
completion(INStringResolutionResult.success(with: intent.fileextension ?? ""))
}

public func resolveShouldOverwrite(for intent: SaveFileIntent, with completion: @escaping (INBooleanResolutionResult) -> Void) {
public func resolveShouldOverwrite(for intent: SaveFileIntent, with completion: @escaping (INBooleanResolutionResult) -> Void) {
var shouldOverwrite = false
if let overwrite = intent.shouldOverwrite?.boolValue {
shouldOverwrite = overwrite
Expand Down
Loading