From 8f6b8d763af07d76df466d532f45b3db61a55fbb Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Wed, 20 Mar 2019 00:08:59 -0700 Subject: [PATCH 01/17] Updates DriveService client ID --- Delta/Supporting Files/Info.plist | 2 +- Delta/Syncing/SyncManager.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Delta/Supporting Files/Info.plist b/Delta/Supporting Files/Info.plist index d06bc85..5ea0cb6 100644 --- a/Delta/Supporting Files/Info.plist +++ b/Delta/Supporting Files/Info.plist @@ -110,7 +110,7 @@ Editor CFBundleURLSchemes - com.googleusercontent.apps.457607414709-5puj6lcv779gpu3ql43e6k3smjj40dmu + com.googleusercontent.apps.457607414709-7oc45nq59frd7rre6okq22fafftd55g1 diff --git a/Delta/Syncing/SyncManager.swift b/Delta/Syncing/SyncManager.swift index 08c4b2e..c642a1e 100644 --- a/Delta/Syncing/SyncManager.swift +++ b/Delta/Syncing/SyncManager.swift @@ -62,7 +62,7 @@ final class SyncManager private init() { - DriveService.shared.clientID = "457607414709-5puj6lcv779gpu3ql43e6k3smjj40dmu.apps.googleusercontent.com" + DriveService.shared.clientID = "457607414709-7oc45nq59frd7rre6okq22fafftd55g1.apps.googleusercontent.com" NotificationCenter.default.addObserver(self, selector: #selector(SyncManager.syncingDidFinish(_:)), name: SyncCoordinator.didFinishSyncingNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(SyncManager.didEnterBackground(_:)), name: UIApplication.didEnterBackgroundNotification, object: nil) From 483ad6967859a7353206f9bae0185de882101e49 Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Wed, 20 Mar 2019 00:14:12 -0700 Subject: [PATCH 02/17] Adds support for syncing with Dropbox --- Delta.xcodeproj/project.pbxproj | 18 +++ .../xcshareddata/xcschemes/Delta.xcscheme | 4 + Delta/AppDelegate.swift | 5 + Delta/Base.lproj/Settings.storyboard | 87 ++++++---- .../GameCollectionViewController.swift | 8 +- .../Game Selection/GamesViewController.swift | 2 +- Delta/Launch/LaunchViewController.swift | 13 +- Delta/Settings/Settings.swift | 11 +- Delta/Settings/SettingsViewController.swift | 6 +- .../GameSyncStatusViewController.swift | 6 +- .../RecordVersionsViewController.swift | 10 +- .../Syncing/SyncStatusViewController.swift | 4 +- .../SyncingServicesViewController.swift | 149 +++++++++++++----- Delta/Supporting Files/Info.plist | 15 +- Delta/Syncing/SyncManager.swift | 129 ++++++++++++++- External/Harmony | 2 +- External/Roxas | 2 +- 17 files changed, 366 insertions(+), 105 deletions(-) diff --git a/Delta.xcodeproj/project.pbxproj b/Delta.xcodeproj/project.pbxproj index 694716b..5029b42 100644 --- a/Delta.xcodeproj/project.pbxproj +++ b/Delta.xcodeproj/project.pbxproj @@ -33,6 +33,8 @@ BF1173501DA32CF600047DF8 /* ControllersSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF11734F1DA32CF600047DF8 /* ControllersSettingsViewController.swift */; }; BF13A7561D5D29B0000BB055 /* PreviewGameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF13A7551D5D29B0000BB055 /* PreviewGameViewController.swift */; }; BF13A7581D5D2FD9000BB055 /* EmulatorCore+Cheats.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF13A7571D5D2FD9000BB055 /* EmulatorCore+Cheats.swift */; }; + BF144C642238511400C387E1 /* Harmony_Dropbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC6222DF345008038E0 /* Harmony_Dropbox.framework */; }; + BF144C652238511400C387E1 /* Harmony_Dropbox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC6222DF345008038E0 /* Harmony_Dropbox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; BF15AF841F54B43B009B6AAB /* ActionInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF15AF831F54B43B009B6AAB /* ActionInput.swift */; }; BF18B61F1E2985F900F70067 /* UIAlertController+Importing.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF18B61E1E2985F900F70067 /* UIAlertController+Importing.swift */; }; BF1DAD5D1D9F576000E752A7 /* SystemControllerSkinsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1DAD5C1D9F576000E752A7 /* SystemControllerSkinsViewController.swift */; }; @@ -132,6 +134,10 @@ BFD097211D3A01B8005A44C2 /* SaveStatesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3540041C5DA70400C1184C /* SaveStatesViewController.swift */; }; BFDB3418219E4B1700595A62 /* SyncStatusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDB3417219E4B1700595A62 /* SyncStatusViewController.swift */; }; BFDD04F11D5E2C27002D450E /* GameCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDD04F01D5E2C27002D450E /* GameCollectionViewController.swift */; }; + BFDE2CD1222DF36A008038E0 /* SwiftyDropbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC8222DF345008038E0 /* SwiftyDropbox.framework */; }; + BFDE2CD2222DF36A008038E0 /* SwiftyDropbox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC8222DF345008038E0 /* SwiftyDropbox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + BFDE2CD3222DF36A008038E0 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC7222DF345008038E0 /* Alamofire.framework */; }; + BFDE2CD4222DF36A008038E0 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BFDE2CC7222DF345008038E0 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; BFE022A01F5B57FF0052D888 /* PopoverMenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE0229F1F5B577D0052D888 /* PopoverMenuButton.swift */; }; BFE4269E1D9C68E600DC913F /* SaveStatesStoryboardSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE4269D1D9C68E600DC913F /* SaveStatesStoryboardSegue.swift */; }; BFE593CA21F3F8B7003412A6 /* GameSave.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE593C921F3F8B7003412A6 /* GameSave.swift */; }; @@ -161,11 +167,14 @@ dstSubfolderSpec = 10; files = ( BF9F4FD01AAD7B87004C9500 /* DeltaCore.framework in Embed Frameworks */, + BFDE2CD2222DF36A008038E0 /* SwiftyDropbox.framework in Embed Frameworks */, BF48F75C219A1F8A00BC2FC1 /* Harmony_Drive.framework in Embed Frameworks */, BF48F756219A1EF000BC2FC1 /* Harmony.framework in Embed Frameworks */, BFF0742D1E9DC17500ACDF4A /* GBCDeltaCore.framework in Embed Frameworks */, BFEC732E1AAECC4A00650035 /* Roxas.framework in Embed Frameworks */, BF0418151D01E93400E85BCF /* GBADeltaCore.framework in Embed Frameworks */, + BFDE2CD4222DF36A008038E0 /* Alamofire.framework in Embed Frameworks */, + BF144C652238511400C387E1 /* Harmony_Dropbox.framework in Embed Frameworks */, BF98C9832204D9AB006B95AC /* NESDeltaCore.framework in Embed Frameworks */, BF99C6951D0A9AA600BA92BC /* SNESDeltaCore.framework in Embed Frameworks */, BF072011219A3A9D00F05DA4 /* ZIPFoundation.framework in Embed Frameworks */, @@ -293,6 +302,9 @@ BFCEA67D1D56FF640061A534 /* UIViewControllerContextTransitioning+Conveniences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewControllerContextTransitioning+Conveniences.swift"; sourceTree = ""; }; BFDB3417219E4B1700595A62 /* SyncStatusViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncStatusViewController.swift; sourceTree = ""; }; BFDD04F01D5E2C27002D450E /* GameCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameCollectionViewController.swift; sourceTree = ""; }; + BFDE2CC6222DF345008038E0 /* Harmony_Dropbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Harmony_Dropbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BFDE2CC7222DF345008038E0 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BFDE2CC8222DF345008038E0 /* SwiftyDropbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SwiftyDropbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BFE0229F1F5B577D0052D888 /* PopoverMenuButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopoverMenuButton.swift; sourceTree = ""; }; BFE4269D1D9C68E600DC913F /* SaveStatesStoryboardSegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaveStatesStoryboardSegue.swift; sourceTree = ""; }; BFE593C921F3F8B7003412A6 /* GameSave.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameSave.swift; sourceTree = ""; }; @@ -321,11 +333,14 @@ files = ( BF9F4FCF1AAD7B87004C9500 /* DeltaCore.framework in Frameworks */, BFEC732D1AAECC4A00650035 /* Roxas.framework in Frameworks */, + BFDE2CD3222DF36A008038E0 /* Alamofire.framework in Frameworks */, BF48F75B219A1F8A00BC2FC1 /* Harmony_Drive.framework in Frameworks */, BF99C6941D0A9AA600BA92BC /* SNESDeltaCore.framework in Frameworks */, BF98C9822204D9AB006B95AC /* NESDeltaCore.framework in Frameworks */, BF0418141D01E93400E85BCF /* GBADeltaCore.framework in Frameworks */, BF072010219A3A9D00F05DA4 /* ZIPFoundation.framework in Frameworks */, + BFDE2CD1222DF36A008038E0 /* SwiftyDropbox.framework in Frameworks */, + BF144C642238511400C387E1 /* Harmony_Dropbox.framework in Frameworks */, BFF0742C1E9DC17500ACDF4A /* GBCDeltaCore.framework in Frameworks */, BF48F755219A1EF000BC2FC1 /* Harmony.framework in Frameworks */, 4FE8465FD28810191C3E5212 /* Pods_Delta.framework in Frameworks */, @@ -617,6 +632,9 @@ BF9F4FCD1AAD7B25004C9500 /* Frameworks */ = { isa = PBXGroup; children = ( + BFDE2CC6222DF345008038E0 /* Harmony_Dropbox.framework */, + BFDE2CC8222DF345008038E0 /* SwiftyDropbox.framework */, + BFDE2CC7222DF345008038E0 /* Alamofire.framework */, BF98C9812204D9A1006B95AC /* NESDeltaCore.framework */, BF07200E219A3A9500F05DA4 /* ZIPFoundation.framework */, BF48F754219A1EEB00BC2FC1 /* Harmony.framework */, diff --git a/Delta.xcodeproj/xcshareddata/xcschemes/Delta.xcscheme b/Delta.xcodeproj/xcshareddata/xcschemes/Delta.xcscheme index 39c6e35..d03741f 100644 --- a/Delta.xcodeproj/xcshareddata/xcschemes/Delta.xcscheme +++ b/Delta.xcodeproj/xcshareddata/xcschemes/Delta.xcscheme @@ -192,6 +192,10 @@ argument = "-com.apple.CoreData.MigrationDebug 1" isEnabled = "YES"> + + diff --git a/Delta/AppDelegate.swift b/Delta/AppDelegate.swift index 49743a0..0daf45d 100644 --- a/Delta/AppDelegate.swift +++ b/Delta/AppDelegate.swift @@ -9,6 +9,7 @@ import UIKit import DeltaCore +import Harmony_Dropbox import Fabric import Crashlytics @@ -112,6 +113,10 @@ extension AppDelegate return self.importControllerSkin(at: url) } } + else if DropboxService.shared.handleDropboxURL(url) + { + return true + } else { return self.deepLinkController.handle(.url(url)) diff --git a/Delta/Base.lproj/Settings.storyboard b/Delta/Base.lproj/Settings.storyboard index e051d36..b1ff9b1 100644 --- a/Delta/Base.lproj/Settings.storyboard +++ b/Delta/Base.lproj/Settings.storyboard @@ -1,10 +1,10 @@ - + - + @@ -18,7 +18,7 @@