diff --git a/configuration/sailing.sh b/configuration/sailing.sh index 7efa3b8a5b7..a6e048ffb25 100644 --- a/configuration/sailing.sh +++ b/configuration/sailing.sh @@ -8,6 +8,7 @@ export EC2_HOME=/opt/amazon/ec2-api-tools-1.6.8.0 export EC2_URL=https://ec2.eu-west-1.amazonaws.com export JAVA_HOME=/opt/jdk1.8.0_45 export JAVA_1_7_HOME=/opt/jdk1.7.0_75 +export ANDROID_HOME=/opt/android-sdk-linux export PATH=$PATH:$JAVA_HOME/bin:/opt/amazon/ec2-api-tools-1.6.8.0/bin:/opt/amazon/bin diff --git a/ios/Pods/Pods.xcodeproj/project.pbxproj b/ios/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 142607cbd09..00000000000 --- a/ios/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2340 +0,0 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 01372C8D011695972338A77C - - children - - 8CB906BB24A8BD9735257403 - 9ED4BB76BBCC1A41E84BF0F2 - C47A12D2F2CF33BE81ECA5A0 - FF96D5CC872B30F3325ADEEF - 6AFFF5A41D74E8159E1C9AB6 - DB256D67D942AD2149D39DB6 - F431BB261ADA5E3199049992 - - isa - PBXGroup - name - Pods - path - Target Support Files/Pods - sourceTree - <group> - - 01BE99069A71784266B96879 - - fileRef - D7639E497E56ACF55CB9B05A - isa - PBXBuildFile - - 031E9FBE70153803F40DBC39 - - fileRef - E72DACF3684388DE8D81464B - isa - PBXBuildFile - - 0490E4DAB3DDB6D39DC97099 - - attributes - - LastUpgradeCheck - 0510 - - buildConfigurationList - D97E44F5AE41C9FA25AA624E - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - - mainGroup - EFD66281F20897E102745D31 - productRefGroup - 7E0839CF90B700ABCAB46CC1 - projectDirPath - - projectReferences - - projectRoot - - targets - - E072BABCF079D3EE1B840FCE - E3CF112FD497FD85C96047C1 - 79C01B588CCBF3598A5027D9 - - - 05409CF62977D05709335386 - - buildConfigurations - - A90BA683EF8618FB6B06D409 - 64344A107EE3A7C5558F8A54 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 0621CCB2779F181A038DE450 - - fileRef - 29241EA195821F8149527277 - isa - PBXBuildFile - - 07ADB22806EB95E5C84A9685 - - fileRef - E72DACF3684388DE8D81464B - isa - PBXBuildFile - - 08146036336D621D790FE9F9 - - fileRef - C47A12D2F2CF33BE81ECA5A0 - isa - PBXBuildFile - - 0A12EC1BA4EE2914D6C6E51C - - fileRef - 1882839278BDF020896AE927 - isa - PBXBuildFile - - 0A8023FAEDB19C3F1E8571E7 - - fileRef - D3886E0C456A583AA1B6A2B1 - isa - PBXBuildFile - - 0A89F58135F1E6AC6B6ADBBF - - buildConfigurations - - E1D24D3A579F134CCA505BF4 - 887CB9634407AD36B33392B2 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 0D071ECC8E6344204A50228B - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Pods-AFNetworkActivityLogger-dummy.m - sourceTree - <group> - - 0DFA192D1AB53FD41E873DD7 - - buildActionMask - 2147483647 - files - - 49AD2B7897D7D4DE91257F2F - 46BFBD95B565CCA25458D174 - 01BE99069A71784266B96879 - 404027F13A78FF6078E02E47 - 168F6C2B4946FE3954DA7197 - 0A12EC1BA4EE2914D6C6E51C - C0BFC3B35B0B7CB4855BCBEA - 72C8F9392830492BAED30E4C - 4C32F15F8F49F3D91F3D3BDD - 824E5030490F6BA5024A90EA - 566D836F8CE7C866F1E24484 - 21EB1097746BA37E8B123B1A - 52CEA0602964396B2CD02FFD - F2482F84D3370CB4F1751FE3 - 717A84298A8BA5DEB3F3A324 - 79345F6081328B2A536BDC63 - B49D9669C39F6BE66B686B02 - F5467CD91DFD4D022CB5A33E - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 0FB7BDD92324C1BCECCD7AD7 - - fileRef - 7F0107819F1BFA4CEC85B389 - isa - PBXBuildFile - - 168F6C2B4946FE3954DA7197 - - fileRef - BE038F5BCA22AB9EA5BA9BE3 - isa - PBXBuildFile - - 169AC5C3E4209942C2CD45EC - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIWebView+AFNetworking.m - path - UIKit+AFNetworking/UIWebView+AFNetworking.m - sourceTree - <group> - - 17274F34EC1490F0CF9E2423 - - fileRef - E72DACF3684388DE8D81464B - isa - PBXBuildFile - - 1882839278BDF020896AE927 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFSecurityPolicy.m - path - AFNetworking/AFSecurityPolicy.m - sourceTree - <group> - - 18C1EAA4119797F9CB5A9B35 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFNetworkActivityLogger.h - path - AFNetworkActivityLogger/AFNetworkActivityLogger.h - sourceTree - <group> - - 203D82000C5A25B2F2F319C1 - - isa - PBXTargetDependency - name - Pods-AFNetworkActivityLogger - target - E3CF112FD497FD85C96047C1 - targetProxy - 443CC3D204E777544D11B468 - - 2088A1DE92C24C1E53EDCDD0 - - children - - 18C1EAA4119797F9CB5A9B35 - EC434E78879EB7E1CB1C5CFE - B1E1F93E184E457842E7B006 - - isa - PBXGroup - name - AFNetworkActivityLogger - path - AFNetworkActivityLogger - sourceTree - <group> - - 21EB1097746BA37E8B123B1A - - fileRef - 8C6077A7517C621663BA5B79 - isa - PBXBuildFile - - 232E00CEE81EA9B4AC25E5A6 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIKit+AFNetworking.h - path - UIKit+AFNetworking/UIKit+AFNetworking.h - sourceTree - <group> - - 2336239F976606F3E1E9F204 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFURLConnectionOperation.m - path - AFNetworking/AFURLConnectionOperation.m - sourceTree - <group> - - 23DB7D0244257A16F4194241 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFNetworkActivityIndicatorManager.m - path - UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m - sourceTree - <group> - - 25836FFB490531D4D8FDAA1B - - fileRef - F82A7A784412A479CB491192 - isa - PBXBuildFile - - 25C070161040878C92A0F013 - - children - - 01372C8D011695972338A77C - - isa - PBXGroup - name - Targets Support Files - sourceTree - <group> - - 29241EA195821F8149527277 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - SystemConfiguration.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/SystemConfiguration.framework - sourceTree - DEVELOPER_DIR - - 29B7F5C179A25D975EF59B6E - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIProgressView+AFNetworking.h - path - UIKit+AFNetworking/UIProgressView+AFNetworking.h - sourceTree - <group> - - 2B14D7247CC7823836C6D980 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFURLResponseSerialization.m - path - AFNetworking/AFURLResponseSerialization.m - sourceTree - <group> - - 2BE98A3FA669FCA7C9BC48B6 - - fileRef - 5A14A4D5A946648BE169C59F - isa - PBXBuildFile - - 2E759B64AE9784A8913CC554 - - buildActionMask - 2147483647 - files - - 07ADB22806EB95E5C84A9685 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 312BE46A06C0F2B5ECEEE999 - - fileRef - D916BC3F14515A4E5E9C560F - isa - PBXBuildFile - - 32E15A5F7B08FC34DC659956 - - buildConfigurations - - ED6BE6E20A89C79E1836D640 - 55E2371EA54B14F857A27DDD - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 347BBEAE1883F79DB9CBAE32 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFURLResponseSerialization.h - path - AFNetworking/AFURLResponseSerialization.h - sourceTree - <group> - - 39D08B24C4DE46EC3BC090A9 - - children - - 5E225BB2956C8AEA98A4855B - E72DACF3684388DE8D81464B - F82A7A784412A479CB491192 - 56F06D61E0F92B62A1927D35 - 29241EA195821F8149527277 - - isa - PBXGroup - name - iOS - sourceTree - <group> - - 404027F13A78FF6078E02E47 - - fileRef - 23DB7D0244257A16F4194241 - isa - PBXBuildFile - - 4100956414F14539443125E5 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Pods-AFNetworking-dummy.m - sourceTree - <group> - - 4301DDD1430825C36D4FD7CA - - children - - 2088A1DE92C24C1E53EDCDD0 - E6336EC62992BA53DFBBF522 - - isa - PBXGroup - name - Pods - sourceTree - <group> - - 443CC3D204E777544D11B468 - - containerPortal - 0490E4DAB3DDB6D39DC97099 - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - E3CF112FD497FD85C96047C1 - remoteInfo - Pods-AFNetworkActivityLogger - - 448D60C6B25494BD2F689731 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFNetworkReachabilityManager.h - path - AFNetworking/AFNetworkReachabilityManager.h - sourceTree - <group> - - 46BD47174231E95D7C3D19F9 - - fileRef - 0D071ECC8E6344204A50228B - isa - PBXBuildFile - - 46BFBD95B565CCA25458D174 - - fileRef - AE0F194270D52DDD00DEE9F4 - isa - PBXBuildFile - - 4824A5632439401264A8B1EC - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods.a - sourceTree - BUILT_PRODUCTS_DIR - - 49AD2B7897D7D4DE91257F2F - - fileRef - 61229E4318B8BC3B852D4F80 - isa - PBXBuildFile - - 49E6184F33F7AE66F2CF634B - - buildActionMask - 2147483647 - files - - BC15705A2889910A6E39C1E4 - 0FB7BDD92324C1BCECCD7AD7 - 2BE98A3FA669FCA7C9BC48B6 - B7C7DDE6EE0B8F1558F94166 - F9486F7E99242DE91733C746 - 64758826EEA3863BCD81B4DA - 312BE46A06C0F2B5ECEEE999 - CF2A3299B769C68AA7409881 - A590C5ADD7E65449D50738FD - 65FD9848A803347C34B98E03 - C393AF8D084415D3149E9D5A - D392ECF9A60DD3EC2C46A93C - 0A8023FAEDB19C3F1E8571E7 - EDF1E904CE45BAC25E30D1C3 - C6C6799BE6E83D5EB560A535 - E51DC121154B02650BA29CC0 - BB25B6509431443F12F69FD3 - EAF1DE07CED4E91231726E14 - 649890629692A8ACCED9D88D - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 4C32F15F8F49F3D91F3D3BDD - - fileRef - 2B14D7247CC7823836C6D980 - isa - PBXBuildFile - - 4DA12087B65E5744353312C1 - - children - - 7459203ABCA1E75FD9BC3C72 - 23DB7D0244257A16F4194241 - 8E66EA35CD138998F2B6BE75 - 8C6077A7517C621663BA5B79 - D3886E0C456A583AA1B6A2B1 - E94DBCC6DF81D822A44BA8B3 - D76B93DB6D12D34C958421F4 - 9EA962748176EC55FB2DDB8B - 53B465F909890C943C2DEE32 - 6350DE404FCFF82F0A806D43 - 232E00CEE81EA9B4AC25E5A6 - 29B7F5C179A25D975EF59B6E - 84766E2E4819EFC3392B2CA2 - F678CFF83A10C536F97951CC - 8F441E3A428407495D55CE5F - 5F875074979C06D13D35AC97 - 169AC5C3E4209942C2CD45EC - - isa - PBXGroup - name - UIKit - sourceTree - <group> - - 52CEA0602964396B2CD02FFD - - fileRef - E94DBCC6DF81D822A44BA8B3 - isa - PBXBuildFile - - 53B465F909890C943C2DEE32 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIImageView+AFNetworking.h - path - UIKit+AFNetworking/UIImageView+AFNetworking.h - sourceTree - <group> - - 5512E6C77FA714A22BF8B282 - - isa - PBXTargetDependency - name - Pods-AFNetworking - target - 79C01B588CCBF3598A5027D9 - targetProxy - 57E9666E1B91424EA47DF569 - - 55E2371EA54B14F857A27DDD - - baseConfigurationReference - D0AF813CD9446163A0B191B8 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - YES - DSTROOT - /tmp/xcodeproj.dst - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Target Support Files/Pods-AFNetworking/Pods-AFNetworking-prefix.pch - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_CFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_CPLUSPLUSFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 566D836F8CE7C866F1E24484 - - fileRef - 4100956414F14539443125E5 - isa - PBXBuildFile - - 56F06D61E0F92B62A1927D35 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - Security.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Security.framework - sourceTree - DEVELOPER_DIR - - 57E9666E1B91424EA47DF569 - - containerPortal - 0490E4DAB3DDB6D39DC97099 - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 79C01B588CCBF3598A5027D9 - remoteInfo - Pods-AFNetworking - - 5A14A4D5A946648BE169C59F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFHTTPSessionManager.h - path - AFNetworking/AFHTTPSessionManager.h - sourceTree - <group> - - 5E225BB2956C8AEA98A4855B - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - CoreGraphics.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/CoreGraphics.framework - sourceTree - DEVELOPER_DIR - - 5F875074979C06D13D35AC97 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIWebView+AFNetworking.h - path - UIKit+AFNetworking/UIWebView+AFNetworking.h - sourceTree - <group> - - 60E80537F0DBCA3537443CC7 - - buildActionMask - 2147483647 - files - - E12934C00D608B7ABAE5CD96 - 17274F34EC1490F0CF9E2423 - 25836FFB490531D4D8FDAA1B - D0A1AE05FDAC5B995B8FD152 - 0621CCB2779F181A038DE450 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 61229E4318B8BC3B852D4F80 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFHTTPRequestOperation.m - path - AFNetworking/AFHTTPRequestOperation.m - sourceTree - <group> - - 6350DE404FCFF82F0A806D43 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIImageView+AFNetworking.m - path - UIKit+AFNetworking/UIImageView+AFNetworking.m - sourceTree - <group> - - 637719F660CE11BE709A0AA8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFURLRequestSerialization.m - path - AFNetworking/AFURLRequestSerialization.m - sourceTree - <group> - - 64344A107EE3A7C5558F8A54 - - baseConfigurationReference - AD5C1025B6FF638288367CF5 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - YES - DSTROOT - /tmp/xcodeproj.dst - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-prefix.pch - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_CFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_CPLUSPLUSFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 64758826EEA3863BCD81B4DA - - fileRef - F3AD18BB6CB0D219E5793C00 - isa - PBXBuildFile - - 649890629692A8ACCED9D88D - - fileRef - 5F875074979C06D13D35AC97 - isa - PBXBuildFile - - 65FD9848A803347C34B98E03 - - fileRef - 347BBEAE1883F79DB9CBAE32 - isa - PBXBuildFile - - 6A787EB952C5E58AAFFFCD25 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - name - Podfile - path - ../Podfile - sourceTree - SOURCE_ROOT - xcLanguageSpecificationIdentifier - xcode.lang.ruby - - 6AFFF5A41D74E8159E1C9AB6 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.script.sh - path - Pods-resources.sh - sourceTree - <group> - - 717A84298A8BA5DEB3F3A324 - - fileRef - 6350DE404FCFF82F0A806D43 - isa - PBXBuildFile - - 72C8F9392830492BAED30E4C - - fileRef - 637719F660CE11BE709A0AA8 - isa - PBXBuildFile - - 7459203ABCA1E75FD9BC3C72 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFNetworkActivityIndicatorManager.h - path - UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h - sourceTree - <group> - - 782765BD554A2D7FB0535ED8 - - buildActionMask - 2147483647 - files - - 031E9FBE70153803F40DBC39 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 79345F6081328B2A536BDC63 - - fileRef - 84766E2E4819EFC3392B2CA2 - isa - PBXBuildFile - - 79C01B588CCBF3598A5027D9 - - buildConfigurationList - 32E15A5F7B08FC34DC659956 - buildPhases - - 0DFA192D1AB53FD41E873DD7 - 60E80537F0DBCA3537443CC7 - 49E6184F33F7AE66F2CF634B - - buildRules - - dependencies - - isa - PBXNativeTarget - name - Pods-AFNetworking - productName - Pods-AFNetworking - productReference - FE94A162B03BCF6419D21E9A - productType - com.apple.product-type.library.static - - 7DD9D24B5B1CD8251D6EAEC1 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFURLConnectionOperation.h - path - AFNetworking/AFURLConnectionOperation.h - sourceTree - <group> - - 7E0839CF90B700ABCAB46CC1 - - children - - 4824A5632439401264A8B1EC - C3BB10CE93DD7F0153B33993 - FE94A162B03BCF6419D21E9A - - isa - PBXGroup - name - Products - sourceTree - <group> - - 7F0107819F1BFA4CEC85B389 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFHTTPRequestOperationManager.h - path - AFNetworking/AFHTTPRequestOperationManager.h - sourceTree - <group> - - 824E5030490F6BA5024A90EA - - fileRef - BFF86824E13FECBDE4B1EAC5 - isa - PBXBuildFile - - 84766E2E4819EFC3392B2CA2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIProgressView+AFNetworking.m - path - UIKit+AFNetworking/UIProgressView+AFNetworking.m - sourceTree - <group> - - 85FA8DA3E05B317B45C4C17A - - children - - 448D60C6B25494BD2F689731 - BE038F5BCA22AB9EA5BA9BE3 - - isa - PBXGroup - name - Reachability - sourceTree - <group> - - 875341ECA51C552412EF93CC - - children - - 8FD1A3EEC32D63C82A04BC19 - 637719F660CE11BE709A0AA8 - 347BBEAE1883F79DB9CBAE32 - 2B14D7247CC7823836C6D980 - - isa - PBXGroup - name - Serialization - sourceTree - <group> - - 887CB9634407AD36B33392B2 - - baseConfigurationReference - F431BB261ADA5E3199049992 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - YES - DSTROOT - /tmp/xcodeproj.dst - GCC_PRECOMPILE_PREFIX_HEADER - YES - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_CFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_CPLUSPLUSFLAGS - - -DNS_BLOCK_ASSERTIONS=1 - $(inherited) - - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 887E09A1CEF257FE0166D284 - - fileRef - 18C1EAA4119797F9CB5A9B35 - isa - PBXBuildFile - - 8C6077A7517C621663BA5B79 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIActivityIndicatorView+AFNetworking.m - path - UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m - sourceTree - <group> - - 8CB906BB24A8BD9735257403 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - path - Pods-acknowledgements.markdown - sourceTree - <group> - - 8E66EA35CD138998F2B6BE75 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIActivityIndicatorView+AFNetworking.h - path - UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h - sourceTree - <group> - - 8F4313FCD3719BCA2DBB1CE5 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-AFNetworking.xcconfig - sourceTree - <group> - - 8F441E3A428407495D55CE5F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIRefreshControl+AFNetworking.m - path - UIKit+AFNetworking/UIRefreshControl+AFNetworking.m - sourceTree - <group> - - 8F982F080766FA6EFE3C5278 - - children - - 5A14A4D5A946648BE169C59F - D7639E497E56ACF55CB9B05A - DEA86C4A228CFCF53B3FB72E - BFF86824E13FECBDE4B1EAC5 - - isa - PBXGroup - name - NSURLSession - sourceTree - <group> - - 8FD1A3EEC32D63C82A04BC19 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFURLRequestSerialization.h - path - AFNetworking/AFURLRequestSerialization.h - sourceTree - <group> - - 993FB2D5B591A7E1E8257298 - - children - - D916BC3F14515A4E5E9C560F - 1882839278BDF020896AE927 - - isa - PBXGroup - name - Security - sourceTree - <group> - - 9A8F93F7D798DF189D623CEF - - buildActionMask - 2147483647 - files - - 08146036336D621D790FE9F9 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 9E648FC20015E13A84597159 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFHTTPRequestOperation.h - path - AFNetworking/AFHTTPRequestOperation.h - sourceTree - <group> - - 9E7752371871214BDE28504B - - children - - 9E648FC20015E13A84597159 - 61229E4318B8BC3B852D4F80 - 7F0107819F1BFA4CEC85B389 - AE0F194270D52DDD00DEE9F4 - 7DD9D24B5B1CD8251D6EAEC1 - 2336239F976606F3E1E9F204 - - isa - PBXGroup - name - NSURLConnection - sourceTree - <group> - - 9EA962748176EC55FB2DDB8B - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIButton+AFNetworking.m - path - UIKit+AFNetworking/UIButton+AFNetworking.m - sourceTree - <group> - - 9ED4BB76BBCC1A41E84BF0F2 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Pods-acknowledgements.plist - sourceTree - <group> - - A1BCFE4254968CED4177A0F1 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES - COPY_PHASE_STRIP - NO - ENABLE_NS_ASSERTIONS - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_PREPROCESSOR_DEFINITIONS - - RELEASE=1 - - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - STRIP_INSTALLED_PRODUCT - NO - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - A49098802D450D95B11B3474 - - buildActionMask - 2147483647 - files - - E04B5BFA94BDD64ADE6F7B59 - 46BD47174231E95D7C3D19F9 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - A590C5ADD7E65449D50738FD - - fileRef - 8FD1A3EEC32D63C82A04BC19 - isa - PBXBuildFile - - A90BA683EF8618FB6B06D409 - - baseConfigurationReference - AD5C1025B6FF638288367CF5 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - NO - DSTROOT - /tmp/xcodeproj.dst - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-prefix.pch - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - - isa - XCBuildConfiguration - name - Debug - - AD5C1025B6FF638288367CF5 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-AFNetworkActivityLogger-Private.xcconfig - sourceTree - <group> - - AE0F194270D52DDD00DEE9F4 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFHTTPRequestOperationManager.m - path - AFNetworking/AFHTTPRequestOperationManager.m - sourceTree - <group> - - B1E1F93E184E457842E7B006 - - children - - DA817ABDA524795C562B5B49 - AD5C1025B6FF638288367CF5 - 0D071ECC8E6344204A50228B - D6CAD7B5AF9B1003B3EA6792 - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/Pods-AFNetworkActivityLogger - sourceTree - <group> - - B2D4BD845F34A22B2991AC29 - - containerPortal - 0490E4DAB3DDB6D39DC97099 - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 79C01B588CCBF3598A5027D9 - remoteInfo - Pods-AFNetworking - - B49D9669C39F6BE66B686B02 - - fileRef - 8F441E3A428407495D55CE5F - isa - PBXBuildFile - - B7C7DDE6EE0B8F1558F94166 - - fileRef - 7459203ABCA1E75FD9BC3C72 - isa - PBXBuildFile - - BB25B6509431443F12F69FD3 - - fileRef - 29B7F5C179A25D975EF59B6E - isa - PBXBuildFile - - BC15705A2889910A6E39C1E4 - - fileRef - 9E648FC20015E13A84597159 - isa - PBXBuildFile - - BE038F5BCA22AB9EA5BA9BE3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFNetworkReachabilityManager.m - path - AFNetworking/AFNetworkReachabilityManager.m - sourceTree - <group> - - BE093E7E258A8EEA2E8A9AEE - - buildActionMask - 2147483647 - files - - 887E09A1CEF257FE0166D284 - - isa - PBXHeadersBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - BFF86824E13FECBDE4B1EAC5 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFURLSessionManager.m - path - AFNetworking/AFURLSessionManager.m - sourceTree - <group> - - C01DD9FE30EA4F08B59FD966 - - children - - 8F4313FCD3719BCA2DBB1CE5 - D0AF813CD9446163A0B191B8 - 4100956414F14539443125E5 - CE9DAE4AF8050A4749AD4BFA - - isa - PBXGroup - name - Support Files - path - ../Target Support Files/Pods-AFNetworking - sourceTree - <group> - - C0BFC3B35B0B7CB4855BCBEA - - fileRef - 2336239F976606F3E1E9F204 - isa - PBXBuildFile - - C393AF8D084415D3149E9D5A - - fileRef - DEA86C4A228CFCF53B3FB72E - isa - PBXBuildFile - - C3BB10CE93DD7F0153B33993 - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-AFNetworkActivityLogger.a - sourceTree - BUILT_PRODUCTS_DIR - - C47A12D2F2CF33BE81ECA5A0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Pods-dummy.m - sourceTree - <group> - - C6C6799BE6E83D5EB560A535 - - fileRef - 53B465F909890C943C2DEE32 - isa - PBXBuildFile - - C8B5D89CEA0AF17528D401C4 - - children - - 39D08B24C4DE46EC3BC090A9 - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - C91938CBC1E91331A44CA885 - - isa - PBXTargetDependency - name - Pods-AFNetworking - target - 79C01B588CCBF3598A5027D9 - targetProxy - B2D4BD845F34A22B2991AC29 - - CE9DAE4AF8050A4749AD4BFA - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Pods-AFNetworking-prefix.pch - sourceTree - <group> - - CF2A3299B769C68AA7409881 - - fileRef - 7DD9D24B5B1CD8251D6EAEC1 - isa - PBXBuildFile - - D0A1AE05FDAC5B995B8FD152 - - fileRef - 56F06D61E0F92B62A1927D35 - isa - PBXBuildFile - - D0AF813CD9446163A0B191B8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-AFNetworking-Private.xcconfig - sourceTree - <group> - - D3886E0C456A583AA1B6A2B1 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIAlertView+AFNetworking.h - path - UIKit+AFNetworking/UIAlertView+AFNetworking.h - sourceTree - <group> - - D392ECF9A60DD3EC2C46A93C - - fileRef - 8E66EA35CD138998F2B6BE75 - isa - PBXBuildFile - - D6CAD7B5AF9B1003B3EA6792 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Pods-AFNetworkActivityLogger-prefix.pch - sourceTree - <group> - - D7639E497E56ACF55CB9B05A - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFHTTPSessionManager.m - path - AFNetworking/AFHTTPSessionManager.m - sourceTree - <group> - - D76B93DB6D12D34C958421F4 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIButton+AFNetworking.h - path - UIKit+AFNetworking/UIButton+AFNetworking.h - sourceTree - <group> - - D916BC3F14515A4E5E9C560F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFSecurityPolicy.h - path - AFNetworking/AFSecurityPolicy.h - sourceTree - <group> - - D97E44F5AE41C9FA25AA624E - - buildConfigurations - - DDB9630253BE4F940AD75522 - A1BCFE4254968CED4177A0F1 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - DA817ABDA524795C562B5B49 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods-AFNetworkActivityLogger.xcconfig - sourceTree - <group> - - DB256D67D942AD2149D39DB6 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods.debug.xcconfig - sourceTree - <group> - - DDB9630253BE4F940AD75522 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES - COPY_PHASE_STRIP - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - ONLY_ACTIVE_ARCH - YES - STRIP_INSTALLED_PRODUCT - NO - - isa - XCBuildConfiguration - name - Debug - - DEA86C4A228CFCF53B3FB72E - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFURLSessionManager.h - path - AFNetworking/AFURLSessionManager.h - sourceTree - <group> - - E04B5BFA94BDD64ADE6F7B59 - - fileRef - EC434E78879EB7E1CB1C5CFE - isa - PBXBuildFile - - E072BABCF079D3EE1B840FCE - - buildConfigurationList - 0A89F58135F1E6AC6B6ADBBF - buildPhases - - 9A8F93F7D798DF189D623CEF - 2E759B64AE9784A8913CC554 - - buildRules - - dependencies - - 203D82000C5A25B2F2F319C1 - 5512E6C77FA714A22BF8B282 - - isa - PBXNativeTarget - name - Pods - productName - Pods - productReference - 4824A5632439401264A8B1EC - productType - com.apple.product-type.library.static - - E12934C00D608B7ABAE5CD96 - - fileRef - 5E225BB2956C8AEA98A4855B - isa - PBXBuildFile - - E1D24D3A579F134CCA505BF4 - - baseConfigurationReference - DB256D67D942AD2149D39DB6 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - NO - DSTROOT - /tmp/xcodeproj.dst - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - - isa - XCBuildConfiguration - name - Debug - - E3CF112FD497FD85C96047C1 - - buildConfigurationList - 05409CF62977D05709335386 - buildPhases - - A49098802D450D95B11B3474 - 782765BD554A2D7FB0535ED8 - BE093E7E258A8EEA2E8A9AEE - - buildRules - - dependencies - - C91938CBC1E91331A44CA885 - - isa - PBXNativeTarget - name - Pods-AFNetworkActivityLogger - productName - Pods-AFNetworkActivityLogger - productReference - C3BB10CE93DD7F0153B33993 - productType - com.apple.product-type.library.static - - E51DC121154B02650BA29CC0 - - fileRef - 232E00CEE81EA9B4AC25E5A6 - isa - PBXBuildFile - - E6336EC62992BA53DFBBF522 - - children - - F3AD18BB6CB0D219E5793C00 - 9E7752371871214BDE28504B - 8F982F080766FA6EFE3C5278 - 85FA8DA3E05B317B45C4C17A - 993FB2D5B591A7E1E8257298 - 875341ECA51C552412EF93CC - C01DD9FE30EA4F08B59FD966 - 4DA12087B65E5744353312C1 - - isa - PBXGroup - name - AFNetworking - path - AFNetworking - sourceTree - <group> - - E72DACF3684388DE8D81464B - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - Foundation.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework - sourceTree - DEVELOPER_DIR - - E94DBCC6DF81D822A44BA8B3 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - UIAlertView+AFNetworking.m - path - UIKit+AFNetworking/UIAlertView+AFNetworking.m - sourceTree - <group> - - EAF1DE07CED4E91231726E14 - - fileRef - F678CFF83A10C536F97951CC - isa - PBXBuildFile - - EC434E78879EB7E1CB1C5CFE - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - AFNetworkActivityLogger.m - path - AFNetworkActivityLogger/AFNetworkActivityLogger.m - sourceTree - <group> - - ED6BE6E20A89C79E1836D640 - - baseConfigurationReference - D0AF813CD9446163A0B191B8 - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - COPY_PHASE_STRIP - NO - DSTROOT - /tmp/xcodeproj.dst - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Target Support Files/Pods-AFNetworking/Pods-AFNetworking-prefix.pch - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - INSTALL_PATH - $(BUILT_PRODUCTS_DIR) - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - OTHER_LDFLAGS - - OTHER_LIBTOOLFLAGS - - PRODUCT_NAME - $(TARGET_NAME) - PUBLIC_HEADERS_FOLDER_PATH - $(TARGET_NAME) - SDKROOT - iphoneos - SKIP_INSTALL - YES - - isa - XCBuildConfiguration - name - Debug - - EDF1E904CE45BAC25E30D1C3 - - fileRef - D76B93DB6D12D34C958421F4 - isa - PBXBuildFile - - EFD66281F20897E102745D31 - - children - - 6A787EB952C5E58AAFFFCD25 - C8B5D89CEA0AF17528D401C4 - 4301DDD1430825C36D4FD7CA - 7E0839CF90B700ABCAB46CC1 - 25C070161040878C92A0F013 - - isa - PBXGroup - sourceTree - <group> - - F2482F84D3370CB4F1751FE3 - - fileRef - 9EA962748176EC55FB2DDB8B - isa - PBXBuildFile - - F3AD18BB6CB0D219E5793C00 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - AFNetworking.h - path - AFNetworking/AFNetworking.h - sourceTree - <group> - - F431BB261ADA5E3199049992 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - path - Pods.release.xcconfig - sourceTree - <group> - - F5467CD91DFD4D022CB5A33E - - fileRef - 169AC5C3E4209942C2CD45EC - isa - PBXBuildFile - - F678CFF83A10C536F97951CC - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - UIRefreshControl+AFNetworking.h - path - UIKit+AFNetworking/UIRefreshControl+AFNetworking.h - sourceTree - <group> - - F82A7A784412A479CB491192 - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - MobileCoreServices.framework - path - Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/MobileCoreServices.framework - sourceTree - DEVELOPER_DIR - - F9486F7E99242DE91733C746 - - fileRef - 448D60C6B25494BD2F689731 - isa - PBXBuildFile - - FE94A162B03BCF6419D21E9A - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-AFNetworking.a - sourceTree - BUILT_PRODUCTS_DIR - - FF96D5CC872B30F3325ADEEF - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Pods-environment.h - sourceTree - <group> - - - rootObject - 0490E4DAB3DDB6D39DC97099 - - diff --git a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-Private.xcconfig b/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-Private.xcconfig deleted file mode 100644 index b3142847d94..00000000000 --- a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-AFNetworkActivityLogger.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_LDFLAGS = -ObjC -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-dummy.m b/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-dummy.m deleted file mode 100644 index eb50c0ca53f..00000000000 --- a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AFNetworkActivityLogger : NSObject -@end -@implementation PodsDummy_Pods_AFNetworkActivityLogger -@end diff --git a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-Private.xcconfig b/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-Private.xcconfig deleted file mode 100644 index da18c6977ff..00000000000 --- a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-AFNetworking.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_LDFLAGS = ${PODS_AFNETWORKING_OTHER_LDFLAGS} -ObjC -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-dummy.m b/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-dummy.m deleted file mode 100644 index c50a8c61689..00000000000 --- a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_AFNetworking : NSObject -@end -@implementation PodsDummy_Pods_AFNetworking -@end diff --git a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking.xcconfig b/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking.xcconfig deleted file mode 100644 index c2f387a4568..00000000000 --- a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" \ No newline at end of file diff --git a/ios/Pods/Target Support Files/Pods/Pods-environment.h b/ios/Pods/Target Support Files/Pods/Pods-environment.h deleted file mode 100644 index 7011703d364..00000000000 --- a/ios/Pods/Target Support Files/Pods/Pods-environment.h +++ /dev/null @@ -1,60 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// AFNetworking -#define COCOAPODS_POD_AVAILABLE_AFNetworking -#define COCOAPODS_VERSION_MAJOR_AFNetworking 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking 0 - -// AFNetworking/NSURLConnection -#define COCOAPODS_POD_AVAILABLE_AFNetworking_NSURLConnection -#define COCOAPODS_VERSION_MAJOR_AFNetworking_NSURLConnection 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_NSURLConnection 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_NSURLConnection 0 - -// AFNetworking/NSURLSession -#define COCOAPODS_POD_AVAILABLE_AFNetworking_NSURLSession -#define COCOAPODS_VERSION_MAJOR_AFNetworking_NSURLSession 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_NSURLSession 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_NSURLSession 0 - -// AFNetworking/Reachability -#define COCOAPODS_POD_AVAILABLE_AFNetworking_Reachability -#define COCOAPODS_VERSION_MAJOR_AFNetworking_Reachability 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_Reachability 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_Reachability 0 - -// AFNetworking/Security -#define COCOAPODS_POD_AVAILABLE_AFNetworking_Security -#define COCOAPODS_VERSION_MAJOR_AFNetworking_Security 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_Security 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_Security 0 - -// AFNetworking/Serialization -#define COCOAPODS_POD_AVAILABLE_AFNetworking_Serialization -#define COCOAPODS_VERSION_MAJOR_AFNetworking_Serialization 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_Serialization 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_Serialization 0 - -// AFNetworking/UIKit -#define COCOAPODS_POD_AVAILABLE_AFNetworking_UIKit -#define COCOAPODS_VERSION_MAJOR_AFNetworking_UIKit 2 -#define COCOAPODS_VERSION_MINOR_AFNetworking_UIKit 5 -#define COCOAPODS_VERSION_PATCH_AFNetworking_UIKit 0 - -// Debug build configuration -#ifdef DEBUG - - // AFNetworkActivityLogger - #define COCOAPODS_POD_AVAILABLE_AFNetworkActivityLogger - #define COCOAPODS_VERSION_MAJOR_AFNetworkActivityLogger 2 - #define COCOAPODS_VERSION_MINOR_AFNetworkActivityLogger 0 - #define COCOAPODS_VERSION_PATCH_AFNetworkActivityLogger 3 - -#endif diff --git a/ios/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/ios/Pods/Target Support Files/Pods/Pods.debug.xcconfig deleted file mode 100644 index 9e7138e12fb..00000000000 --- a/ios/Pods/Target Support Files/Pods/Pods.debug.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_LDFLAGS = -ObjC -l"Pods-AFNetworkActivityLogger" -l"Pods-AFNetworking" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/ios/Pods/Target Support Files/Pods/Pods.release.xcconfig b/ios/Pods/Target Support Files/Pods/Pods.release.xcconfig deleted file mode 100644 index d6bb72c4e9d..00000000000 --- a/ios/Pods/Target Support Files/Pods/Pods.release.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -OTHER_LDFLAGS = -ObjC -l"Pods-AFNetworking" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/ios/SAPTracker/pom.xml b/ios/SAPTracker/pom.xml new file mode 100644 index 00000000000..99fe5462368 --- /dev/null +++ b/ios/SAPTracker/pom.xml @@ -0,0 +1,20 @@ + + 4.0.0 + + com.sap.sailing.mobile.ios + SAPTracker + 1.0-SNAPSHOT + xcode-app + + + + + com.sap.prd.mobile.ios.mios + xcode-maven-plugin + 1.14.1 + true + + + + \ No newline at end of file diff --git a/ios/LICENSE.txt b/ios/SAPTracker/src/xcode/LICENSE.txt similarity index 100% rename from ios/LICENSE.txt rename to ios/SAPTracker/src/xcode/LICENSE.txt diff --git a/ios/Podfile b/ios/SAPTracker/src/xcode/Podfile similarity index 54% rename from ios/Podfile rename to ios/SAPTracker/src/xcode/Podfile index d242a62eb1e..1f2ac4d0d7a 100644 --- a/ios/Podfile +++ b/ios/SAPTracker/src/xcode/Podfile @@ -1,5 +1,5 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '7.1' link_with ['SAPTracker', 'SAPTrackerTests'] -pod 'AFNetworking', '~> 2.4' -pod 'AFNetworkActivityLogger', :configurations => ['Debug'] \ No newline at end of file +pod 'AFNetworking', '2.5.0' +pod 'AFNetworkActivityLogger', '2.0.3', :configurations => ['Debug'] \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/SAPTracker/src/xcode/Podfile.lock similarity index 81% rename from ios/Podfile.lock rename to ios/SAPTracker/src/xcode/Podfile.lock index 6d64efa9042..128df4346eb 100644 --- a/ios/Podfile.lock +++ b/ios/SAPTracker/src/xcode/Podfile.lock @@ -25,11 +25,11 @@ PODS: - AFNetworking/NSURLSession DEPENDENCIES: - - AFNetworkActivityLogger - - AFNetworking (~> 2.4) + - AFNetworkActivityLogger (= 2.0.3) + - AFNetworking (= 2.5.0) SPEC CHECKSUMS: - AFNetworkActivityLogger: d6a2d2755fada3a1fbf1f490ec0dd92224e092a4 - AFNetworking: 0f54cb5d16ce38c1b76948faffb8d5fb705021c7 + AFNetworkActivityLogger: e82c9ba285b37042d86729bff5b14036c4312cd7 + AFNetworking: 96ac9bf3eda33582701cb1fcc5b896aa1e20311e -COCOAPODS: 0.35.0 +COCOAPODS: 0.38.2 diff --git a/ios/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.h b/ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.h similarity index 100% rename from ios/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.h diff --git a/ios/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.m b/ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.m similarity index 100% rename from ios/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.m diff --git a/ios/Pods/AFNetworkActivityLogger/LICENSE b/ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/LICENSE similarity index 100% rename from ios/Pods/AFNetworkActivityLogger/LICENSE rename to ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/LICENSE diff --git a/ios/Pods/AFNetworkActivityLogger/README.md b/ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/README.md similarity index 100% rename from ios/Pods/AFNetworkActivityLogger/README.md rename to ios/SAPTracker/src/xcode/Pods/AFNetworkActivityLogger/README.md diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFNetworking.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h diff --git a/ios/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m similarity index 100% rename from ios/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m diff --git a/ios/Pods/AFNetworking/LICENSE b/ios/SAPTracker/src/xcode/Pods/AFNetworking/LICENSE similarity index 100% rename from ios/Pods/AFNetworking/LICENSE rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/LICENSE diff --git a/ios/Pods/AFNetworking/README.md b/ios/SAPTracker/src/xcode/Pods/AFNetworking/README.md similarity index 100% rename from ios/Pods/AFNetworking/README.md rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/README.md diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.m diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h diff --git a/ios/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m b/ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m similarity index 100% rename from ios/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m rename to ios/SAPTracker/src/xcode/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m diff --git a/ios/Pods/Headers/Public/AFNetworkActivityLogger/AFNetworkActivityLogger.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworkActivityLogger/AFNetworkActivityLogger.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworkActivityLogger/AFNetworkActivityLogger.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworkActivityLogger/AFNetworkActivityLogger.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h diff --git a/ios/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h diff --git a/ios/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h similarity index 100% rename from ios/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h rename to ios/SAPTracker/src/xcode/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworkActivityLogger/AFNetworkActivityLogger.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworkActivityLogger/AFNetworkActivityLogger.h new file mode 120000 index 00000000000..e0d89901efb --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworkActivityLogger/AFNetworkActivityLogger.h @@ -0,0 +1 @@ +../../../AFNetworkActivityLogger/AFNetworkActivityLogger/AFNetworkActivityLogger.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h new file mode 120000 index 00000000000..ac762c82387 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h new file mode 120000 index 00000000000..9dcc623c638 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h new file mode 120000 index 00000000000..56feb9fb85e --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h new file mode 120000 index 00000000000..67519d98485 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h new file mode 120000 index 00000000000..68fc7744f28 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworking.h new file mode 120000 index 00000000000..a5a38da7dc9 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h new file mode 120000 index 00000000000..fd1322db9c2 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFSecurityPolicy.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h new file mode 120000 index 00000000000..d9b35fb754f --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h new file mode 120000 index 00000000000..ca8209b81f9 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h new file mode 120000 index 00000000000..e36a765d826 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h new file mode 120000 index 00000000000..835101de7bf --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFURLSessionManager.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h new file mode 120000 index 00000000000..c534ebfb02a --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h new file mode 120000 index 00000000000..f9928133851 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h new file mode 120000 index 00000000000..8f2e221939a --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h new file mode 120000 index 00000000000..a95d67380f1 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h new file mode 120000 index 00000000000..95017cce573 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h new file mode 120000 index 00000000000..730b167dcde --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h new file mode 120000 index 00000000000..8efd8262093 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h new file mode 120000 index 00000000000..c8df6ef17b8 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h @@ -0,0 +1 @@ +../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h \ No newline at end of file diff --git a/ios/Pods/Manifest.lock b/ios/SAPTracker/src/xcode/Pods/Manifest.lock similarity index 81% rename from ios/Pods/Manifest.lock rename to ios/SAPTracker/src/xcode/Pods/Manifest.lock index 6d64efa9042..128df4346eb 100644 --- a/ios/Pods/Manifest.lock +++ b/ios/SAPTracker/src/xcode/Pods/Manifest.lock @@ -25,11 +25,11 @@ PODS: - AFNetworking/NSURLSession DEPENDENCIES: - - AFNetworkActivityLogger - - AFNetworking (~> 2.4) + - AFNetworkActivityLogger (= 2.0.3) + - AFNetworking (= 2.5.0) SPEC CHECKSUMS: - AFNetworkActivityLogger: d6a2d2755fada3a1fbf1f490ec0dd92224e092a4 - AFNetworking: 0f54cb5d16ce38c1b76948faffb8d5fb705021c7 + AFNetworkActivityLogger: e82c9ba285b37042d86729bff5b14036c4312cd7 + AFNetworking: 96ac9bf3eda33582701cb1fcc5b896aa1e20311e -COCOAPODS: 0.35.0 +COCOAPODS: 0.38.2 diff --git a/ios/SAPTracker/src/xcode/Pods/Pods.xcodeproj/project.pbxproj b/ios/SAPTracker/src/xcode/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..db59e3209b4 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,782 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 025E6747910E56011BA2D83BF880DF8D /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 82BD37C04D19B3A67B19F098C8EC42F4 /* AFURLResponseSerialization.m */; }; + 081CADCC8048F53A161D9266E6A83376 /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 972E9D309A282EB65FDFE4EB44AE2488 /* AFHTTPRequestOperationManager.m */; }; + 09FC07D17013C78518F1F288A29B5B0D /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = C513F09683FA5B9FDAEA9EEAE26A0F26 /* UIButton+AFNetworking.m */; }; + 15B08ACB995753995E80BA75F9103306 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = C800B4312D64B9C02BC8FCA6FBC4C549 /* AFSecurityPolicy.m */; }; + 18F673E75E690807EB07CBB4CE19FAEA /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 64BE514B696E322F3DCA240DAF103D2E /* AFHTTPSessionManager.h */; }; + 192D0C2F489A39601D6F8554B0B360EF /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A2BFEF5BA3A0695086C375BC09DC370B /* AFHTTPRequestOperation.m */; }; + 1BEB36DFBDA89692F8C13D1D59F061AD /* AFURLConnectionOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = DD39031DD7FE2501B6C846C1B3D8DC3B /* AFURLConnectionOperation.h */; }; + 26D4DA6F1A00790F4655E1CF354FEA6E /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = D67E92338396E7B9D0CF98F7405CB8FE /* AFURLRequestSerialization.m */; }; + 29582756D157B663C861F87A3B786A7A /* UIAlertView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F4DC7E9F698526C638E05983D7E9F59D /* UIAlertView+AFNetworking.m */; }; + 2AA218480E5B867131FBDBC9FB9BD397 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = B95E9F5279B8786B904FC6024A34A89E /* UIActivityIndicatorView+AFNetworking.m */; }; + 32A554551747164958B9915C561FB328 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6B765039E99B6851BBE3ED1DA0B00D /* AFHTTPSessionManager.m */; }; + 4393DF4DE6B79274752055AC1AA52B35 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 96600891D0D41680AEF339DAC2AF4326 /* AFURLRequestSerialization.h */; }; + 51D8BFC8313148D60950851D4625E219 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A4CCAA7F40C831B14C24D547FB5B4D9 /* Foundation.framework */; }; + 5314E53C8A36ED00BB2F78FDB9FBF86D /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 93663AA788B6828E596F19F62CC07F5D /* UIImageView+AFNetworking.h */; }; + 59B3A8278FB3A9337B85DF48B67EA41A /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 89EF23DED4F8FF5024059B9D419F4CE0 /* UIWebView+AFNetworking.h */; }; + 5F7BFD22B34066746743982D1579FAD9 /* AFHTTPRequestOperationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 596C9E516B69E6A2C441A722C6209831 /* AFHTTPRequestOperationManager.h */; }; + 6244A1E5B4A5E9CC2594E538B9076226 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E80BCAB2D7D93EA3ADCAAA2585C75A8C /* UIActivityIndicatorView+AFNetworking.h */; }; + 6375DA2CAFA15B08926A49A055BE4FA6 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D512A020B513DDF434AB67A1C3A065F /* AFSecurityPolicy.h */; }; + 663A052303C8C8064B20957E6BABB7E5 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EB9EC509DAC4DCC0DD7845ADA57B294 /* AFNetworkReachabilityManager.h */; }; + 6754EA424017808C31014E6B3E7CFBA1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 194BABAD50E26C26090EAF3CCC989755 /* Security.framework */; }; + 685DA92F0217B618F4F6BDE15F8609F3 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EEF5BB3B32B5D8A619F503AD2409050 /* UIRefreshControl+AFNetworking.m */; }; + 6C4B59205A44209F8B2C3750075D6312 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E89A11D00B5079678993CFB6FE0F3523 /* UIRefreshControl+AFNetworking.h */; }; + 75965E64A23429676DC9E774677EB728 /* AFHTTPRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 332BA9C05FB239B15F40CEA10174E6FA /* AFHTTPRequestOperation.h */; }; + 7A7C7239F0B3584177EA5A61F4B052BE /* AFNetworkActivityLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 34E26EB4BA946976675D38DBE96FDA54 /* AFNetworkActivityLogger.m */; }; + 7FC5AC9660821F1C7223587733F9CDCC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FC9012E7A28327C8465EEA7671C187D /* CoreGraphics.framework */; }; + 813E71ED690E24E7C9FD21A2BB54F1E0 /* UIAlertView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E2BA590CD2C87BA5F66E0A84C1EFFE34 /* UIAlertView+AFNetworking.h */; }; + 86D9F9D3AA0CD9895C5ADCC41DDC7C4E /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44E0CF9CBBDA2D389DA61144BDB5FF0 /* SystemConfiguration.framework */; }; + 87120BE62826ADC477A0CF766A97DAA4 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = EEA7AA7C06D6E8A19CF368E78759CD3D /* UIKit+AFNetworking.h */; }; + 8FB22D7D85FBC0D18B09E2E160D10A2B /* AFNetworkActivityLogger-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FEE5B473F20A7BA4C6F3752DFE0C3E74 /* AFNetworkActivityLogger-dummy.m */; }; + 907452784922BC9FF45DA0C9D59A8E9B /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EE37C79C29C262204A0398008AD4660D /* AFNetworkActivityIndicatorManager.h */; }; + 9741BC43CA64A80F797CF7A300DDFF68 /* AFNetworkActivityLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = A758F8E1D90FF693142B3FF8E1EF5192 /* AFNetworkActivityLogger.h */; }; + 97D515CA521990F52638874E3DEFB54A /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B40F9DBA6FF69F2F6CDFFD022184B63 /* UIProgressView+AFNetworking.h */; }; + 9FD32F6805143DCF52EC69291DBA2179 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7902D5BBF1854500BEDEB7892186999C /* AFURLSessionManager.m */; }; + A2994342DD5F82F8324B3B6B0F4B2CAD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A4CCAA7F40C831B14C24D547FB5B4D9 /* Foundation.framework */; }; + A33F3299CA52ED6774E8A845F024B569 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 17EDC614745310AA3FA5F6F649724050 /* UIWebView+AFNetworking.m */; }; + A6B75AE4D345C8725ED293DAF11E3070 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A4CCAA7F40C831B14C24D547FB5B4D9 /* Foundation.framework */; }; + AA9F1573BB802E172AD8B2692AA45706 /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB238CE84EDA2D4C7BA3405789B8E14 /* AFURLResponseSerialization.h */; }; + BB65C5D6C7D6D72DEA873016411350EF /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E919B4AD791E048C5ADB3BC85D5AF875 /* UIImageView+AFNetworking.m */; }; + C80CD0965A3093BDEE000A46ED3A3609 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F4323B875BB257B1AEFC09C6D4CF4FDA /* AFURLConnectionOperation.m */; }; + CECF96E43956493E34D445890D31C5CF /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 349CFA126FDBC341686BD24B4564E81F /* UIButton+AFNetworking.h */; }; + D4375A35D213D14C79616CE0A5E5D446 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 783610A25BA6944B19940CB50F8B3060 /* AFURLSessionManager.h */; }; + D6B1485BBFED1AF1169626253AE07CBF /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 74570FBEA8EAD5D9AB96DEEF0A7357BE /* Pods-dummy.m */; }; + E3126C768050A3A2083A738F777B962E /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 83345E677054A966E86DD205742A52CA /* AFNetworkReachabilityManager.m */; }; + E5358D89338123E5FDAD13299AEAAF4E /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DF4E819D4C55376A9AF79BC0AD782E4 /* AFNetworking-dummy.m */; }; + F3689EDC4174E5D4FDDB4122D752B60C /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB28CDBBC539CCA2848526B8AC4F2B8 /* MobileCoreServices.framework */; }; + F81DC032394DDE2E36F27B53A6F84E6D /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DDE9B0DC922D1B2537F6A72BAA8064A /* AFNetworkActivityIndicatorManager.m */; }; + FA5FCAB1EEB69ACB439917555962A8ED /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DB38DC0033518B27150331F75C90107A /* AFNetworking.h */; }; + FCD49A40D6CA7E0004CE68D004F855C2 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = C8B9DC86DB3660F457BC371C49940E0D /* UIProgressView+AFNetworking.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 177D00269F4BF67FF1871F64836CFBC4 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 349C8636459695DB16019E4A7683161A; + remoteInfo = AFNetworkActivityLogger; + }; + 54385AD0D3545E5B93DD906A5CA369A5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4740EFA4199EC7173ED2C752A903316E; + remoteInfo = AFNetworking; + }; + A8360A0829B02F8A3E48C3C897455DD8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4740EFA4199EC7173ED2C752A903316E; + remoteInfo = AFNetworking; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0B40F9DBA6FF69F2F6CDFFD022184B63 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; + 17EDC614745310AA3FA5F6F649724050 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; + 194BABAD50E26C26090EAF3CCC989755 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 1FC9012E7A28327C8465EEA7671C187D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + 2E24355D20F9985A2E38FC29CA66617E /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + 332BA9C05FB239B15F40CEA10174E6FA /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPRequestOperation.h; path = AFNetworking/AFHTTPRequestOperation.h; sourceTree = ""; }; + 349CFA126FDBC341686BD24B4564E81F /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + 34E26EB4BA946976675D38DBE96FDA54 /* AFNetworkActivityLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityLogger.m; path = AFNetworkActivityLogger/AFNetworkActivityLogger.m; sourceTree = ""; }; + 3DF4E819D4C55376A9AF79BC0AD782E4 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + 4066FB3D56AF33E753573F0554122A90 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 491F530684ABE0C250361CF89F4D98F2 /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4AB28CDBBC539CCA2848526B8AC4F2B8 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; + 4B6B765039E99B6851BBE3ED1DA0B00D /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + 596C9E516B69E6A2C441A722C6209831 /* AFHTTPRequestOperationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPRequestOperationManager.h; path = AFNetworking/AFHTTPRequestOperationManager.h; sourceTree = ""; }; + 5A4CCAA7F40C831B14C24D547FB5B4D9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 5EB9EC509DAC4DCC0DD7845ADA57B294 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + 602B51B19F654E3ACED00ABFECEEA663 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; + 64BE514B696E322F3DCA240DAF103D2E /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + 74570FBEA8EAD5D9AB96DEEF0A7357BE /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + 783610A25BA6944B19940CB50F8B3060 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + 7902D5BBF1854500BEDEB7892186999C /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 7D512A020B513DDF434AB67A1C3A065F /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + 7EB238CE84EDA2D4C7BA3405789B8E14 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 82BD37C04D19B3A67B19F098C8EC42F4 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + 83345E677054A966E86DD205742A52CA /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 89EF23DED4F8FF5024059B9D419F4CE0 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; + 8DDE9B0DC922D1B2537F6A72BAA8064A /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 8E6CC3BD654674B899480FC2100FAB81 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 93663AA788B6828E596F19F62CC07F5D /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + 96600891D0D41680AEF339DAC2AF4326 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 972E9D309A282EB65FDFE4EB44AE2488 /* AFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperationManager.m; path = AFNetworking/AFHTTPRequestOperationManager.m; sourceTree = ""; }; + 9EEF5BB3B32B5D8A619F503AD2409050 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + A25D0CBC0C6347F3CD6A0FF8B5EAA94E /* libAFNetworkActivityLogger.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAFNetworkActivityLogger.a; sourceTree = BUILT_PRODUCTS_DIR; }; + A2BFEF5BA3A0695086C375BC09DC370B /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperation.m; path = AFNetworking/AFHTTPRequestOperation.m; sourceTree = ""; }; + A758F8E1D90FF693142B3FF8E1EF5192 /* AFNetworkActivityLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityLogger.h; path = AFNetworkActivityLogger/AFNetworkActivityLogger.h; sourceTree = ""; }; + B173EA68BDE4EBF27E0F0FBD584C2043 /* AFNetworkActivityLogger.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworkActivityLogger.xcconfig; sourceTree = ""; }; + B6E8F9C8B561C38A3C904D84E5AF6A6F /* AFNetworkActivityLogger-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AFNetworkActivityLogger-Private.xcconfig"; sourceTree = ""; }; + B95E9F5279B8786B904FC6024A34A89E /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BB26CC8C37233104B0CD59EF23DE0661 /* AFNetworking-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "AFNetworking-Private.xcconfig"; sourceTree = ""; }; + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; + C44E0CF9CBBDA2D389DA61144BDB5FF0 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; + C513F09683FA5B9FDAEA9EEAE26A0F26 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + C800B4312D64B9C02BC8FCA6FBC4C549 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + C8B9DC86DB3660F457BC371C49940E0D /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + D67E92338396E7B9D0CF98F7405CB8FE /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + DA09B2020E2A9137848F660BA56CF6CB /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; + DB38DC0033518B27150331F75C90107A /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + DD39031DD7FE2501B6C846C1B3D8DC3B /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLConnectionOperation.h; path = AFNetworking/AFURLConnectionOperation.h; sourceTree = ""; }; + E2BA590CD2C87BA5F66E0A84C1EFFE34 /* UIAlertView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIAlertView+AFNetworking.h"; path = "UIKit+AFNetworking/UIAlertView+AFNetworking.h"; sourceTree = ""; }; + E80BCAB2D7D93EA3ADCAAA2585C75A8C /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + E89A11D00B5079678993CFB6FE0F3523 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + E919B4AD791E048C5ADB3BC85D5AF875 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + EE37C79C29C262204A0398008AD4660D /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + EEA7AA7C06D6E8A19CF368E78759CD3D /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + F4323B875BB257B1AEFC09C6D4CF4FDA /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLConnectionOperation.m; path = AFNetworking/AFURLConnectionOperation.m; sourceTree = ""; }; + F4DC7E9F698526C638E05983D7E9F59D /* UIAlertView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAlertView+AFNetworking.m"; path = "UIKit+AFNetworking/UIAlertView+AFNetworking.m"; sourceTree = ""; }; + FB6E37E19F0E4B4EA7D2A7106F9FCE94 /* AFNetworkActivityLogger-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworkActivityLogger-prefix.pch"; sourceTree = ""; }; + FEE5B473F20A7BA4C6F3752DFE0C3E74 /* AFNetworkActivityLogger-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworkActivityLogger-dummy.m"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1920492E9DB6D2E164130E805FF2E6E5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A2994342DD5F82F8324B3B6B0F4B2CAD /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2C7F2717542D3B3839F4F0E115FA1A18 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7FC5AC9660821F1C7223587733F9CDCC /* CoreGraphics.framework in Frameworks */, + A6B75AE4D345C8725ED293DAF11E3070 /* Foundation.framework in Frameworks */, + F3689EDC4174E5D4FDDB4122D752B60C /* MobileCoreServices.framework in Frameworks */, + 6754EA424017808C31014E6B3E7CFBA1 /* Security.framework in Frameworks */, + 86D9F9D3AA0CD9895C5ADCC41DDC7C4E /* SystemConfiguration.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E1FD8D1BABE67E0F0F3422E8A2BD38E4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 51D8BFC8313148D60950851D4625E219 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0464617FDABCF2CFA331749DBB872F5F /* NSURLSession */ = { + isa = PBXGroup; + children = ( + 64BE514B696E322F3DCA240DAF103D2E /* AFHTTPSessionManager.h */, + 4B6B765039E99B6851BBE3ED1DA0B00D /* AFHTTPSessionManager.m */, + 783610A25BA6944B19940CB50F8B3060 /* AFURLSessionManager.h */, + 7902D5BBF1854500BEDEB7892186999C /* AFURLSessionManager.m */, + ); + name = NSURLSession; + sourceTree = ""; + }; + 0EB4052B31529DBA5CF25CFE10910596 /* NSURLConnection */ = { + isa = PBXGroup; + children = ( + 332BA9C05FB239B15F40CEA10174E6FA /* AFHTTPRequestOperation.h */, + A2BFEF5BA3A0695086C375BC09DC370B /* AFHTTPRequestOperation.m */, + 596C9E516B69E6A2C441A722C6209831 /* AFHTTPRequestOperationManager.h */, + 972E9D309A282EB65FDFE4EB44AE2488 /* AFHTTPRequestOperationManager.m */, + DD39031DD7FE2501B6C846C1B3D8DC3B /* AFURLConnectionOperation.h */, + F4323B875BB257B1AEFC09C6D4CF4FDA /* AFURLConnectionOperation.m */, + ); + name = NSURLConnection; + sourceTree = ""; + }; + 20B56609144CE204DFA8221F742B2D76 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D39F297F7432FCFAB7049A1566A95C1A /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 271A5776C18F89450F1140CCA7A6CFDF /* Serialization */ = { + isa = PBXGroup; + children = ( + 96600891D0D41680AEF339DAC2AF4326 /* AFURLRequestSerialization.h */, + D67E92338396E7B9D0CF98F7405CB8FE /* AFURLRequestSerialization.m */, + 7EB238CE84EDA2D4C7BA3405789B8E14 /* AFURLResponseSerialization.h */, + 82BD37C04D19B3A67B19F098C8EC42F4 /* AFURLResponseSerialization.m */, + ); + name = Serialization; + sourceTree = ""; + }; + 45D1497504DB07B926870354848D6C5E /* Support Files */ = { + isa = PBXGroup; + children = ( + B173EA68BDE4EBF27E0F0FBD584C2043 /* AFNetworkActivityLogger.xcconfig */, + B6E8F9C8B561C38A3C904D84E5AF6A6F /* AFNetworkActivityLogger-Private.xcconfig */, + FEE5B473F20A7BA4C6F3752DFE0C3E74 /* AFNetworkActivityLogger-dummy.m */, + FB6E37E19F0E4B4EA7D2A7106F9FCE94 /* AFNetworkActivityLogger-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/AFNetworkActivityLogger"; + sourceTree = ""; + }; + 5885AB07A491D26173A0DC5475437750 /* Reachability */ = { + isa = PBXGroup; + children = ( + 5EB9EC509DAC4DCC0DD7845ADA57B294 /* AFNetworkReachabilityManager.h */, + 83345E677054A966E86DD205742A52CA /* AFNetworkReachabilityManager.m */, + ); + name = Reachability; + sourceTree = ""; + }; + 650930E5D950E0C9EEF22DCA5E9E181C /* AFNetworking */ = { + isa = PBXGroup; + children = ( + DB38DC0033518B27150331F75C90107A /* AFNetworking.h */, + 0EB4052B31529DBA5CF25CFE10910596 /* NSURLConnection */, + 0464617FDABCF2CFA331749DBB872F5F /* NSURLSession */, + 5885AB07A491D26173A0DC5475437750 /* Reachability */, + 71B2EF470198619BF60F96AB893D257D /* Security */, + 271A5776C18F89450F1140CCA7A6CFDF /* Serialization */, + AEB2BD38731D472D4A7A1475AE6A0CBD /* Support Files */, + 6D2B08BC6767555F600DD289FB7FB754 /* UIKit */, + ); + path = AFNetworking; + sourceTree = ""; + }; + 6D2B08BC6767555F600DD289FB7FB754 /* UIKit */ = { + isa = PBXGroup; + children = ( + EE37C79C29C262204A0398008AD4660D /* AFNetworkActivityIndicatorManager.h */, + 8DDE9B0DC922D1B2537F6A72BAA8064A /* AFNetworkActivityIndicatorManager.m */, + E80BCAB2D7D93EA3ADCAAA2585C75A8C /* UIActivityIndicatorView+AFNetworking.h */, + B95E9F5279B8786B904FC6024A34A89E /* UIActivityIndicatorView+AFNetworking.m */, + E2BA590CD2C87BA5F66E0A84C1EFFE34 /* UIAlertView+AFNetworking.h */, + F4DC7E9F698526C638E05983D7E9F59D /* UIAlertView+AFNetworking.m */, + 349CFA126FDBC341686BD24B4564E81F /* UIButton+AFNetworking.h */, + C513F09683FA5B9FDAEA9EEAE26A0F26 /* UIButton+AFNetworking.m */, + 93663AA788B6828E596F19F62CC07F5D /* UIImageView+AFNetworking.h */, + E919B4AD791E048C5ADB3BC85D5AF875 /* UIImageView+AFNetworking.m */, + EEA7AA7C06D6E8A19CF368E78759CD3D /* UIKit+AFNetworking.h */, + 0B40F9DBA6FF69F2F6CDFFD022184B63 /* UIProgressView+AFNetworking.h */, + C8B9DC86DB3660F457BC371C49940E0D /* UIProgressView+AFNetworking.m */, + E89A11D00B5079678993CFB6FE0F3523 /* UIRefreshControl+AFNetworking.h */, + 9EEF5BB3B32B5D8A619F503AD2409050 /* UIRefreshControl+AFNetworking.m */, + 89EF23DED4F8FF5024059B9D419F4CE0 /* UIWebView+AFNetworking.h */, + 17EDC614745310AA3FA5F6F649724050 /* UIWebView+AFNetworking.m */, + ); + name = UIKit; + sourceTree = ""; + }; + 71B2EF470198619BF60F96AB893D257D /* Security */ = { + isa = PBXGroup; + children = ( + 7D512A020B513DDF434AB67A1C3A065F /* AFSecurityPolicy.h */, + C800B4312D64B9C02BC8FCA6FBC4C549 /* AFSecurityPolicy.m */, + ); + name = Security; + sourceTree = ""; + }; + 7C764A93AD6CB011EE2F92D0EFE22E9A /* AFNetworkActivityLogger */ = { + isa = PBXGroup; + children = ( + A758F8E1D90FF693142B3FF8E1EF5192 /* AFNetworkActivityLogger.h */, + 34E26EB4BA946976675D38DBE96FDA54 /* AFNetworkActivityLogger.m */, + 45D1497504DB07B926870354848D6C5E /* Support Files */, + ); + path = AFNetworkActivityLogger; + sourceTree = ""; + }; + 7DB346D0F39D3F0E887471402A8071AB = { + isa = PBXGroup; + children = ( + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, + 20B56609144CE204DFA8221F742B2D76 /* Frameworks */, + F88C05AF42F4401EFB3AC9D218791A5B /* Pods */, + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */, + ); + sourceTree = ""; + }; + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */ = { + isa = PBXGroup; + children = ( + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */, + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */, + 74570FBEA8EAD5D9AB96DEEF0A7357BE /* Pods-dummy.m */, + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */, + DA09B2020E2A9137848F660BA56CF6CB /* Pods.debug.xcconfig */, + 8E6CC3BD654674B899480FC2100FAB81 /* Pods.release.xcconfig */, + ); + name = Pods; + path = "Target Support Files/Pods"; + sourceTree = ""; + }; + AEB2BD38731D472D4A7A1475AE6A0CBD /* Support Files */ = { + isa = PBXGroup; + children = ( + 602B51B19F654E3ACED00ABFECEEA663 /* AFNetworking.xcconfig */, + BB26CC8C37233104B0CD59EF23DE0661 /* AFNetworking-Private.xcconfig */, + 3DF4E819D4C55376A9AF79BC0AD782E4 /* AFNetworking-dummy.m */, + 2E24355D20F9985A2E38FC29CA66617E /* AFNetworking-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; + sourceTree = ""; + }; + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { + isa = PBXGroup; + children = ( + A25D0CBC0C6347F3CD6A0FF8B5EAA94E /* libAFNetworkActivityLogger.a */, + 491F530684ABE0C250361CF89F4D98F2 /* libAFNetworking.a */, + 4066FB3D56AF33E753573F0554122A90 /* libPods.a */, + ); + name = Products; + sourceTree = ""; + }; + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + D39F297F7432FCFAB7049A1566A95C1A /* iOS */ = { + isa = PBXGroup; + children = ( + 1FC9012E7A28327C8465EEA7671C187D /* CoreGraphics.framework */, + 5A4CCAA7F40C831B14C24D547FB5B4D9 /* Foundation.framework */, + 4AB28CDBBC539CCA2848526B8AC4F2B8 /* MobileCoreServices.framework */, + 194BABAD50E26C26090EAF3CCC989755 /* Security.framework */, + C44E0CF9CBBDA2D389DA61144BDB5FF0 /* SystemConfiguration.framework */, + ); + name = iOS; + sourceTree = ""; + }; + F88C05AF42F4401EFB3AC9D218791A5B /* Pods */ = { + isa = PBXGroup; + children = ( + 7C764A93AD6CB011EE2F92D0EFE22E9A /* AFNetworkActivityLogger */, + 650930E5D950E0C9EEF22DCA5E9E181C /* AFNetworking */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 1C75DAF6CB6D26DE245E7D63BEE4B568 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 75965E64A23429676DC9E774677EB728 /* AFHTTPRequestOperation.h in Headers */, + 5F7BFD22B34066746743982D1579FAD9 /* AFHTTPRequestOperationManager.h in Headers */, + 18F673E75E690807EB07CBB4CE19FAEA /* AFHTTPSessionManager.h in Headers */, + 907452784922BC9FF45DA0C9D59A8E9B /* AFNetworkActivityIndicatorManager.h in Headers */, + 663A052303C8C8064B20957E6BABB7E5 /* AFNetworkReachabilityManager.h in Headers */, + FA5FCAB1EEB69ACB439917555962A8ED /* AFNetworking.h in Headers */, + 6375DA2CAFA15B08926A49A055BE4FA6 /* AFSecurityPolicy.h in Headers */, + 1BEB36DFBDA89692F8C13D1D59F061AD /* AFURLConnectionOperation.h in Headers */, + 4393DF4DE6B79274752055AC1AA52B35 /* AFURLRequestSerialization.h in Headers */, + AA9F1573BB802E172AD8B2692AA45706 /* AFURLResponseSerialization.h in Headers */, + D4375A35D213D14C79616CE0A5E5D446 /* AFURLSessionManager.h in Headers */, + 6244A1E5B4A5E9CC2594E538B9076226 /* UIActivityIndicatorView+AFNetworking.h in Headers */, + 813E71ED690E24E7C9FD21A2BB54F1E0 /* UIAlertView+AFNetworking.h in Headers */, + CECF96E43956493E34D445890D31C5CF /* UIButton+AFNetworking.h in Headers */, + 5314E53C8A36ED00BB2F78FDB9FBF86D /* UIImageView+AFNetworking.h in Headers */, + 87120BE62826ADC477A0CF766A97DAA4 /* UIKit+AFNetworking.h in Headers */, + 97D515CA521990F52638874E3DEFB54A /* UIProgressView+AFNetworking.h in Headers */, + 6C4B59205A44209F8B2C3750075D6312 /* UIRefreshControl+AFNetworking.h in Headers */, + 59B3A8278FB3A9337B85DF48B67EA41A /* UIWebView+AFNetworking.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A9E7D726E639437E42C9CAB857E9234A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9741BC43CA64A80F797CF7A300DDFF68 /* AFNetworkActivityLogger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 349C8636459695DB16019E4A7683161A /* AFNetworkActivityLogger */ = { + isa = PBXNativeTarget; + buildConfigurationList = 717FE1EEBE4F9BDD8FCAAEECC4A5B8C7 /* Build configuration list for PBXNativeTarget "AFNetworkActivityLogger" */; + buildPhases = ( + 1C0214A0CAA09232ED0CB119275D2762 /* Sources */, + E1FD8D1BABE67E0F0F3422E8A2BD38E4 /* Frameworks */, + A9E7D726E639437E42C9CAB857E9234A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 69270ECA2838443BA84CAE2AD235C30F /* PBXTargetDependency */, + ); + name = AFNetworkActivityLogger; + productName = AFNetworkActivityLogger; + productReference = A25D0CBC0C6347F3CD6A0FF8B5EAA94E /* libAFNetworkActivityLogger.a */; + productType = "com.apple.product-type.library.static"; + }; + 4740EFA4199EC7173ED2C752A903316E /* AFNetworking */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4A9CAADB7542792DDF525BBD7E3C2273 /* Build configuration list for PBXNativeTarget "AFNetworking" */; + buildPhases = ( + 87770F590517B7D9CFCD4A8AC622EE6B /* Sources */, + 2C7F2717542D3B3839F4F0E115FA1A18 /* Frameworks */, + 1C75DAF6CB6D26DE245E7D63BEE4B568 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AFNetworking; + productName = AFNetworking; + productReference = 491F530684ABE0C250361CF89F4D98F2 /* libAFNetworking.a */; + productType = "com.apple.product-type.library.static"; + }; + A6D0CE1BA9EEBE59D9198973ED1466CE /* Pods */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13578CF905B5068DFE0FE2F89C5723E5 /* Build configuration list for PBXNativeTarget "Pods" */; + buildPhases = ( + 625AF712EA4007238D95A6752A16BCC2 /* Sources */, + 1920492E9DB6D2E164130E805FF2E6E5 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + F05C59C04F0B4944099437DC6412886A /* PBXTargetDependency */, + 88B5F44AD6CBDF8D1B93109394790873 /* PBXTargetDependency */, + ); + name = Pods; + productName = Pods; + productReference = 4066FB3D56AF33E753573F0554122A90 /* libPods.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 0700; + }; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 349C8636459695DB16019E4A7683161A /* AFNetworkActivityLogger */, + 4740EFA4199EC7173ED2C752A903316E /* AFNetworking */, + A6D0CE1BA9EEBE59D9198973ED1466CE /* Pods */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 1C0214A0CAA09232ED0CB119275D2762 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8FB22D7D85FBC0D18B09E2E160D10A2B /* AFNetworkActivityLogger-dummy.m in Sources */, + 7A7C7239F0B3584177EA5A61F4B052BE /* AFNetworkActivityLogger.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 625AF712EA4007238D95A6752A16BCC2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6B1485BBFED1AF1169626253AE07CBF /* Pods-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 87770F590517B7D9CFCD4A8AC622EE6B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 192D0C2F489A39601D6F8554B0B360EF /* AFHTTPRequestOperation.m in Sources */, + 081CADCC8048F53A161D9266E6A83376 /* AFHTTPRequestOperationManager.m in Sources */, + 32A554551747164958B9915C561FB328 /* AFHTTPSessionManager.m in Sources */, + F81DC032394DDE2E36F27B53A6F84E6D /* AFNetworkActivityIndicatorManager.m in Sources */, + E3126C768050A3A2083A738F777B962E /* AFNetworkReachabilityManager.m in Sources */, + E5358D89338123E5FDAD13299AEAAF4E /* AFNetworking-dummy.m in Sources */, + 15B08ACB995753995E80BA75F9103306 /* AFSecurityPolicy.m in Sources */, + C80CD0965A3093BDEE000A46ED3A3609 /* AFURLConnectionOperation.m in Sources */, + 26D4DA6F1A00790F4655E1CF354FEA6E /* AFURLRequestSerialization.m in Sources */, + 025E6747910E56011BA2D83BF880DF8D /* AFURLResponseSerialization.m in Sources */, + 9FD32F6805143DCF52EC69291DBA2179 /* AFURLSessionManager.m in Sources */, + 2AA218480E5B867131FBDBC9FB9BD397 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + 29582756D157B663C861F87A3B786A7A /* UIAlertView+AFNetworking.m in Sources */, + 09FC07D17013C78518F1F288A29B5B0D /* UIButton+AFNetworking.m in Sources */, + BB65C5D6C7D6D72DEA873016411350EF /* UIImageView+AFNetworking.m in Sources */, + FCD49A40D6CA7E0004CE68D004F855C2 /* UIProgressView+AFNetworking.m in Sources */, + 685DA92F0217B618F4F6BDE15F8609F3 /* UIRefreshControl+AFNetworking.m in Sources */, + A33F3299CA52ED6774E8A845F024B569 /* UIWebView+AFNetworking.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 69270ECA2838443BA84CAE2AD235C30F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 4740EFA4199EC7173ED2C752A903316E /* AFNetworking */; + targetProxy = 54385AD0D3545E5B93DD906A5CA369A5 /* PBXContainerItemProxy */; + }; + 88B5F44AD6CBDF8D1B93109394790873 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 4740EFA4199EC7173ED2C752A903316E /* AFNetworking */; + targetProxy = A8360A0829B02F8A3E48C3C897455DD8 /* PBXContainerItemProxy */; + }; + F05C59C04F0B4944099437DC6412886A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworkActivityLogger; + target = 349C8636459695DB16019E4A7683161A /* AFNetworkActivityLogger */; + targetProxy = 177D00269F4BF67FF1871F64836CFBC4 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 03CA91998D6773EC5D02B3DB87B8353E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos8.3; + STRIP_INSTALLED_PRODUCT = NO; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos8.3; + STRIP_INSTALLED_PRODUCT = NO; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 305DF51FA13E80B0EAC76F683094132C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BB26CC8C37233104B0CD59EF23DE0661 /* AFNetworking-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 620E1E3F3D355635F7D1E8751A2DE472 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B6E8F9C8B561C38A3C904D84E5AF6A6F /* AFNetworkActivityLogger-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 63B9D4B2582DDE83E132B8C1844DEF57 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8E6CC3BD654674B899480FC2100FAB81 /* Pods.release.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + ADC7294C2FDBA2958A6CB05F9D2585E9 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BB26CC8C37233104B0CD59EF23DE0661 /* AFNetworking-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + B4312DC2B7304BF5F1E609249BDE2507 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DA09B2020E2A9137848F660BA56CF6CB /* Pods.debug.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + CC688A624CB543A1DDB063D779864270 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B6E8F9C8B561C38A3C904D84E5AF6A6F /* AFNetworkActivityLogger-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13578CF905B5068DFE0FE2F89C5723E5 /* Build configuration list for PBXNativeTarget "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B4312DC2B7304BF5F1E609249BDE2507 /* Debug */, + 63B9D4B2582DDE83E132B8C1844DEF57 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */, + 03CA91998D6773EC5D02B3DB87B8353E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4A9CAADB7542792DDF525BBD7E3C2273 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ADC7294C2FDBA2958A6CB05F9D2585E9 /* Debug */, + 305DF51FA13E80B0EAC76F683094132C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 717FE1EEBE4F9BDD8FCAAEECC4A5B8C7 /* Build configuration list for PBXNativeTarget "AFNetworkActivityLogger" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CC688A624CB543A1DDB063D779864270 /* Debug */, + 620E1E3F3D355635F7D1E8751A2DE472 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; +} diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-Private.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-Private.xcconfig new file mode 100644 index 00000000000..6895eb2fcc9 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-Private.xcconfig @@ -0,0 +1,5 @@ +#include "AFNetworkActivityLogger.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-dummy.m b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-dummy.m new file mode 100644 index 00000000000..740d1d5861a --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_AFNetworkActivityLogger : NSObject +@end +@implementation PodsDummy_AFNetworkActivityLogger +@end diff --git a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-prefix.pch b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-prefix.pch similarity index 62% rename from ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-prefix.pch rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-prefix.pch index 95cf11d9fb0..aa992a4adb2 100644 --- a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger-prefix.pch +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-environment.h" diff --git a/ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger.xcconfig similarity index 100% rename from ios/Pods/Target Support Files/Pods-AFNetworkActivityLogger/Pods-AFNetworkActivityLogger.xcconfig rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworkActivityLogger/AFNetworkActivityLogger.xcconfig diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig new file mode 100644 index 00000000000..10fd728e04c --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig @@ -0,0 +1,6 @@ +#include "AFNetworking.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" +OTHER_LDFLAGS = ${AFNETWORKING_OTHER_LDFLAGS} +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m new file mode 100644 index 00000000000..6a29cf8dadb --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_AFNetworking : NSObject +@end +@implementation PodsDummy_AFNetworking +@end diff --git a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-prefix.pch b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch similarity index 62% rename from ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-prefix.pch rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch index 95cf11d9fb0..aa992a4adb2 100644 --- a/ios/Pods/Target Support Files/Pods-AFNetworking/Pods-AFNetworking-prefix.pch +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-environment.h" diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig new file mode 100644 index 00000000000..b0b2d5292eb --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig @@ -0,0 +1 @@ +AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" \ No newline at end of file diff --git a/ios/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown similarity index 100% rename from ios/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown diff --git a/ios/Pods/Target Support Files/Pods/Pods-acknowledgements.plist b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-acknowledgements.plist similarity index 100% rename from ios/Pods/Target Support Files/Pods/Pods-acknowledgements.plist rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-acknowledgements.plist diff --git a/ios/Pods/Target Support Files/Pods/Pods-dummy.m b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-dummy.m similarity index 100% rename from ios/Pods/Target Support Files/Pods/Pods-dummy.m rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-dummy.m diff --git a/ios/Pods/Target Support Files/Pods/Pods-resources.sh b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-resources.sh similarity index 72% rename from ios/Pods/Target Support Files/Pods/Pods-resources.sh rename to ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-resources.sh index e149064a090..ea685a22b1d 100755 --- a/ios/Pods/Target Support Files/Pods/Pods-resources.sh +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods-resources.sh @@ -6,6 +6,14 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt > "$RESOURCES_TO_COPY" +XCASSET_FILES=() + +realpath() { + DIRECTORY="$(cd "${1%/*}" && pwd)" + FILENAME="${1##*/}" + echo "$DIRECTORY/$FILENAME" +} + install_resource() { case $1 in @@ -14,7 +22,7 @@ install_resource() ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.framework) @@ -36,6 +44,8 @@ install_resource() xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" ;; *.xcassets) + ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; /*) echo "$1" @@ -48,13 +58,15 @@ install_resource() esac } +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi rm -f "$RESOURCES_TO_COPY" -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] then case "${TARGETED_DEVICE_FAMILY}" in 1,2) @@ -70,5 +82,14 @@ then TARGET_DEVICE_ARGS="--target-device mac" ;; esac - find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "`realpath $PODS_ROOT`*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.debug.xcconfig new file mode 100644 index 00000000000..5568432ba2c --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -0,0 +1,5 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" +OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworkActivityLogger" -l"AFNetworking" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.release.xcconfig b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.release.xcconfig new file mode 100644 index 00000000000..012751458d2 --- /dev/null +++ b/ios/SAPTracker/src/xcode/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -0,0 +1,5 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" "${PODS_ROOT}/Headers/Public/AFNetworking" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworkActivityLogger" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" +OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/ios/SAPTracker.xcodeproj/project.pbxproj b/ios/SAPTracker/src/xcode/SAPTracker.xcodeproj/project.pbxproj similarity index 97% rename from ios/SAPTracker.xcodeproj/project.pbxproj rename to ios/SAPTracker/src/xcode/SAPTracker.xcodeproj/project.pbxproj index 80e6468adb9..718cb1dbcf2 100644 --- a/ios/SAPTracker.xcodeproj/project.pbxproj +++ b/ios/SAPTracker/src/xcode/SAPTracker.xcodeproj/project.pbxproj @@ -317,7 +317,6 @@ 7FED45C81A25F5900022505F /* competitor1.json in Resources */ = {isa = PBXBuildFile; fileRef = 7FED45C21A25F5900022505F /* competitor1.json */; }; 7FED45CA1A25F5910022505F /* event1.json in Resources */ = {isa = PBXBuildFile; fileRef = 7FED45C41A25F5900022505F /* event1.json */; }; 7FED45CC1A25F5910022505F /* leaderboard1.json in Resources */ = {isa = PBXBuildFile; fileRef = 7FED45C61A25F5900022505F /* leaderboard1.json */; }; - EAFE4EA346FB83C2B67C60B7 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 06377F0B2F2854497073FC0E /* libPods.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -328,6 +327,34 @@ remoteGlobalIDString = 7F83F14F19F154F000C53328; remoteInfo = SAPTracker; }; + C89A171B1B6A27CF00CE6814 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A25D0CBC0C6347F3CD6A0FF8B5EAA94E; + remoteInfo = AFNetworkActivityLogger; + }; + C89A171D1B6A27CF00CE6814 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 491F530684ABE0C250361CF89F4D98F2; + remoteInfo = AFNetworking; + }; + C8B31F7D1B68DAD500C8A809 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = AA2D50EF0C96F46B694820F2; + remoteInfo = Pods; + }; + C8B31F831B68DAEE00C8A809 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = A6D0CE1BA9EEBE59D9198973ED1466CE; + remoteInfo = Pods; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -649,6 +676,7 @@ 7FED45C21A25F5900022505F /* competitor1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = competitor1.json; sourceTree = ""; }; 7FED45C41A25F5900022505F /* event1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = event1.json; sourceTree = ""; }; 7FED45C61A25F5900022505F /* leaderboard1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = leaderboard1.json; sourceTree = ""; }; + C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Pods.xcodeproj; path = Pods/Pods.xcodeproj; sourceTree = ""; }; CF98F25F363113C51C7CB1F3 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; EA431711E588F5A2B31A62AC /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -660,7 +688,6 @@ files = ( 7FC5232D19F6AEE800BBFDCC /* AVFoundation.framework in Frameworks */, 7F83F17619F1574700C53328 /* CoreLocation.framework in Frameworks */, - EAFE4EA346FB83C2B67C60B7 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1044,6 +1071,7 @@ 7F83F14719F154F000C53328 = { isa = PBXGroup; children = ( + C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */, 7FAFB0B51A603C3E0054D457 /* LICENSE.txt */, 7F83F15219F154F000C53328 /* SAPTracker */, 7F83F16819F154F000C53328 /* SAPTrackerTests */, @@ -1112,6 +1140,16 @@ name = JSON; sourceTree = ""; }; + C8B31F781B68DAD400C8A809 /* Products */ = { + isa = PBXGroup; + children = ( + C89A171C1B6A27CF00CE6814 /* libAFNetworkActivityLogger.a */, + C89A171E1B6A27CF00CE6814 /* libAFNetworking.a */, + C8B31F7E1B68DAD500C8A809 /* libPods.a */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -1119,16 +1157,15 @@ isa = PBXNativeTarget; buildConfigurationList = 7F83F16F19F154F000C53328 /* Build configuration list for PBXNativeTarget "SAPTracker" */; buildPhases = ( - 2F709DA84C6F8CAB03CB7F15 /* Check Pods Manifest.lock */, 7F83F14C19F154F000C53328 /* Sources */, 7F83F14D19F154F000C53328 /* Frameworks */, 7F83F14E19F154F000C53328 /* Resources */, - DBF8E8393235EF60C87EB83C /* Copy Pods Resources */, 7FF3E4BE1A1DFCF20012F1FB /* ShellScript */, ); buildRules = ( ); dependencies = ( + C8B31F841B68DAEE00C8A809 /* PBXTargetDependency */, ); name = SAPTracker; productName = SAPTracker; @@ -1164,7 +1201,6 @@ TargetAttributes = { 7F83F14F19F154F000C53328 = { CreatedOnToolsVersion = 6.0.1; - DevelopmentTeam = RRE8EFVCE3; }; 7F83F16419F154F000C53328 = { CreatedOnToolsVersion = 6.0.1; @@ -1184,6 +1220,12 @@ mainGroup = 7F83F14719F154F000C53328; productRefGroup = 7F83F15119F154F000C53328 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = C8B31F781B68DAD400C8A809 /* Products */; + ProjectRef = C8B31F771B68DAD400C8A809 /* Pods.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 7F83F14F19F154F000C53328 /* SAPTracker */, @@ -1192,6 +1234,30 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + C89A171C1B6A27CF00CE6814 /* libAFNetworkActivityLogger.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libAFNetworkActivityLogger.a; + remoteRef = C89A171B1B6A27CF00CE6814 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + C89A171E1B6A27CF00CE6814 /* libAFNetworking.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libAFNetworking.a; + remoteRef = C89A171D1B6A27CF00CE6814 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + C8B31F7E1B68DAD500C8A809 /* libPods.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libPods.a; + remoteRef = C8B31F7D1B68DAD500C8A809 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 7F83F14E19F154F000C53328 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -1483,21 +1549,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2F709DA84C6F8CAB03CB7F15 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; 7FF3E4BE1A1DFCF20012F1FB /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1511,21 +1562,6 @@ shellPath = /bin/sh; shellScript = "FILE=\"${SRCROOT}/HockeySDK-iOS/BuildAgent\"\nif [ -f \"$FILE\" ]; then\n\"$FILE\"\nfi"; }; - DBF8E8393235EF60C87EB83C /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1583,6 +1619,11 @@ target = 7F83F14F19F154F000C53328 /* SAPTracker */; targetProxy = 7F83F16619F154F000C53328 /* PBXContainerItemProxy */; }; + C8B31F841B68DAEE00C8A809 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Pods; + targetProxy = C8B31F831B68DAEE00C8A809 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -1650,9 +1691,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(PROJECT_DIR)/Pods/**", + "${PROJECT_DIR}/Pods/build/${BUILD_STYLE}-${PLATFORM_NAME}/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LIBRARY_SEARCH_PATHS = "${PROJECT_DIR}/Pods/build/${BUILD_STYLE}-${PLATFORM_NAME}/**"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -1686,8 +1735,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(PROJECT_DIR)/Pods/**", + "${PROJECT_DIR}/Pods/build/${BUILD_STYLE}-${PLATFORM_NAME}/**", + ); IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LIBRARY_SEARCH_PATHS = "${PROJECT_DIR}/Pods/build/${BUILD_STYLE}-${PLATFORM_NAME}/**"; MTL_ENABLE_DEBUG_INFO = NO; + ONLY_ACTIVE_ARCH = YES; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -1699,14 +1757,15 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Developer: Raimund Wege (WAGJHJEE6V)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Raimund Wege (WAGJHJEE6V)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; INFOPLIST_FILE = SAPTracker/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_SWIFT_FLAGS = "-D DEBUG"; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "8a90e486-9896-4d99-91cd-7dc200bf6ab4"; + PROVISIONING_PROFILE = ""; SWIFT_OBJC_BRIDGING_HEADER = SAPTracker/bridge.h; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -1718,14 +1777,15 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Distribution: Ubilabs GmbH (RRE8EFVCE3)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Ubilabs GmbH (RRE8EFVCE3)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; INFOPLIST_FILE = SAPTracker/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_SWIFT_FLAGS = ""; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "b69fb7aa-cf0e-4b86-8907-ea643ed64cba"; + PROVISIONING_PROFILE = ""; SWIFT_OBJC_BRIDGING_HEADER = SAPTracker/bridge.h; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -1746,6 +1806,7 @@ ); INFOPLIST_FILE = SAPTrackerTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = SAPTracker/bridge.h; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SAPTracker.app/SAPTracker"; @@ -1763,6 +1824,7 @@ ); INFOPLIST_FILE = SAPTrackerTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PODS_ROOT = "$(PROJECT_DIR)/Pods"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = SAPTracker/bridge.h; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SAPTracker.app/SAPTracker"; diff --git a/ios/SAPTracker/APIManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/APIManager.swift similarity index 100% rename from ios/SAPTracker/APIManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/APIManager.swift diff --git a/ios/SAPTracker/AboutViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/AboutViewController.swift similarity index 100% rename from ios/SAPTracker/AboutViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/AboutViewController.swift diff --git a/ios/SAPTracker/AcceptTermsViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/AcceptTermsViewController.swift similarity index 100% rename from ios/SAPTracker/AcceptTermsViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/AcceptTermsViewController.swift diff --git a/ios/SAPTracker/AppDelegate.swift b/ios/SAPTracker/src/xcode/SAPTracker/AppDelegate.swift similarity index 100% rename from ios/SAPTracker/AppDelegate.swift rename to ios/SAPTracker/src/xcode/SAPTracker/AppDelegate.swift diff --git a/ios/SAPTracker/Appearance.h b/ios/SAPTracker/src/xcode/SAPTracker/Appearance.h similarity index 100% rename from ios/SAPTracker/Appearance.h rename to ios/SAPTracker/src/xcode/SAPTracker/Appearance.h diff --git a/ios/SAPTracker/Appearance.m b/ios/SAPTracker/src/xcode/SAPTracker/Appearance.m similarity index 100% rename from ios/SAPTracker/Appearance.m rename to ios/SAPTracker/src/xcode/SAPTracker/Appearance.m diff --git a/ios/SAPTracker/Base.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings similarity index 100% rename from ios/SAPTracker/Base.lproj/Localizable.strings rename to ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings diff --git a/ios/SAPTracker/Base.lproj/Main.storyboard b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Main.storyboard similarity index 100% rename from ios/SAPTracker/Base.lproj/Main.storyboard rename to ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Main.storyboard diff --git a/ios/SAPTracker/Base.lproj/eula-ios.html b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/eula-ios.html similarity index 100% rename from ios/SAPTracker/Base.lproj/eula-ios.html rename to ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/eula-ios.html diff --git a/ios/SAPTracker/BatteryManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/BatteryManager.swift similarity index 100% rename from ios/SAPTracker/BatteryManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/BatteryManager.swift diff --git a/ios/SAPTracker/CheckIn.swift b/ios/SAPTracker/src/xcode/SAPTracker/CheckIn.swift similarity index 100% rename from ios/SAPTracker/CheckIn.swift rename to ios/SAPTracker/src/xcode/SAPTracker/CheckIn.swift diff --git a/ios/SAPTracker/Competitor.swift b/ios/SAPTracker/src/xcode/SAPTracker/Competitor.swift similarity index 100% rename from ios/SAPTracker/Competitor.swift rename to ios/SAPTracker/src/xcode/SAPTracker/Competitor.swift diff --git a/ios/SAPTracker/CoreData.xcdatamodeld/CoreData.xcdatamodel/contents b/ios/SAPTracker/src/xcode/SAPTracker/CoreData.xcdatamodeld/CoreData.xcdatamodel/contents similarity index 100% rename from ios/SAPTracker/CoreData.xcdatamodeld/CoreData.xcdatamodel/contents rename to ios/SAPTracker/src/xcode/SAPTracker/CoreData.xcdatamodeld/CoreData.xcdatamodel/contents diff --git a/ios/SAPTracker/CourseViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/CourseViewController.swift similarity index 100% rename from ios/SAPTracker/CourseViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/CourseViewController.swift diff --git a/ios/SAPTracker/DataManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/DataManager.swift similarity index 95% rename from ios/SAPTracker/DataManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/DataManager.swift index 5dcef3d0428..4a9ee0ed93f 100644 --- a/ios/SAPTracker/DataManager.swift +++ b/ios/SAPTracker/src/xcode/SAPTracker/DataManager.swift @@ -38,18 +38,21 @@ public class DataManager: NSObject { // MARK: - notification callbacks - /* New location detected, store to database. */ + /* New location detected, store to database if location is valid. */ func newLocation(notification: NSNotification) { if notification == NSNull() { return } - let gpsFix = NSEntityDescription.insertNewObjectForEntityForName("GPSFix", inManagedObjectContext: self.managedObjectContext!) as! GPSFix - gpsFix.initWithDictionary(notification.userInfo!) - if selectedCheckIn == nil { - abort(); + var dict = notification.userInfo!; + if dict["isValid"] as! Bool { + let gpsFix = NSEntityDescription.insertNewObjectForEntityForName("GPSFix", inManagedObjectContext: self.managedObjectContext!) as! GPSFix + gpsFix.initWithDictionary(dict) + if selectedCheckIn == nil { + abort(); + } + gpsFix.checkIn = selectedCheckIn! + saveContext() } - gpsFix.checkIn = selectedCheckIn! - saveContext() } /* Tracking stopped, save data to disk. */ diff --git a/ios/SAPTracker/DeviceUDIDManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/DeviceUDIDManager.swift similarity index 100% rename from ios/SAPTracker/DeviceUDIDManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/DeviceUDIDManager.swift diff --git a/ios/SAPTracker/Event.swift b/ios/SAPTracker/src/xcode/SAPTracker/Event.swift similarity index 100% rename from ios/SAPTracker/Event.swift rename to ios/SAPTracker/src/xcode/SAPTracker/Event.swift diff --git a/ios/SAPTracker/Extensions.swift b/ios/SAPTracker/src/xcode/SAPTracker/Extensions.swift similarity index 100% rename from ios/SAPTracker/Extensions.swift rename to ios/SAPTracker/src/xcode/SAPTracker/Extensions.swift diff --git a/ios/SAPTracker/GPSAccuracyView.swift b/ios/SAPTracker/src/xcode/SAPTracker/GPSAccuracyView.swift similarity index 100% rename from ios/SAPTracker/GPSAccuracyView.swift rename to ios/SAPTracker/src/xcode/SAPTracker/GPSAccuracyView.swift diff --git a/ios/SAPTracker/GPSFix.swift b/ios/SAPTracker/src/xcode/SAPTracker/GPSFix.swift similarity index 100% rename from ios/SAPTracker/GPSFix.swift rename to ios/SAPTracker/src/xcode/SAPTracker/GPSFix.swift diff --git a/ios/SAPTracker/HomeViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/HomeViewController.swift similarity index 100% rename from ios/SAPTracker/HomeViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/HomeViewController.swift diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-120.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-120.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-120.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-120.png diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-152.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-152.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-152.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-152.png diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-58.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-58.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-58.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-58.png diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-76.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-76.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-76.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-76.png diff --git a/ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-80.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-80.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-80.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/AppIcon.appiconset/sap_sailing_app_icon-80.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1024_768.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1024_768.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1024_768.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1024_768.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1242_2208.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1242_2208.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1242_2208.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1242_2208.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1536_2048.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1536_2048.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1536_2048.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_1536_2048.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2048_1536.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2048_1536.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2048_1536.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2048_1536.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2208_1242.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2208_1242.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2208_1242.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_2208_1242.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_1136.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_1136.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_1136.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_1136.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_960.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_960.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_960.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_640_960.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_750_1334.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_750_1334.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_750_1334.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_750_1334.png diff --git a/ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_768_1024.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_768_1024.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_768_1024.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/LaunchImage.launchimage/launch_768_1024.png diff --git a/ios/SAPTracker/Images.xcassets/camera.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/camera.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/camera.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/camera.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/camera.imageset/ic_menu_camera.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/camera.imageset/ic_menu_camera.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/camera.imageset/ic_menu_camera.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/camera.imageset/ic_menu_camera.png diff --git a/ios/SAPTracker/Images.xcassets/edit.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/edit.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/edit.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/edit.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/edit.imageset/edit@3x.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/edit.imageset/edit@3x.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/edit.imageset/edit@3x.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/edit.imageset/edit@3x.png diff --git a/ios/SAPTracker/Images.xcassets/home_bg.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/home_bg.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/home_bg.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/home_bg.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/home_bg.imageset/d78923ad.Image_big.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/home_bg.imageset/d78923ad.Image_big.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/home_bg.imageset/d78923ad.Image_big.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/home_bg.imageset/d78923ad.Image_big.png diff --git a/ios/SAPTracker/Images.xcassets/navbar_bg.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/navbar_bg.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/navbar_bg.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/navbar_bg.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/navbar_bg.imageset/navbar_bg_320.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/navbar_bg.imageset/navbar_bg_320.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/navbar_bg.imageset/navbar_bg_320.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/navbar_bg.imageset/navbar_bg_320.png diff --git a/ios/SAPTracker/Images.xcassets/profile_placeholder.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/profile_placeholder.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/profile_placeholder.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/profile_placeholder.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/profile_placeholder.imageset/profile_placeholder.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/profile_placeholder.imageset/profile_placeholder.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/profile_placeholder.imageset/profile_placeholder.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/profile_placeholder.imageset/profile_placeholder.png diff --git a/ios/SAPTracker/Images.xcassets/sap_logo.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/sap_logo.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/sap_logo.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/sap_logo.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/sap_logo.imageset/sap_logo.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/sap_logo.imageset/sap_logo.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/sap_logo.imageset/sap_logo.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/sap_logo.imageset/sap_logo.png diff --git a/ios/SAPTracker/Images.xcassets/scan_green.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_green.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/scan_green.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_green.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/scan_green.imageset/scan_green.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_green.imageset/scan_green.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/scan_green.imageset/scan_green.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_green.imageset/scan_green.png diff --git a/ios/SAPTracker/Images.xcassets/scan_white.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_white.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/scan_white.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_white.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/scan_white.imageset/scan_white.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_white.imageset/scan_white.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/scan_white.imageset/scan_white.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/scan_white.imageset/scan_white.png diff --git a/ios/SAPTracker/Images.xcassets/settings.imageset/Contents.json b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/Contents.json similarity index 100% rename from ios/SAPTracker/Images.xcassets/settings.imageset/Contents.json rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/Contents.json diff --git a/ios/SAPTracker/Images.xcassets/settings.imageset/settings-44.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/settings-44.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/settings.imageset/settings-44.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/settings-44.png diff --git a/ios/SAPTracker/Images.xcassets/settings.imageset/settings@3x.png b/ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/settings@3x.png similarity index 100% rename from ios/SAPTracker/Images.xcassets/settings.imageset/settings@3x.png rename to ios/SAPTracker/src/xcode/SAPTracker/Images.xcassets/settings.imageset/settings@3x.png diff --git a/ios/SAPTracker/Info.plist b/ios/SAPTracker/src/xcode/SAPTracker/Info.plist similarity index 98% rename from ios/SAPTracker/Info.plist rename to ios/SAPTracker/src/xcode/SAPTracker/Info.plist index 64799a8edad..ebfa0e651e5 100644 --- a/ios/SAPTracker/Info.plist +++ b/ios/SAPTracker/src/xcode/SAPTracker/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 16 + 19 LSRequiresIPhoneOS NSLocationAlwaysUsageDescription diff --git a/ios/SAPTracker/LeaderBoard.swift b/ios/SAPTracker/src/xcode/SAPTracker/LeaderBoard.swift similarity index 100% rename from ios/SAPTracker/LeaderBoard.swift rename to ios/SAPTracker/src/xcode/SAPTracker/LeaderBoard.swift diff --git a/ios/SAPTracker/LeaderBoardViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/LeaderBoardViewController.swift similarity index 100% rename from ios/SAPTracker/LeaderBoardViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/LeaderBoardViewController.swift diff --git a/ios/SAPTracker/LocationManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/LocationManager.swift similarity index 86% rename from ios/SAPTracker/LocationManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/LocationManager.swift index 9404b0c9cd8..7302013071a 100644 --- a/ios/SAPTracker/LocationManager.swift +++ b/ios/SAPTracker/src/xcode/SAPTracker/LocationManager.swift @@ -83,6 +83,23 @@ class LocationManager: NSObject, CLLocationManagerDelegate { "speed": location.speed, "course": location.course, "horizontalAccuracy": location.horizontalAccuracy, + "isValid": isLocationValid(location) ] } + + static let REQ_ACCURACY : CLLocationAccuracy = 10 + static let REQ_TIME : NSTimeInterval = 10 + class func isLocationValid(location: CLLocation) -> Bool { + let accuracy = location.horizontalAccuracy + let time = location.timestamp + let elapsed = time.timeIntervalSinceDate(NSDate()) + if elapsed > REQ_TIME { + return false + } + if accuracy < 0 || accuracy > REQ_ACCURACY { + return false + } + return true; + } + } \ No newline at end of file diff --git a/ios/SAPTracker/OpenSans-Bold.ttf b/ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Bold.ttf similarity index 100% rename from ios/SAPTracker/OpenSans-Bold.ttf rename to ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Bold.ttf diff --git a/ios/SAPTracker/OpenSans-Light.ttf b/ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Light.ttf similarity index 100% rename from ios/SAPTracker/OpenSans-Light.ttf rename to ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Light.ttf diff --git a/ios/SAPTracker/OpenSans-Regular.ttf b/ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Regular.ttf similarity index 100% rename from ios/SAPTracker/OpenSans-Regular.ttf rename to ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Regular.ttf diff --git a/ios/SAPTracker/OpenSans-Semibold.ttf b/ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Semibold.ttf similarity index 100% rename from ios/SAPTracker/OpenSans-Semibold.ttf rename to ios/SAPTracker/src/xcode/SAPTracker/OpenSans-Semibold.ttf diff --git a/ios/SAPTracker/QRCodeData.swift b/ios/SAPTracker/src/xcode/SAPTracker/QRCodeData.swift similarity index 100% rename from ios/SAPTracker/QRCodeData.swift rename to ios/SAPTracker/src/xcode/SAPTracker/QRCodeData.swift diff --git a/ios/SAPTracker/QRCodeManager.swift b/ios/SAPTracker/src/xcode/SAPTracker/QRCodeManager.swift similarity index 100% rename from ios/SAPTracker/QRCodeManager.swift rename to ios/SAPTracker/src/xcode/SAPTracker/QRCodeManager.swift diff --git a/ios/SAPTracker/RegattaViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/RegattaViewController.swift similarity index 100% rename from ios/SAPTracker/RegattaViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/RegattaViewController.swift diff --git a/ios/SAPTracker/ScanViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/ScanViewController.swift similarity index 100% rename from ios/SAPTracker/ScanViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/ScanViewController.swift diff --git a/ios/SAPTracker/SendGPSFixController.swift b/ios/SAPTracker/src/xcode/SAPTracker/SendGPSFixController.swift similarity index 100% rename from ios/SAPTracker/SendGPSFixController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/SendGPSFixController.swift diff --git a/ios/SAPTracker/SettingsViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/SettingsViewController.swift similarity index 100% rename from ios/SAPTracker/SettingsViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/SettingsViewController.swift diff --git a/ios/SAPTracker/SpeedViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/SpeedViewController.swift similarity index 100% rename from ios/SAPTracker/SpeedViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/SpeedViewController.swift diff --git a/ios/SAPTracker/SplashScreenDummy.swift b/ios/SAPTracker/src/xcode/SAPTracker/SplashScreenDummy.swift similarity index 100% rename from ios/SAPTracker/SplashScreenDummy.swift rename to ios/SAPTracker/src/xcode/SAPTracker/SplashScreenDummy.swift diff --git a/ios/SAPTracker/TimerViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/TimerViewController.swift similarity index 100% rename from ios/SAPTracker/TimerViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/TimerViewController.swift diff --git a/ios/SAPTracker/TrackingPageViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/TrackingPageViewController.swift similarity index 100% rename from ios/SAPTracker/TrackingPageViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/TrackingPageViewController.swift diff --git a/ios/SAPTracker/TrackingViewController.swift b/ios/SAPTracker/src/xcode/SAPTracker/TrackingViewController.swift similarity index 100% rename from ios/SAPTracker/TrackingViewController.swift rename to ios/SAPTracker/src/xcode/SAPTracker/TrackingViewController.swift diff --git a/ios/SAPTracker/bridge.h b/ios/SAPTracker/src/xcode/SAPTracker/bridge.h similarity index 100% rename from ios/SAPTracker/bridge.h rename to ios/SAPTracker/src/xcode/SAPTracker/bridge.h diff --git a/ios/SAPTracker/de.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/de.lproj/Localizable.strings similarity index 100% rename from ios/SAPTracker/de.lproj/Localizable.strings rename to ios/SAPTracker/src/xcode/SAPTracker/de.lproj/Localizable.strings diff --git a/ios/SAPTracker/de.lproj/Main.strings b/ios/SAPTracker/src/xcode/SAPTracker/de.lproj/Main.strings similarity index 100% rename from ios/SAPTracker/de.lproj/Main.strings rename to ios/SAPTracker/src/xcode/SAPTracker/de.lproj/Main.strings diff --git a/ios/SAPTracker/de.lproj/eula-ios.html b/ios/SAPTracker/src/xcode/SAPTracker/de.lproj/eula-ios.html similarity index 100% rename from ios/SAPTracker/de.lproj/eula-ios.html rename to ios/SAPTracker/src/xcode/SAPTracker/de.lproj/eula-ios.html diff --git a/ios/SAPTracker/flags/AD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AD.png similarity index 100% rename from ios/SAPTracker/flags/AD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AD.png diff --git a/ios/SAPTracker/flags/AE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AE.png similarity index 100% rename from ios/SAPTracker/flags/AE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AE.png diff --git a/ios/SAPTracker/flags/AF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AF.png similarity index 100% rename from ios/SAPTracker/flags/AF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AF.png diff --git a/ios/SAPTracker/flags/AG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AG.png similarity index 100% rename from ios/SAPTracker/flags/AG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AG.png diff --git a/ios/SAPTracker/flags/AI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AI.png similarity index 100% rename from ios/SAPTracker/flags/AI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AI.png diff --git a/ios/SAPTracker/flags/AL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AL.png similarity index 100% rename from ios/SAPTracker/flags/AL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AL.png diff --git a/ios/SAPTracker/flags/AM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AM.png similarity index 100% rename from ios/SAPTracker/flags/AM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AM.png diff --git a/ios/SAPTracker/flags/AN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AN.png similarity index 100% rename from ios/SAPTracker/flags/AN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AN.png diff --git a/ios/SAPTracker/flags/AO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AO.png similarity index 100% rename from ios/SAPTracker/flags/AO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AO.png diff --git a/ios/SAPTracker/flags/AQ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AQ.png similarity index 100% rename from ios/SAPTracker/flags/AQ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AQ.png diff --git a/ios/SAPTracker/flags/AR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AR.png similarity index 100% rename from ios/SAPTracker/flags/AR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AR.png diff --git a/ios/SAPTracker/flags/AS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AS.png similarity index 100% rename from ios/SAPTracker/flags/AS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AS.png diff --git a/ios/SAPTracker/flags/AT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AT.png similarity index 100% rename from ios/SAPTracker/flags/AT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AT.png diff --git a/ios/SAPTracker/flags/AU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AU.png similarity index 100% rename from ios/SAPTracker/flags/AU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AU.png diff --git a/ios/SAPTracker/flags/AW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AW.png similarity index 100% rename from ios/SAPTracker/flags/AW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AW.png diff --git a/ios/SAPTracker/flags/AX.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AX.png similarity index 100% rename from ios/SAPTracker/flags/AX.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AX.png diff --git a/ios/SAPTracker/flags/AZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/AZ.png similarity index 100% rename from ios/SAPTracker/flags/AZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/AZ.png diff --git a/ios/SAPTracker/flags/BA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BA.png similarity index 100% rename from ios/SAPTracker/flags/BA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BA.png diff --git a/ios/SAPTracker/flags/BB.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BB.png similarity index 100% rename from ios/SAPTracker/flags/BB.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BB.png diff --git a/ios/SAPTracker/flags/BD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BD.png similarity index 100% rename from ios/SAPTracker/flags/BD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BD.png diff --git a/ios/SAPTracker/flags/BE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BE.png similarity index 100% rename from ios/SAPTracker/flags/BE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BE.png diff --git a/ios/SAPTracker/flags/BF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BF.png similarity index 100% rename from ios/SAPTracker/flags/BF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BF.png diff --git a/ios/SAPTracker/flags/BG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BG.png similarity index 100% rename from ios/SAPTracker/flags/BG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BG.png diff --git a/ios/SAPTracker/flags/BH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BH.png similarity index 100% rename from ios/SAPTracker/flags/BH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BH.png diff --git a/ios/SAPTracker/flags/BI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BI.png similarity index 100% rename from ios/SAPTracker/flags/BI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BI.png diff --git a/ios/SAPTracker/flags/BJ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BJ.png similarity index 100% rename from ios/SAPTracker/flags/BJ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BJ.png diff --git a/ios/SAPTracker/flags/BL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BL.png similarity index 100% rename from ios/SAPTracker/flags/BL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BL.png diff --git a/ios/SAPTracker/flags/BM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BM.png similarity index 100% rename from ios/SAPTracker/flags/BM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BM.png diff --git a/ios/SAPTracker/flags/BN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BN.png similarity index 100% rename from ios/SAPTracker/flags/BN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BN.png diff --git a/ios/SAPTracker/flags/BO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BO.png similarity index 100% rename from ios/SAPTracker/flags/BO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BO.png diff --git a/ios/SAPTracker/flags/BR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BR.png similarity index 100% rename from ios/SAPTracker/flags/BR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BR.png diff --git a/ios/SAPTracker/flags/BS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BS.png similarity index 100% rename from ios/SAPTracker/flags/BS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BS.png diff --git a/ios/SAPTracker/flags/BT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BT.png similarity index 100% rename from ios/SAPTracker/flags/BT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BT.png diff --git a/ios/SAPTracker/flags/BW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BW.png similarity index 100% rename from ios/SAPTracker/flags/BW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BW.png diff --git a/ios/SAPTracker/flags/BY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BY.png similarity index 100% rename from ios/SAPTracker/flags/BY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BY.png diff --git a/ios/SAPTracker/flags/BZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/BZ.png similarity index 100% rename from ios/SAPTracker/flags/BZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/BZ.png diff --git a/ios/SAPTracker/flags/CA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CA.png similarity index 100% rename from ios/SAPTracker/flags/CA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CA.png diff --git a/ios/SAPTracker/flags/CC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CC.png similarity index 100% rename from ios/SAPTracker/flags/CC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CC.png diff --git a/ios/SAPTracker/flags/CD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CD.png similarity index 100% rename from ios/SAPTracker/flags/CD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CD.png diff --git a/ios/SAPTracker/flags/CF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CF.png similarity index 100% rename from ios/SAPTracker/flags/CF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CF.png diff --git a/ios/SAPTracker/flags/CG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CG.png similarity index 100% rename from ios/SAPTracker/flags/CG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CG.png diff --git a/ios/SAPTracker/flags/CH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CH.png similarity index 100% rename from ios/SAPTracker/flags/CH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CH.png diff --git a/ios/SAPTracker/flags/CI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CI.png similarity index 100% rename from ios/SAPTracker/flags/CI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CI.png diff --git a/ios/SAPTracker/flags/CK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CK.png similarity index 100% rename from ios/SAPTracker/flags/CK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CK.png diff --git a/ios/SAPTracker/flags/CL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CL.png similarity index 100% rename from ios/SAPTracker/flags/CL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CL.png diff --git a/ios/SAPTracker/flags/CM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CM.png similarity index 100% rename from ios/SAPTracker/flags/CM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CM.png diff --git a/ios/SAPTracker/flags/CN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CN.png similarity index 100% rename from ios/SAPTracker/flags/CN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CN.png diff --git a/ios/SAPTracker/flags/CO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CO.png similarity index 100% rename from ios/SAPTracker/flags/CO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CO.png diff --git a/ios/SAPTracker/flags/CR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CR.png similarity index 100% rename from ios/SAPTracker/flags/CR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CR.png diff --git a/ios/SAPTracker/flags/CU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CU.png similarity index 100% rename from ios/SAPTracker/flags/CU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CU.png diff --git a/ios/SAPTracker/flags/CV.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CV.png similarity index 100% rename from ios/SAPTracker/flags/CV.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CV.png diff --git a/ios/SAPTracker/flags/CW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CW.png similarity index 100% rename from ios/SAPTracker/flags/CW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CW.png diff --git a/ios/SAPTracker/flags/CX.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CX.png similarity index 100% rename from ios/SAPTracker/flags/CX.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CX.png diff --git a/ios/SAPTracker/flags/CY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CY.png similarity index 100% rename from ios/SAPTracker/flags/CY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CY.png diff --git a/ios/SAPTracker/flags/CZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/CZ.png similarity index 100% rename from ios/SAPTracker/flags/CZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/CZ.png diff --git a/ios/SAPTracker/flags/DE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DE.png similarity index 100% rename from ios/SAPTracker/flags/DE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DE.png diff --git a/ios/SAPTracker/flags/DJ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DJ.png similarity index 100% rename from ios/SAPTracker/flags/DJ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DJ.png diff --git a/ios/SAPTracker/flags/DK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DK.png similarity index 100% rename from ios/SAPTracker/flags/DK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DK.png diff --git a/ios/SAPTracker/flags/DM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DM.png similarity index 100% rename from ios/SAPTracker/flags/DM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DM.png diff --git a/ios/SAPTracker/flags/DO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DO.png similarity index 100% rename from ios/SAPTracker/flags/DO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DO.png diff --git a/ios/SAPTracker/flags/DZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/DZ.png similarity index 100% rename from ios/SAPTracker/flags/DZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/DZ.png diff --git a/ios/SAPTracker/flags/EC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/EC.png similarity index 100% rename from ios/SAPTracker/flags/EC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/EC.png diff --git a/ios/SAPTracker/flags/EE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/EE.png similarity index 100% rename from ios/SAPTracker/flags/EE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/EE.png diff --git a/ios/SAPTracker/flags/EG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/EG.png similarity index 100% rename from ios/SAPTracker/flags/EG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/EG.png diff --git a/ios/SAPTracker/flags/EH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/EH.png similarity index 100% rename from ios/SAPTracker/flags/EH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/EH.png diff --git a/ios/SAPTracker/flags/ER.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ER.png similarity index 100% rename from ios/SAPTracker/flags/ER.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ER.png diff --git a/ios/SAPTracker/flags/ES.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ES.png similarity index 100% rename from ios/SAPTracker/flags/ES.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ES.png diff --git a/ios/SAPTracker/flags/ET.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ET.png similarity index 100% rename from ios/SAPTracker/flags/ET.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ET.png diff --git a/ios/SAPTracker/flags/EU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/EU.png similarity index 100% rename from ios/SAPTracker/flags/EU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/EU.png diff --git a/ios/SAPTracker/flags/FI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FI.png similarity index 100% rename from ios/SAPTracker/flags/FI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FI.png diff --git a/ios/SAPTracker/flags/FJ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FJ.png similarity index 100% rename from ios/SAPTracker/flags/FJ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FJ.png diff --git a/ios/SAPTracker/flags/FK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FK.png similarity index 100% rename from ios/SAPTracker/flags/FK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FK.png diff --git a/ios/SAPTracker/flags/FM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FM.png similarity index 100% rename from ios/SAPTracker/flags/FM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FM.png diff --git a/ios/SAPTracker/flags/FO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FO.png similarity index 100% rename from ios/SAPTracker/flags/FO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FO.png diff --git a/ios/SAPTracker/flags/FR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/FR.png similarity index 100% rename from ios/SAPTracker/flags/FR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/FR.png diff --git a/ios/SAPTracker/flags/GA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GA.png similarity index 100% rename from ios/SAPTracker/flags/GA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GA.png diff --git a/ios/SAPTracker/flags/GB.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GB.png similarity index 100% rename from ios/SAPTracker/flags/GB.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GB.png diff --git a/ios/SAPTracker/flags/GD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GD.png similarity index 100% rename from ios/SAPTracker/flags/GD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GD.png diff --git a/ios/SAPTracker/flags/GE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GE.png similarity index 100% rename from ios/SAPTracker/flags/GE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GE.png diff --git a/ios/SAPTracker/flags/GG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GG.png similarity index 100% rename from ios/SAPTracker/flags/GG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GG.png diff --git a/ios/SAPTracker/flags/GH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GH.png similarity index 100% rename from ios/SAPTracker/flags/GH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GH.png diff --git a/ios/SAPTracker/flags/GI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GI.png similarity index 100% rename from ios/SAPTracker/flags/GI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GI.png diff --git a/ios/SAPTracker/flags/GL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GL.png similarity index 100% rename from ios/SAPTracker/flags/GL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GL.png diff --git a/ios/SAPTracker/flags/GM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GM.png similarity index 100% rename from ios/SAPTracker/flags/GM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GM.png diff --git a/ios/SAPTracker/flags/GN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GN.png similarity index 100% rename from ios/SAPTracker/flags/GN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GN.png diff --git a/ios/SAPTracker/flags/GQ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GQ.png similarity index 100% rename from ios/SAPTracker/flags/GQ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GQ.png diff --git a/ios/SAPTracker/flags/GR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GR.png similarity index 100% rename from ios/SAPTracker/flags/GR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GR.png diff --git a/ios/SAPTracker/flags/GS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GS.png similarity index 100% rename from ios/SAPTracker/flags/GS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GS.png diff --git a/ios/SAPTracker/flags/GT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GT.png similarity index 100% rename from ios/SAPTracker/flags/GT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GT.png diff --git a/ios/SAPTracker/flags/GU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GU.png similarity index 100% rename from ios/SAPTracker/flags/GU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GU.png diff --git a/ios/SAPTracker/flags/GW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GW.png similarity index 100% rename from ios/SAPTracker/flags/GW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GW.png diff --git a/ios/SAPTracker/flags/GY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/GY.png similarity index 100% rename from ios/SAPTracker/flags/GY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/GY.png diff --git a/ios/SAPTracker/flags/HK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/HK.png similarity index 100% rename from ios/SAPTracker/flags/HK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/HK.png diff --git a/ios/SAPTracker/flags/HN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/HN.png similarity index 100% rename from ios/SAPTracker/flags/HN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/HN.png diff --git a/ios/SAPTracker/flags/HR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/HR.png similarity index 100% rename from ios/SAPTracker/flags/HR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/HR.png diff --git a/ios/SAPTracker/flags/HT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/HT.png similarity index 100% rename from ios/SAPTracker/flags/HT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/HT.png diff --git a/ios/SAPTracker/flags/HU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/HU.png similarity index 100% rename from ios/SAPTracker/flags/HU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/HU.png diff --git a/ios/SAPTracker/flags/Hello.txt b/ios/SAPTracker/src/xcode/SAPTracker/flags/Hello.txt similarity index 100% rename from ios/SAPTracker/flags/Hello.txt rename to ios/SAPTracker/src/xcode/SAPTracker/flags/Hello.txt diff --git a/ios/SAPTracker/flags/IC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IC.png similarity index 100% rename from ios/SAPTracker/flags/IC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IC.png diff --git a/ios/SAPTracker/flags/ID.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ID.png similarity index 100% rename from ios/SAPTracker/flags/ID.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ID.png diff --git a/ios/SAPTracker/flags/IE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IE.png similarity index 100% rename from ios/SAPTracker/flags/IE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IE.png diff --git a/ios/SAPTracker/flags/IL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IL.png similarity index 100% rename from ios/SAPTracker/flags/IL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IL.png diff --git a/ios/SAPTracker/flags/IM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IM.png similarity index 100% rename from ios/SAPTracker/flags/IM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IM.png diff --git a/ios/SAPTracker/flags/IN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IN.png similarity index 100% rename from ios/SAPTracker/flags/IN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IN.png diff --git a/ios/SAPTracker/flags/IQ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IQ.png similarity index 100% rename from ios/SAPTracker/flags/IQ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IQ.png diff --git a/ios/SAPTracker/flags/IR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IR.png similarity index 100% rename from ios/SAPTracker/flags/IR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IR.png diff --git a/ios/SAPTracker/flags/IS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IS.png similarity index 100% rename from ios/SAPTracker/flags/IS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IS.png diff --git a/ios/SAPTracker/flags/IT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/IT.png similarity index 100% rename from ios/SAPTracker/flags/IT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/IT.png diff --git a/ios/SAPTracker/flags/JE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/JE.png similarity index 100% rename from ios/SAPTracker/flags/JE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/JE.png diff --git a/ios/SAPTracker/flags/JM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/JM.png similarity index 100% rename from ios/SAPTracker/flags/JM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/JM.png diff --git a/ios/SAPTracker/flags/JO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/JO.png similarity index 100% rename from ios/SAPTracker/flags/JO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/JO.png diff --git a/ios/SAPTracker/flags/JP.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/JP.png similarity index 100% rename from ios/SAPTracker/flags/JP.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/JP.png diff --git a/ios/SAPTracker/flags/KE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KE.png similarity index 100% rename from ios/SAPTracker/flags/KE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KE.png diff --git a/ios/SAPTracker/flags/KG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KG.png similarity index 100% rename from ios/SAPTracker/flags/KG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KG.png diff --git a/ios/SAPTracker/flags/KH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KH.png similarity index 100% rename from ios/SAPTracker/flags/KH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KH.png diff --git a/ios/SAPTracker/flags/KI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KI.png similarity index 100% rename from ios/SAPTracker/flags/KI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KI.png diff --git a/ios/SAPTracker/flags/KM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KM.png similarity index 100% rename from ios/SAPTracker/flags/KM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KM.png diff --git a/ios/SAPTracker/flags/KN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KN.png similarity index 100% rename from ios/SAPTracker/flags/KN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KN.png diff --git a/ios/SAPTracker/flags/KP.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KP.png similarity index 100% rename from ios/SAPTracker/flags/KP.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KP.png diff --git a/ios/SAPTracker/flags/KR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KR.png similarity index 100% rename from ios/SAPTracker/flags/KR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KR.png diff --git a/ios/SAPTracker/flags/KW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KW.png similarity index 100% rename from ios/SAPTracker/flags/KW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KW.png diff --git a/ios/SAPTracker/flags/KY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KY.png similarity index 100% rename from ios/SAPTracker/flags/KY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KY.png diff --git a/ios/SAPTracker/flags/KZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/KZ.png similarity index 100% rename from ios/SAPTracker/flags/KZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/KZ.png diff --git a/ios/SAPTracker/flags/LA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LA.png similarity index 100% rename from ios/SAPTracker/flags/LA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LA.png diff --git a/ios/SAPTracker/flags/LB.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LB.png similarity index 100% rename from ios/SAPTracker/flags/LB.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LB.png diff --git a/ios/SAPTracker/flags/LC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LC.png similarity index 100% rename from ios/SAPTracker/flags/LC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LC.png diff --git a/ios/SAPTracker/flags/LI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LI.png similarity index 100% rename from ios/SAPTracker/flags/LI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LI.png diff --git a/ios/SAPTracker/flags/LICENSE.txt b/ios/SAPTracker/src/xcode/SAPTracker/flags/LICENSE.txt similarity index 100% rename from ios/SAPTracker/flags/LICENSE.txt rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LICENSE.txt diff --git a/ios/SAPTracker/flags/LK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LK.png similarity index 100% rename from ios/SAPTracker/flags/LK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LK.png diff --git a/ios/SAPTracker/flags/LR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LR.png similarity index 100% rename from ios/SAPTracker/flags/LR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LR.png diff --git a/ios/SAPTracker/flags/LS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LS.png similarity index 100% rename from ios/SAPTracker/flags/LS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LS.png diff --git a/ios/SAPTracker/flags/LT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LT.png similarity index 100% rename from ios/SAPTracker/flags/LT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LT.png diff --git a/ios/SAPTracker/flags/LU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LU.png similarity index 100% rename from ios/SAPTracker/flags/LU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LU.png diff --git a/ios/SAPTracker/flags/LV.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LV.png similarity index 100% rename from ios/SAPTracker/flags/LV.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LV.png diff --git a/ios/SAPTracker/flags/LY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/LY.png similarity index 100% rename from ios/SAPTracker/flags/LY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/LY.png diff --git a/ios/SAPTracker/flags/MA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MA.png similarity index 100% rename from ios/SAPTracker/flags/MA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MA.png diff --git a/ios/SAPTracker/flags/MC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MC.png similarity index 100% rename from ios/SAPTracker/flags/MC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MC.png diff --git a/ios/SAPTracker/flags/MD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MD.png similarity index 100% rename from ios/SAPTracker/flags/MD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MD.png diff --git a/ios/SAPTracker/flags/ME.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ME.png similarity index 100% rename from ios/SAPTracker/flags/ME.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ME.png diff --git a/ios/SAPTracker/flags/MF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MF.png similarity index 100% rename from ios/SAPTracker/flags/MF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MF.png diff --git a/ios/SAPTracker/flags/MG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MG.png similarity index 100% rename from ios/SAPTracker/flags/MG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MG.png diff --git a/ios/SAPTracker/flags/MH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MH.png similarity index 100% rename from ios/SAPTracker/flags/MH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MH.png diff --git a/ios/SAPTracker/flags/MK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MK.png similarity index 100% rename from ios/SAPTracker/flags/MK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MK.png diff --git a/ios/SAPTracker/flags/ML.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ML.png similarity index 100% rename from ios/SAPTracker/flags/ML.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ML.png diff --git a/ios/SAPTracker/flags/MM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MM.png similarity index 100% rename from ios/SAPTracker/flags/MM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MM.png diff --git a/ios/SAPTracker/flags/MN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MN.png similarity index 100% rename from ios/SAPTracker/flags/MN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MN.png diff --git a/ios/SAPTracker/flags/MO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MO.png similarity index 100% rename from ios/SAPTracker/flags/MO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MO.png diff --git a/ios/SAPTracker/flags/MP.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MP.png similarity index 100% rename from ios/SAPTracker/flags/MP.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MP.png diff --git a/ios/SAPTracker/flags/MQ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MQ.png similarity index 100% rename from ios/SAPTracker/flags/MQ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MQ.png diff --git a/ios/SAPTracker/flags/MR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MR.png similarity index 100% rename from ios/SAPTracker/flags/MR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MR.png diff --git a/ios/SAPTracker/flags/MS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MS.png similarity index 100% rename from ios/SAPTracker/flags/MS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MS.png diff --git a/ios/SAPTracker/flags/MT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MT.png similarity index 100% rename from ios/SAPTracker/flags/MT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MT.png diff --git a/ios/SAPTracker/flags/MU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MU.png similarity index 100% rename from ios/SAPTracker/flags/MU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MU.png diff --git a/ios/SAPTracker/flags/MV.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MV.png similarity index 100% rename from ios/SAPTracker/flags/MV.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MV.png diff --git a/ios/SAPTracker/flags/MW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MW.png similarity index 100% rename from ios/SAPTracker/flags/MW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MW.png diff --git a/ios/SAPTracker/flags/MX.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MX.png similarity index 100% rename from ios/SAPTracker/flags/MX.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MX.png diff --git a/ios/SAPTracker/flags/MY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MY.png similarity index 100% rename from ios/SAPTracker/flags/MY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MY.png diff --git a/ios/SAPTracker/flags/MZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/MZ.png similarity index 100% rename from ios/SAPTracker/flags/MZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/MZ.png diff --git a/ios/SAPTracker/flags/NA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NA.png similarity index 100% rename from ios/SAPTracker/flags/NA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NA.png diff --git a/ios/SAPTracker/flags/NC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NC.png similarity index 100% rename from ios/SAPTracker/flags/NC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NC.png diff --git a/ios/SAPTracker/flags/NE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NE.png similarity index 100% rename from ios/SAPTracker/flags/NE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NE.png diff --git a/ios/SAPTracker/flags/NF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NF.png similarity index 100% rename from ios/SAPTracker/flags/NF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NF.png diff --git a/ios/SAPTracker/flags/NG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NG.png similarity index 100% rename from ios/SAPTracker/flags/NG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NG.png diff --git a/ios/SAPTracker/flags/NI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NI.png similarity index 100% rename from ios/SAPTracker/flags/NI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NI.png diff --git a/ios/SAPTracker/flags/NL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NL.png similarity index 100% rename from ios/SAPTracker/flags/NL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NL.png diff --git a/ios/SAPTracker/flags/NO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NO.png similarity index 100% rename from ios/SAPTracker/flags/NO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NO.png diff --git a/ios/SAPTracker/flags/NP.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NP.png similarity index 100% rename from ios/SAPTracker/flags/NP.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NP.png diff --git a/ios/SAPTracker/flags/NR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NR.png similarity index 100% rename from ios/SAPTracker/flags/NR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NR.png diff --git a/ios/SAPTracker/flags/NU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NU.png similarity index 100% rename from ios/SAPTracker/flags/NU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NU.png diff --git a/ios/SAPTracker/flags/NZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/NZ.png similarity index 100% rename from ios/SAPTracker/flags/NZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/NZ.png diff --git a/ios/SAPTracker/flags/OM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/OM.png similarity index 100% rename from ios/SAPTracker/flags/OM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/OM.png diff --git a/ios/SAPTracker/flags/PA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PA.png similarity index 100% rename from ios/SAPTracker/flags/PA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PA.png diff --git a/ios/SAPTracker/flags/PE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PE.png similarity index 100% rename from ios/SAPTracker/flags/PE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PE.png diff --git a/ios/SAPTracker/flags/PF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PF.png similarity index 100% rename from ios/SAPTracker/flags/PF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PF.png diff --git a/ios/SAPTracker/flags/PG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PG.png similarity index 100% rename from ios/SAPTracker/flags/PG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PG.png diff --git a/ios/SAPTracker/flags/PH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PH.png similarity index 100% rename from ios/SAPTracker/flags/PH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PH.png diff --git a/ios/SAPTracker/flags/PK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PK.png similarity index 100% rename from ios/SAPTracker/flags/PK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PK.png diff --git a/ios/SAPTracker/flags/PL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PL.png similarity index 100% rename from ios/SAPTracker/flags/PL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PL.png diff --git a/ios/SAPTracker/flags/PN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PN.png similarity index 100% rename from ios/SAPTracker/flags/PN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PN.png diff --git a/ios/SAPTracker/flags/PR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PR.png similarity index 100% rename from ios/SAPTracker/flags/PR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PR.png diff --git a/ios/SAPTracker/flags/PS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PS.png similarity index 100% rename from ios/SAPTracker/flags/PS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PS.png diff --git a/ios/SAPTracker/flags/PT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PT.png similarity index 100% rename from ios/SAPTracker/flags/PT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PT.png diff --git a/ios/SAPTracker/flags/PW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PW.png similarity index 100% rename from ios/SAPTracker/flags/PW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PW.png diff --git a/ios/SAPTracker/flags/PY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/PY.png similarity index 100% rename from ios/SAPTracker/flags/PY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/PY.png diff --git a/ios/SAPTracker/flags/QA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/QA.png similarity index 100% rename from ios/SAPTracker/flags/QA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/QA.png diff --git a/ios/SAPTracker/flags/RO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/RO.png similarity index 100% rename from ios/SAPTracker/flags/RO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/RO.png diff --git a/ios/SAPTracker/flags/RS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/RS.png similarity index 100% rename from ios/SAPTracker/flags/RS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/RS.png diff --git a/ios/SAPTracker/flags/RU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/RU.png similarity index 100% rename from ios/SAPTracker/flags/RU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/RU.png diff --git a/ios/SAPTracker/flags/RW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/RW.png similarity index 100% rename from ios/SAPTracker/flags/RW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/RW.png diff --git a/ios/SAPTracker/flags/SA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SA.png similarity index 100% rename from ios/SAPTracker/flags/SA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SA.png diff --git a/ios/SAPTracker/flags/SB.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SB.png similarity index 100% rename from ios/SAPTracker/flags/SB.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SB.png diff --git a/ios/SAPTracker/flags/SC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SC.png similarity index 100% rename from ios/SAPTracker/flags/SC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SC.png diff --git a/ios/SAPTracker/flags/SD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SD.png similarity index 100% rename from ios/SAPTracker/flags/SD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SD.png diff --git a/ios/SAPTracker/flags/SE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SE.png similarity index 100% rename from ios/SAPTracker/flags/SE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SE.png diff --git a/ios/SAPTracker/flags/SG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SG.png similarity index 100% rename from ios/SAPTracker/flags/SG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SG.png diff --git a/ios/SAPTracker/flags/SH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SH.png similarity index 100% rename from ios/SAPTracker/flags/SH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SH.png diff --git a/ios/SAPTracker/flags/SI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SI.png similarity index 100% rename from ios/SAPTracker/flags/SI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SI.png diff --git a/ios/SAPTracker/flags/SK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SK.png similarity index 100% rename from ios/SAPTracker/flags/SK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SK.png diff --git a/ios/SAPTracker/flags/SL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SL.png similarity index 100% rename from ios/SAPTracker/flags/SL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SL.png diff --git a/ios/SAPTracker/flags/SM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SM.png similarity index 100% rename from ios/SAPTracker/flags/SM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SM.png diff --git a/ios/SAPTracker/flags/SN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SN.png similarity index 100% rename from ios/SAPTracker/flags/SN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SN.png diff --git a/ios/SAPTracker/flags/SO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SO.png similarity index 100% rename from ios/SAPTracker/flags/SO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SO.png diff --git a/ios/SAPTracker/flags/SR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SR.png similarity index 100% rename from ios/SAPTracker/flags/SR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SR.png diff --git a/ios/SAPTracker/flags/SS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SS.png similarity index 100% rename from ios/SAPTracker/flags/SS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SS.png diff --git a/ios/SAPTracker/flags/ST.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ST.png similarity index 100% rename from ios/SAPTracker/flags/ST.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ST.png diff --git a/ios/SAPTracker/flags/SV.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SV.png similarity index 100% rename from ios/SAPTracker/flags/SV.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SV.png diff --git a/ios/SAPTracker/flags/SY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SY.png similarity index 100% rename from ios/SAPTracker/flags/SY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SY.png diff --git a/ios/SAPTracker/flags/SZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/SZ.png similarity index 100% rename from ios/SAPTracker/flags/SZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/SZ.png diff --git a/ios/SAPTracker/flags/TC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TC.png similarity index 100% rename from ios/SAPTracker/flags/TC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TC.png diff --git a/ios/SAPTracker/flags/TD.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TD.png similarity index 100% rename from ios/SAPTracker/flags/TD.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TD.png diff --git a/ios/SAPTracker/flags/TF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TF.png similarity index 100% rename from ios/SAPTracker/flags/TF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TF.png diff --git a/ios/SAPTracker/flags/TG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TG.png similarity index 100% rename from ios/SAPTracker/flags/TG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TG.png diff --git a/ios/SAPTracker/flags/TH.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TH.png similarity index 100% rename from ios/SAPTracker/flags/TH.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TH.png diff --git a/ios/SAPTracker/flags/TJ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TJ.png similarity index 100% rename from ios/SAPTracker/flags/TJ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TJ.png diff --git a/ios/SAPTracker/flags/TK.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TK.png similarity index 100% rename from ios/SAPTracker/flags/TK.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TK.png diff --git a/ios/SAPTracker/flags/TL.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TL.png similarity index 100% rename from ios/SAPTracker/flags/TL.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TL.png diff --git a/ios/SAPTracker/flags/TM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TM.png similarity index 100% rename from ios/SAPTracker/flags/TM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TM.png diff --git a/ios/SAPTracker/flags/TN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TN.png similarity index 100% rename from ios/SAPTracker/flags/TN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TN.png diff --git a/ios/SAPTracker/flags/TO.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TO.png similarity index 100% rename from ios/SAPTracker/flags/TO.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TO.png diff --git a/ios/SAPTracker/flags/TR.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TR.png similarity index 100% rename from ios/SAPTracker/flags/TR.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TR.png diff --git a/ios/SAPTracker/flags/TT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TT.png similarity index 100% rename from ios/SAPTracker/flags/TT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TT.png diff --git a/ios/SAPTracker/flags/TV.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TV.png similarity index 100% rename from ios/SAPTracker/flags/TV.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TV.png diff --git a/ios/SAPTracker/flags/TW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TW.png similarity index 100% rename from ios/SAPTracker/flags/TW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TW.png diff --git a/ios/SAPTracker/flags/TZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/TZ.png similarity index 100% rename from ios/SAPTracker/flags/TZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/TZ.png diff --git a/ios/SAPTracker/flags/UA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/UA.png similarity index 100% rename from ios/SAPTracker/flags/UA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/UA.png diff --git a/ios/SAPTracker/flags/UG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/UG.png similarity index 100% rename from ios/SAPTracker/flags/UG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/UG.png diff --git a/ios/SAPTracker/flags/US.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/US.png similarity index 100% rename from ios/SAPTracker/flags/US.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/US.png diff --git a/ios/SAPTracker/flags/UY.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/UY.png similarity index 100% rename from ios/SAPTracker/flags/UY.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/UY.png diff --git a/ios/SAPTracker/flags/UZ.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/UZ.png similarity index 100% rename from ios/SAPTracker/flags/UZ.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/UZ.png diff --git a/ios/SAPTracker/flags/VA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VA.png similarity index 100% rename from ios/SAPTracker/flags/VA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VA.png diff --git a/ios/SAPTracker/flags/VC.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VC.png similarity index 100% rename from ios/SAPTracker/flags/VC.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VC.png diff --git a/ios/SAPTracker/flags/VE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VE.png similarity index 100% rename from ios/SAPTracker/flags/VE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VE.png diff --git a/ios/SAPTracker/flags/VG.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VG.png similarity index 100% rename from ios/SAPTracker/flags/VG.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VG.png diff --git a/ios/SAPTracker/flags/VI.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VI.png similarity index 100% rename from ios/SAPTracker/flags/VI.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VI.png diff --git a/ios/SAPTracker/flags/VN.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VN.png similarity index 100% rename from ios/SAPTracker/flags/VN.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VN.png diff --git a/ios/SAPTracker/flags/VU.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/VU.png similarity index 100% rename from ios/SAPTracker/flags/VU.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/VU.png diff --git a/ios/SAPTracker/flags/WF.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/WF.png similarity index 100% rename from ios/SAPTracker/flags/WF.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/WF.png diff --git a/ios/SAPTracker/flags/WS.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/WS.png similarity index 100% rename from ios/SAPTracker/flags/WS.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/WS.png diff --git a/ios/SAPTracker/flags/YE.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/YE.png similarity index 100% rename from ios/SAPTracker/flags/YE.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/YE.png diff --git a/ios/SAPTracker/flags/YT.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/YT.png similarity index 100% rename from ios/SAPTracker/flags/YT.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/YT.png diff --git a/ios/SAPTracker/flags/ZA.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ZA.png similarity index 100% rename from ios/SAPTracker/flags/ZA.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ZA.png diff --git a/ios/SAPTracker/flags/ZM.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ZM.png similarity index 100% rename from ios/SAPTracker/flags/ZM.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ZM.png diff --git a/ios/SAPTracker/flags/ZW.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/ZW.png similarity index 100% rename from ios/SAPTracker/flags/ZW.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/ZW.png diff --git a/ios/SAPTracker/flags/_abkhazia.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_abkhazia.png similarity index 100% rename from ios/SAPTracker/flags/_abkhazia.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_abkhazia.png diff --git a/ios/SAPTracker/flags/_basque-country.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_basque-country.png similarity index 100% rename from ios/SAPTracker/flags/_basque-country.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_basque-country.png diff --git a/ios/SAPTracker/flags/_british-antarctic-territory.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_british-antarctic-territory.png similarity index 100% rename from ios/SAPTracker/flags/_british-antarctic-territory.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_british-antarctic-territory.png diff --git a/ios/SAPTracker/flags/_commonwealth.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_commonwealth.png similarity index 100% rename from ios/SAPTracker/flags/_commonwealth.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_commonwealth.png diff --git a/ios/SAPTracker/flags/_england.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_england.png similarity index 100% rename from ios/SAPTracker/flags/_england.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_england.png diff --git a/ios/SAPTracker/flags/_gosquared.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_gosquared.png similarity index 100% rename from ios/SAPTracker/flags/_gosquared.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_gosquared.png diff --git a/ios/SAPTracker/flags/_kosovo.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_kosovo.png similarity index 100% rename from ios/SAPTracker/flags/_kosovo.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_kosovo.png diff --git a/ios/SAPTracker/flags/_mars.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_mars.png similarity index 100% rename from ios/SAPTracker/flags/_mars.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_mars.png diff --git a/ios/SAPTracker/flags/_nagorno-karabakh.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_nagorno-karabakh.png similarity index 100% rename from ios/SAPTracker/flags/_nagorno-karabakh.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_nagorno-karabakh.png diff --git a/ios/SAPTracker/flags/_nato.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_nato.png similarity index 100% rename from ios/SAPTracker/flags/_nato.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_nato.png diff --git a/ios/SAPTracker/flags/_northern-cyprus.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_northern-cyprus.png similarity index 100% rename from ios/SAPTracker/flags/_northern-cyprus.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_northern-cyprus.png diff --git a/ios/SAPTracker/flags/_olympics.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_olympics.png similarity index 100% rename from ios/SAPTracker/flags/_olympics.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_olympics.png diff --git a/ios/SAPTracker/flags/_red-cross.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_red-cross.png similarity index 100% rename from ios/SAPTracker/flags/_red-cross.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_red-cross.png diff --git a/ios/SAPTracker/flags/_scotland.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_scotland.png similarity index 100% rename from ios/SAPTracker/flags/_scotland.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_scotland.png diff --git a/ios/SAPTracker/flags/_somaliland.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_somaliland.png similarity index 100% rename from ios/SAPTracker/flags/_somaliland.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_somaliland.png diff --git a/ios/SAPTracker/flags/_south-ossetia.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_south-ossetia.png similarity index 100% rename from ios/SAPTracker/flags/_south-ossetia.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_south-ossetia.png diff --git a/ios/SAPTracker/flags/_united-nations.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_united-nations.png similarity index 100% rename from ios/SAPTracker/flags/_united-nations.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_united-nations.png diff --git a/ios/SAPTracker/flags/_unknown.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_unknown.png similarity index 100% rename from ios/SAPTracker/flags/_unknown.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_unknown.png diff --git a/ios/SAPTracker/flags/_wales.png b/ios/SAPTracker/src/xcode/SAPTracker/flags/_wales.png similarity index 100% rename from ios/SAPTracker/flags/_wales.png rename to ios/SAPTracker/src/xcode/SAPTracker/flags/_wales.png diff --git a/ios/SAPTrackerTests/Info.plist b/ios/SAPTracker/src/xcode/SAPTrackerTests/Info.plist similarity index 100% rename from ios/SAPTrackerTests/Info.plist rename to ios/SAPTracker/src/xcode/SAPTrackerTests/Info.plist diff --git a/ios/SAPTrackerTests/SAPTrackerAPITests.swift b/ios/SAPTracker/src/xcode/SAPTrackerTests/SAPTrackerAPITests.swift similarity index 100% rename from ios/SAPTrackerTests/SAPTrackerAPITests.swift rename to ios/SAPTracker/src/xcode/SAPTrackerTests/SAPTrackerAPITests.swift diff --git a/ios/SAPTrackerTests/competitor1.json b/ios/SAPTracker/src/xcode/SAPTrackerTests/competitor1.json similarity index 100% rename from ios/SAPTrackerTests/competitor1.json rename to ios/SAPTracker/src/xcode/SAPTrackerTests/competitor1.json diff --git a/ios/SAPTrackerTests/event1.json b/ios/SAPTracker/src/xcode/SAPTrackerTests/event1.json similarity index 100% rename from ios/SAPTrackerTests/event1.json rename to ios/SAPTracker/src/xcode/SAPTrackerTests/event1.json diff --git a/ios/SAPTrackerTests/leaderboard1.json b/ios/SAPTracker/src/xcode/SAPTrackerTests/leaderboard1.json similarity index 100% rename from ios/SAPTrackerTests/leaderboard1.json rename to ios/SAPTracker/src/xcode/SAPTrackerTests/leaderboard1.json diff --git a/ios/pom.xml b/ios/pom.xml new file mode 100644 index 00000000000..af252ba1835 --- /dev/null +++ b/ios/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.sap.sailing + ios + 1.0.0-SNAPSHOT + pom + + + SAPTracker + + + diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/BoatClassMasterdata.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/BoatClassMasterdata.java index 494597a73b9..ba267b82e89 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/BoatClassMasterdata.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/BoatClassMasterdata.java @@ -1,5 +1,8 @@ package com.sap.sailing.domain.common; +import java.util.ArrayList; +import java.util.List; + import com.sap.sailing.domain.common.impl.MeterDistance; @@ -157,4 +160,16 @@ public enum BoatClassMasterdata { return hasAdditionalDownwindSail; } + public static Iterable getAllBoatClassNames(boolean includeAlternativeNames) { + final List result = new ArrayList<>(); + for (BoatClassMasterdata bcmd : values()) { + result.add(bcmd.getDisplayName()); + if (includeAlternativeNames) { + for (String alternativeName : bcmd.getAlternativeNames()) { + result.add(alternativeName); + } + } + } + return result; + } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index f77fb9b316f..b32457da726 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -35,7 +35,7 @@ import com.mongodb.util.JSON; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; @@ -44,6 +44,7 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; @@ -51,11 +52,12 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogPathfinderEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogProtestStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; -import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl; @@ -141,7 +143,6 @@ import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.common.racelog.tracking.TransformationException; import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; -import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections.LeaderboardCorrectionsResolvedListener; import com.sap.sailing.domain.leaderboard.EventResolver; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; @@ -315,7 +316,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { .add(FieldNames.WIND.name() + "." + FieldNames.TIME_AS_MILLIS.name(), 1).get(), new BasicDBObjectBuilder().add("unique", true).add("dropDups", true).get()); } catch (MongoException exception) { - if (exception.getCode() == 10092) { logger.warning(String.format( "Setting the unique index on the %s collection failed because you have too many duplicates. " @@ -408,19 +408,9 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { if (result != null) { final Leaderboard finalResult = result; finalResult.setDisplayName((String) dbLeaderboard.get(FieldNames.LEADERBOARD_DISPLAY_NAME.name())); - DelayedLeaderboardCorrections loadedLeaderboardCorrections = new DelayedLeaderboardCorrectionsImpl(result, baseDomainFactory); - final boolean[] needsMigration = new boolean[1]; - loadedLeaderboardCorrections.addLeaderboardCorrectionsResolvedListener(new LeaderboardCorrectionsResolvedListener() { - @Override - public void correctionsResolved(DelayedLeaderboardCorrections delayedLeaderboardCorrections) { - if (needsMigration[0]) { - new MongoObjectFactoryImpl(database).storeLeaderboard(finalResult); - } - } - }); - needsMigration[0] = loadLeaderboardCorrections(dbLeaderboard, loadedLeaderboardCorrections, result.getScoreCorrection()) || needsMigration[0]; - needsMigration[0] = loadSuppressedCompetitors(dbLeaderboard, loadedLeaderboardCorrections) || needsMigration[0]; + loadLeaderboardCorrections(dbLeaderboard, loadedLeaderboardCorrections, result.getScoreCorrection()); + loadSuppressedCompetitors(dbLeaderboard, loadedLeaderboardCorrections); loadColumnFactors(dbLeaderboard, result); // add the leaderboard to the registry if (leaderboardRegistry != null) { @@ -449,25 +439,13 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } } - private boolean loadSuppressedCompetitors(DBObject dbLeaderboard, - DelayedLeaderboardCorrections loadedLeaderboardCorrections) { - final boolean needsMigration; - BasicDBList dbSuppressedCompetitorNames = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_SUPPRESSED_COMPETITORS.name()); - if (dbSuppressedCompetitorNames != null) { - needsMigration = true; - for (Object escapedCompetitorName : dbSuppressedCompetitorNames) { - loadedLeaderboardCorrections.suppressCompetitorByName(MongoUtils.unescapeDollarAndDot((String) escapedCompetitorName)); - } - } else { - needsMigration = false; - } + private void loadSuppressedCompetitors(DBObject dbLeaderboard, DelayedLeaderboardCorrections loadedLeaderboardCorrections) { BasicDBList dbSuppressedCompetitorIDs = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_SUPPRESSED_COMPETITOR_IDS.name()); if (dbSuppressedCompetitorIDs != null) { for (Object competitorId : dbSuppressedCompetitorIDs) { - loadedLeaderboardCorrections.suppressCompetitorById((Serializable) competitorId); + loadedLeaderboardCorrections.suppressCompetitorByID((Serializable) competitorId); } } - return needsMigration; } /** @@ -576,19 +554,8 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return scoringScheme; } - private boolean loadLeaderboardCorrections(DBObject dbLeaderboard, DelayedLeaderboardCorrections correctionsToUpdate, + private void loadLeaderboardCorrections(DBObject dbLeaderboard, DelayedLeaderboardCorrections correctionsToUpdate, SettableScoreCorrection scoreCorrectionToUpdate) { - boolean needsMigration = false; - DBObject carriedPoints = (DBObject) dbLeaderboard.get(FieldNames.LEADERBOARD_CARRIED_POINTS.name()); - if (carriedPoints != null) { - needsMigration = true; - for (String escapedCompetitorName : carriedPoints.keySet()) { - Double carriedPointsForCompetitor = ((Number) carriedPoints.get(escapedCompetitorName)).doubleValue(); - if (carriedPointsForCompetitor != null) { - correctionsToUpdate.setCarriedPointsByName(MongoUtils.unescapeDollarAndDot(escapedCompetitorName), carriedPointsForCompetitor); - } - } - } BasicDBList carriedPointsById = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_CARRIED_POINTS_BY_ID.name()); if (carriedPointsById != null) { for (Object o : carriedPointsById) { @@ -618,44 +585,22 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { DBObject dbScoreCorrectionForRace = (DBObject) dbScoreCorrection.get(escapedRaceColumnName); final RaceColumn raceColumn = correctionsToUpdate.getLeaderboard().getRaceColumnByName(MongoUtils.unescapeDollarAndDot(escapedRaceColumnName)); if (raceColumn != null) { - if (dbScoreCorrectionForRace instanceof BasicDBList) { - for (Object o : (BasicDBList) dbScoreCorrectionForRace) { - DBObject dbScoreCorrectionForCompetitorInRace = (DBObject) o; - Serializable competitorId = (Serializable) dbScoreCorrectionForCompetitorInRace - .get(FieldNames.COMPETITOR_ID.name()); - if (dbScoreCorrectionForCompetitorInRace - .containsField(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name())) { - correctionsToUpdate.setMaxPointsReasonByID(competitorId, raceColumn, MaxPointsReason - .valueOf((String) dbScoreCorrectionForCompetitorInRace - .get(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name()))); - } - if (dbScoreCorrectionForCompetitorInRace.containsField(FieldNames.LEADERBOARD_CORRECTED_SCORE - .name())) { - final Double leaderboardCorrectedScore = ((Number) dbScoreCorrectionForCompetitorInRace - .get(FieldNames.LEADERBOARD_CORRECTED_SCORE.name())).doubleValue(); - correctionsToUpdate.correctScoreByID(competitorId, raceColumn, - (Double) leaderboardCorrectedScore); - } + for (Object o : (BasicDBList) dbScoreCorrectionForRace) { + DBObject dbScoreCorrectionForCompetitorInRace = (DBObject) o; + Serializable competitorId = (Serializable) dbScoreCorrectionForCompetitorInRace + .get(FieldNames.COMPETITOR_ID.name()); + if (dbScoreCorrectionForCompetitorInRace + .containsField(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name())) { + correctionsToUpdate.setMaxPointsReasonByID(competitorId, raceColumn, MaxPointsReason + .valueOf((String) dbScoreCorrectionForCompetitorInRace + .get(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name()))); } - } else { - needsMigration = true; - for (String competitorName : dbScoreCorrectionForRace.keySet()) { - DBObject dbScoreCorrectionForCompetitorInRace = (DBObject) dbScoreCorrectionForRace - .get(competitorName); - if (dbScoreCorrectionForCompetitorInRace - .containsField(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name())) { - correctionsToUpdate.setMaxPointsReasonByName(MongoUtils - .unescapeDollarAndDot(competitorName), raceColumn, MaxPointsReason - .valueOf((String) dbScoreCorrectionForCompetitorInRace - .get(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name()))); - } - if (dbScoreCorrectionForCompetitorInRace.containsField(FieldNames.LEADERBOARD_CORRECTED_SCORE - .name())) { - final Double leaderboardCorrectedScore = ((Number) dbScoreCorrectionForCompetitorInRace - .get(FieldNames.LEADERBOARD_CORRECTED_SCORE.name())).doubleValue(); - correctionsToUpdate.correctScoreByName(MongoUtils.unescapeDollarAndDot(competitorName), - raceColumn, (Double) leaderboardCorrectedScore); - } + if (dbScoreCorrectionForCompetitorInRace.containsField(FieldNames.LEADERBOARD_CORRECTED_SCORE + .name())) { + final Double leaderboardCorrectedScore = ((Number) dbScoreCorrectionForCompetitorInRace + .get(FieldNames.LEADERBOARD_CORRECTED_SCORE.name())).doubleValue(); + correctionsToUpdate.correctScoreByID(competitorId, raceColumn, + (Double) leaderboardCorrectedScore); } } } else { @@ -667,22 +612,13 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { // deprecated style: a DBObject whose keys are the escaped competitor names // new style: a BasicDBList whose entries are DBObjects with COMPETITOR_ID and COMPETITOR_DISPLAY_NAME fields if (competitorDisplayNames != null) { - if (competitorDisplayNames instanceof BasicDBList) { - for (Object o : (BasicDBList) competitorDisplayNames) { - DBObject competitorDisplayName = (DBObject) o; - final Serializable competitorId = (Serializable) competitorDisplayName.get(FieldNames.COMPETITOR_ID.name()); - final String displayName = (String) competitorDisplayName.get(FieldNames.COMPETITOR_DISPLAY_NAME.name()); - correctionsToUpdate.setDisplayNameByID(competitorId, displayName); - } - } else { - needsMigration = true; - for (String escapedCompetitorName : competitorDisplayNames.keySet()) { - correctionsToUpdate.setDisplayNameByName(MongoUtils.unescapeDollarAndDot(escapedCompetitorName), - (String) competitorDisplayNames.get(escapedCompetitorName)); - } + for (Object o : (BasicDBList) competitorDisplayNames) { + DBObject competitorDisplayName = (DBObject) o; + final Serializable competitorId = (Serializable) competitorDisplayName.get(FieldNames.COMPETITOR_ID.name()); + final String displayName = (String) competitorDisplayName.get(FieldNames.COMPETITOR_DISPLAY_NAME.name()); + correctionsToUpdate.setDisplayNameByID(competitorId, displayName); } } - return needsMigration; } /** @@ -1360,6 +1296,10 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { String eventClass = (String) dbObject.get(FieldNames.RACE_LOG_EVENT_CLASS.name()); if (eventClass.equals(RaceLogStartTimeEvent.class.getSimpleName())) { return loadRaceLogStartTimeEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); + } else if (eventClass.equals(RaceLogStartOfTrackingEvent.class.getSimpleName())) { + return loadRaceLogStartOfTrackingEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); + } else if (eventClass.equals(RaceLogEndOfTrackingEvent.class.getSimpleName())) { + return loadRaceLogEndOfTrackingEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); } else if (eventClass.equals(RaceLogDependentStartTimeEvent.class.getSimpleName())) { return loadRaceLogDependentStartTimeEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); } else if (eventClass.equals(RaceLogRaceStatusEvent.class.getSimpleName())) { @@ -1393,7 +1333,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } else if (eventClass.equals(RaceLogDenoteForTrackingEvent.class.getSimpleName())) { return loadRaceLogDenoteForTrackingEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); } else if (eventClass.equals(RaceLogStartTrackingEvent.class.getSimpleName())) { - return loadRaceLogStartEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); + return loadRaceLogStartTrackingEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); } else if (eventClass.equals(RaceLogRevokeEvent.class.getSimpleName())) { return loadRaceLogRevokeEvent(createdAt, author, logicalTimePoint, id, passId, competitors, dbObject); } else if (eventClass.equals(RaceLogRegisterCompetitorEvent.class.getSimpleName())) { @@ -1461,7 +1401,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return raceLogEventFactory.createDenoteForTrackingEvent(createdAt, author, logicalTimePoint, id, passId, raceName, boatClass, raceId); } - private RaceLogEvent loadRaceLogStartEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + private RaceLogEvent loadRaceLogStartTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { return raceLogEventFactory.createStartTrackingEvent(createdAt, author, logicalTimePoint, id, passId); } @@ -1644,6 +1584,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return raceLogEventFactory.createStartTimeEvent(createdAt, author, logicalTimePoint, id, competitors, passId, startTime, nextStatus); } + private RaceLogStartOfTrackingEvent loadRaceLogStartOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { + return raceLogEventFactory.createStartOfTrackingEvent(logicalTimePoint, author, id, competitors, passId); + } + + private RaceLogEndOfTrackingEvent loadRaceLogEndOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { + return raceLogEventFactory.createEndOfTrackingEvent(logicalTimePoint, author, id, competitors, passId); + } + private RaceLogDependentStartTimeEvent loadRaceLogDependentStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { final Object regattaLikeNameObject = dbObject.get(FieldNames.RACE_LOG_DEPDENDENT_ON_REGATTALIKE.name()); final String regattaLikeName = regattaLikeNameObject == null ? null : regattaLikeNameObject.toString(); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreVisitor.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreVisitor.java index 0347f39f532..4dff4932552 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreVisitor.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreVisitor.java @@ -201,13 +201,11 @@ public class MongoRaceLogStoreVisitor implements RaceLogEventVisitor { public void visit(RaceLogStartOfTrackingEvent event) { DBObject object = mongoObjectFactory.storeRaceLogEntry(raceLogIdentifier, event); mongoObjectFactory.storeRaceLogEventEvent(object); - } @Override public void visit(RaceLogEndOfTrackingEvent event) { DBObject object = mongoObjectFactory.storeRaceLogEntry(raceLogIdentifier, event); mongoObjectFactory.storeRaceLogEventEvent(object); - } } diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/manual/PostFixes.java b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/manual/PostFixes.java index 662e49892d0..a39ea2e9748 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/manual/PostFixes.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/manual/PostFixes.java @@ -24,7 +24,7 @@ import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiJsonHandl import com.sap.sailing.domain.racelogtracking.test.AbstractJsonOverHttpTest; import com.sap.sailing.server.gateway.serialization.impl.DeviceAndSessionIdentifierWithGPSFixesSerializer; import com.sap.sailing.server.gateway.serialization.impl.DeviceIdentifierJsonSerializer; -import com.sap.sailing.server.gateway.serialization.impl.GPSFixMovingNmeaDTOJsonSerializer; +import com.sap.sailing.server.gateway.serialization.impl.GPSFixMovingJsonSerializer; import com.sap.sse.common.Util; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -33,7 +33,7 @@ public class PostFixes extends AbstractJsonOverHttpTest { private final DeviceAndSessionIdentifierWithGPSFixesSerializer fixSerializer = new DeviceAndSessionIdentifierWithGPSFixesSerializer<>(DeviceIdentifierJsonSerializer.create( - new SmartphoneImeiJsonHandler(), SmartphoneImeiIdentifier.TYPE), new GPSFixMovingNmeaDTOJsonSerializer()); + new SmartphoneImeiJsonHandler(), SmartphoneImeiIdentifier.TYPE), new GPSFixMovingJsonSerializer()); private void recordFix(GPSFixMoving... fix) throws IOException { String request = fixSerializer.serialize( diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/Activator.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/Activator.java index d0017065297..1724876d4ac 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/Activator.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/Activator.java @@ -22,13 +22,9 @@ import com.sap.sailing.server.MasterDataImportClassLoaderService; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; import com.sap.sailing.server.gateway.deserialization.impl.GPSFixJsonDeserializer; import com.sap.sailing.server.gateway.deserialization.impl.GPSFixMovingJsonDeserializer; -import com.sap.sailing.server.gateway.deserialization.impl.GPSFixMovingNmeaDTOJsonDeserializer; -import com.sap.sailing.server.gateway.deserialization.impl.GPSFixNmeaDTOJsonDeserializer; import com.sap.sailing.server.gateway.serialization.JsonSerializer; import com.sap.sailing.server.gateway.serialization.impl.GPSFixJsonSerializer; import com.sap.sailing.server.gateway.serialization.impl.GPSFixMovingJsonSerializer; -import com.sap.sailing.server.gateway.serialization.impl.GPSFixMovingNmeaDTOJsonSerializer; -import com.sap.sailing.server.gateway.serialization.impl.GPSFixNmeaDTOJsonSerializer; import com.sap.sailing.server.gateway.serialization.racelog.tracking.DeviceIdentifierJsonHandler; import com.sap.sailing.server.gateway.serialization.racelog.tracking.GPSFixJsonHandler; import com.sap.sailing.server.gateway.serialization.racelog.tracking.impl.GPSFixJsonHandlerImpl; @@ -75,8 +71,6 @@ public class Activator implements BundleActivator { registerGPSFixJsonService(context, new GPSFixJsonDeserializer(), new GPSFixJsonSerializer(), GPSFixJsonDeserializer.TYPE); registerGPSFixJsonService(context, new GPSFixMovingJsonDeserializer(), new GPSFixMovingJsonSerializer(), GPSFixMovingJsonDeserializer.TYPE); - registerGPSFixJsonService(context, new GPSFixNmeaDTOJsonDeserializer(), new GPSFixNmeaDTOJsonSerializer(), GPSFixNmeaDTOJsonDeserializer.TYPE); - registerGPSFixJsonService(context, new GPSFixMovingNmeaDTOJsonDeserializer(), new GPSFixMovingNmeaDTOJsonSerializer(), GPSFixMovingNmeaDTOJsonDeserializer.TYPE); registrations.add(context.registerService(RaceLogTrackingAdapterFactory.class, RaceLogTrackingAdapterFactory.INSTANCE, null)); diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java index 6dada58742b..747f938f666 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java @@ -24,6 +24,7 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCourseDesignFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.impl.BaseRaceLogEventVisitor; +import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; @@ -80,6 +81,7 @@ import com.sap.sailing.domain.tracking.impl.TrackedRaceStatusImpl; import com.sap.sse.common.NoCorrespondingServiceRegisteredException; import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util; +import com.sap.sse.common.Util.Pair; import com.sap.sse.common.WithID; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -135,6 +137,11 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { public void visit(RaceLogDeviceMarkMappingEvent event) { RaceLogRaceTracker.this.onDeviceMarkMappingEvent(event); } + + @Override + public void visit(RaceLogDefineMarkEvent event) { + RaceLogRaceTracker.this.onDefineMarkEvent(event); + } @Override public void visit(RaceLogStartTrackingEvent event) { @@ -254,33 +261,37 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { * Use mapping time ranges to set time start and end of tracking time for race */ private void updateStartAndEndOfTracking() { - TimePoint earliestMappingStart = new MillisecondsTimePoint(Long.MAX_VALUE); - TimePoint latestMappingEnd = new MillisecondsTimePoint(Long.MIN_VALUE); - - for (List extends DeviceMapping>> list : competitorMappings.values()) { - for (DeviceMapping> mapping : list) { - if (mapping.getTimeRange().from().before(earliestMappingStart)) { - earliestMappingStart = mapping.getTimeRange().from(); - } - if (mapping.getTimeRange().to().after(latestMappingEnd)) { - latestMappingEnd = mapping.getTimeRange().to(); + // TODO bug 3196: this would need to be evaluated lazily in TrackedRaceImpl.getStartOfTracking / getEndOfTracking + final Pair trackingTimesFromRaceLog = trackedRace.getTrackingTimesFromRaceLogs(); + if (trackingTimesFromRaceLog == null) { + TimePoint earliestMappingStart = new MillisecondsTimePoint(Long.MAX_VALUE); + TimePoint latestMappingEnd = new MillisecondsTimePoint(Long.MIN_VALUE); + + for (List extends DeviceMapping>> list : competitorMappings.values()) { + for (DeviceMapping> mapping : list) { + if (mapping.getTimeRange().from().before(earliestMappingStart)) { + earliestMappingStart = mapping.getTimeRange().from(); + } + if (mapping.getTimeRange().to().after(latestMappingEnd)) { + latestMappingEnd = mapping.getTimeRange().to(); + } } } - } - - for (List extends DeviceMapping>> list : markMappings.values()) { - for (DeviceMapping> mapping : list) { - if (mapping.getTimeRange().from().before(earliestMappingStart)) { - earliestMappingStart = mapping.getTimeRange().from(); - } - if (mapping.getTimeRange().to().after(latestMappingEnd)) { - latestMappingEnd = mapping.getTimeRange().to(); + + for (List extends DeviceMapping>> list : markMappings.values()) { + for (DeviceMapping> mapping : list) { + if (mapping.getTimeRange().from().before(earliestMappingStart)) { + earliestMappingStart = mapping.getTimeRange().from(); + } + if (mapping.getTimeRange().to().after(latestMappingEnd)) { + latestMappingEnd = mapping.getTimeRange().to(); + } } } + + trackedRace.setStartOfTrackingReceived(earliestMappingStart); + trackedRace.setEndOfTrackingReceived(latestMappingEnd); } - - trackedRace.setStartOfTrackingReceived(earliestMappingStart); - trackedRace.setEndOfTrackingReceived(latestMappingEnd); } private boolean hasMappingAlreadyBeenLoaded( @@ -316,6 +327,7 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { } private void updateMarkMappings(boolean loadIfNotCovered) { + assert trackedRace != null; // TODO remove fixes, if mappings have been removed // check if there are new time ranges not covered so far Map>> newMappings = getNewMarkMappings(); @@ -354,6 +366,18 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { gpsFixStore.addListener(this, event.getDevice()); } } + + /** + * When a log is attached to it, the tracked race creates mark tracks for all marks either defined or with a device + * mapped to it. When this tracker is running for a tracked race it has to mimic this behavior dynamically. When a + * {@link RaceLogDefineMarkEvent} is received, the existence of the track for that mark in the {@link TrackedRace} + * has to be ensured, also ensuring that the mark will exist in the mark tracks map key set. + */ + private void onDefineMarkEvent(RaceLogDefineMarkEvent event) { + if (trackedRace != null) { + trackedRace.getOrCreateTrack(event.getMark()); + } + } private void onDeviceCompetitorMappingEvent(DeviceCompetitorMappingEvent> event) { if (trackedRace != null) { @@ -384,13 +408,10 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { } } } - competitorMappings.clear(); competitorMappings.putAll(newMappings); - competitorMappingsByDevices.clear(); competitorMappingsByDevices.putAll(transformToMappingsByDevice(competitorMappings)); - updateStartAndEndOfTracking(); } @@ -427,7 +448,6 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { RaceLog raceLog = params.getRaceLog(); RaceColumn raceColumn = params.getRaceColumn(); Fleet fleet = params.getFleet(); - RaceLogDenoteForTrackingEvent denoteEvent = new RaceInformationFinder(raceLog).analyze(); BoatClass boatClass = denoteEvent.getBoatClass(); String raceName = denoteEvent.getRaceName(); @@ -436,51 +456,41 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener { courseBase = new CourseDataImpl("Default course for " + raceName); logger.log(Level.FINE, "Using empty course in creation of race " + raceName); } - Course course = new CourseImpl(raceName + " course", courseBase.getWaypoints()); - if (raceColumn.getTrackedRace(fleet) != null) { try { raceLog.revokeEvent(params.getService().getServerAuthor(), event, "could not start tracking because tracked race already exists"); } catch (NotRevokableException e) { + logger.log(Level.WARNING, "Couldn't revoke event "+event, e); } throw new RaceNotCreatedException(String.format("Race for racelog (%s) has already been created", raceLog)); } - // check both the racelog and regattalog for registered competitors Set competitors = new MultiLogAnalyzer<>(RegisteredCompetitorsAnalyzer.Factory.INSTANCE, new SetReducer(), params.getLogHierarchy()).analyze(); - Serializable raceId = denoteEvent.getRaceId(); final RaceDefinition raceDef = new RaceDefinitionImpl(raceName, course, boatClass, competitors, raceId); - Iterable sidelines = Collections. emptyList(); - // set race definition, so race is linked to leaderboard automatically regatta.getRegatta().addRace(raceDef); raceColumn.setRaceIdentifier(fleet, regatta.getRegatta().getRaceIdentifier(raceDef)); - trackedRace = regatta.createTrackedRace(raceDef, sidelines, windStore, gpsFixStore, params.getDelayToLiveInMillis(), WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, boatClass.getApproximateManeuverDurationInMilliseconds(), null, /*useMarkPassingCalculator*/ true, raceLogResolver); - trackedRace.setStatus(new TrackedRaceStatusImpl(TrackedRaceStatusEnum.TRACKING, 0)); - //attach regatta logs for (AbstractLog, ?> log : params.getLogHierarchy()) { if (log instanceof RegattaLog) { trackedRace.attachRegattaLog((RegattaLog) log); } } - // update the device mappings (without loading the fixes, as the TrackedRace does this itself on startup) updateCompetitorMappings(false); updateMarkMappings(false); // add listeners for devices in mappings already present addListeners(competitorMappings); addListeners(markMappings); - logger.info(String.format("Started tracking race-log race (%s)", raceLog)); // this wakes up all waiting race handles synchronized (this) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/AbstractLog.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/AbstractLog.java index cc29a91a082..a40781f618f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/AbstractLog.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/AbstractLog.java @@ -111,7 +111,6 @@ extends Track, WithID { /** * Get a {@link NavigableSet} of unrevoked events regardless of the {@code pass}. - * @return */ NavigableSet getUnrevokedEventsDescending(); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/MultiLogAnalyzer.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/MultiLogAnalyzer.java index 76f7df12b78..a2b6ac90feb 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/MultiLogAnalyzer.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/MultiLogAnalyzer.java @@ -10,6 +10,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import com.sap.sse.common.Util; + /** * Apply one kind of analyzer to multiple logs, and combine (reduce) their output into one result value. */ @@ -31,7 +33,7 @@ public class MultiLogAnalyzer public static abstract class CollectionReducer> implements ResultReducer, C> { @Override public C reduce(Collection interimResult, C reducedFinalResult) { - reducedFinalResult.addAll(interimResult); + Util.addAll(interimResult, reducedFinalResult); return reducedFinalResult; } } @@ -71,7 +73,7 @@ public class MultiLogAnalyzer } - public MultiLogAnalyzer(AnalyzerFactory< InterimResultT> analyzerFactory, + public MultiLogAnalyzer(AnalyzerFactory analyzerFactory, ResultReducer resultReducer, AbstractLog, ?>... logs) { this(analyzerFactory, resultReducer, Arrays.asList(logs)); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/TrackingTimesFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/TrackingTimesFinder.java new file mode 100755 index 00000000000..00bf8467cfe --- /dev/null +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/TrackingTimesFinder.java @@ -0,0 +1,46 @@ +package com.sap.sailing.domain.abstractlog.race.analyzing.impl; + +import com.sap.sailing.domain.abstractlog.race.RaceLog; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; +import com.sap.sse.common.TimePoint; +import com.sap.sse.common.Util; +import com.sap.sse.common.Util.Pair; + +public class TrackingTimesFinder extends RaceLogAnalyzer> { + + public TrackingTimesFinder(RaceLog raceLog) { + super(raceLog); + } + + @Override + protected Util.Pair performAnalysis() { + boolean startOfTrackingFound = false; + boolean endOfTrackingFound = false; + TimePoint start = null; + TimePoint end = null; + final RaceLog raceLog = getLog(); + for (RaceLogEvent event : raceLog.getUnrevokedEventsDescending()) { + if (!startOfTrackingFound && event instanceof RaceLogStartOfTrackingEvent) { + start = event.getLogicalTimePoint(); + startOfTrackingFound = true; + } + if (!endOfTrackingFound && event instanceof RaceLogEndOfTrackingEvent) { + end = event.getLogicalTimePoint(); + endOfTrackingFound = true; + } + if (startOfTrackingFound && endOfTrackingFound) { + break; + } + } + final Pair result; + if (startOfTrackingFound || endOfTrackingFound) { + result = new Util.Pair(start, end); + } else { + result = null; + } + return result; + } + +} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java index 4199520a8b9..054933cba7b 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java @@ -21,6 +21,11 @@ public class RaceLogEndOfTrackingEventImpl extends RaceLogEventImpl implements R @Override public void accept(RaceLogEventVisitor visitor) { visitor.visit(this); - } + + @Override + public String getShortInfo() { + return "endOfTrackingTime=" + getLogicalTimePoint(); + } + } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java index a8cadf7c118..58005300c6a 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java @@ -15,11 +15,15 @@ public class RaceLogStartOfTrackingEventImpl extends RaceLogEventImpl implements public RaceLogStartOfTrackingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint startOfTracking, Serializable pId, List pInvolvedBoats, int pPassId) { super(createdAt, author, startOfTracking, pId, pInvolvedBoats, pPassId); - // TODO Auto-generated constructor stub } @Override public void accept(RaceLogEventVisitor visitor) { visitor.visit(this); } + + @Override + public String getShortInfo() { + return "startOfTrackingTime=" + getLogicalTimePoint(); + } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/DefinedMarkFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/DefinedMarkFinder.java index 7e2ea5a69d7..15de65022db 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/DefinedMarkFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/DefinedMarkFinder.java @@ -1,22 +1,33 @@ package com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import com.sap.sailing.domain.abstractlog.AbstractLog; +import com.sap.sailing.domain.abstractlog.LogAnalyzer; +import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer.AnalyzerFactory; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogAnalyzer; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.base.Mark; -public class DefinedMarkFinder extends RaceLogAnalyzer> { +public class DefinedMarkFinder extends RaceLogAnalyzer> { public DefinedMarkFinder(RaceLog raceLog) { super(raceLog); } + public static class Factory implements AnalyzerFactory> { + @Override + public LogAnalyzer> createAnalyzer(AbstractLog, ?> log) { + return new DefinedMarkFinder((RaceLog) log); + } + } + @Override - protected Iterable performAnalysis() { - List< Mark> result = new ArrayList(); + protected Collection performAnalysis() { + List result = new ArrayList(); for (RaceLogEvent event : getLog().getUnrevokedEvents()) { if (event instanceof RaceLogDefineMarkEvent) { RaceLogDefineMarkEvent dME = (RaceLogDefineMarkEvent) event; @@ -25,5 +36,4 @@ public class DefinedMarkFinder extends RaceLogAnalyzer> { } return result; } - } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/analyzing/DeviceMarkMappingFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/analyzing/DeviceMarkMappingFinder.java index 97ac6b477fd..c8ef195833f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/analyzing/DeviceMarkMappingFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/analyzing/DeviceMarkMappingFinder.java @@ -21,7 +21,6 @@ public class DeviceMarkMappingFinder, public LogAnalyzer>>> createAnalyzer(AbstractLog, ?> log) { return new DeviceMarkMappingFinder(log); } - } public DeviceMarkMappingFinder(LogT log) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java index 6e28e3b3edb..7c262b59976 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java @@ -1,5 +1,7 @@ package com.sap.sailing.domain.base.impl; +import java.util.UUID; + import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.SharedDomainFactory; @@ -10,8 +12,7 @@ import com.sap.sailing.domain.common.PassingInstruction; public class WaypointImpl implements Waypoint { private static final long serialVersionUID = 1600863368078653897L; private final ControlPoint controlPoint; - private static int idCounter = 1; - private final int id; + private final UUID id; private final PassingInstruction passingInstructions; private final Bearing fixedBearing; @@ -30,7 +31,7 @@ public class WaypointImpl implements Waypoint { this.controlPoint = controlPoint; this.passingInstructions = passingInstructions; this.fixedBearing = fixedBearing; - id = idCounter++; + id = UUID.randomUUID(); } @Override @@ -54,7 +55,7 @@ public class WaypointImpl implements Waypoint { } @Override - public Integer getId() { + public UUID getId() { return id; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java index a56de1af5c7..8897561ef11 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java @@ -34,39 +34,13 @@ public interface DelayedLeaderboardCorrections extends RaceColumnListener, Seria void correctScoreByID(Serializable competitorId, RaceColumn raceColumn, double correctedScore); - /** - * Deprecated. Use {@link #correctScoreByID(Serializable, RaceColumn, double)} instead. Remains available until all - * databases have been migrated to the use of competitor IDs instead of competitor names. - */ - void correctScoreByName(String competitorName, RaceColumn raceColumn, double correctedScore); - void setCarriedPointsByID(Serializable competitorId, double carriedPoints); - /** - * Deprecated. Use {@link #setCarriedPointsByID(Serializable, double)} instead. Remains available until all databases have been - * migrated to the use of competitor IDs instead of competitor names. - */ - void setCarriedPointsByName(String competitorName, double carriedPoints); - void setMaxPointsReasonByID(Serializable competitorId, RaceColumn raceColumn, MaxPointsReason maxPointsReason); - /** - * Deprecated. Use {@link #setMaxPointsReasonByID(Serializable, RaceColumn, MaxPointsReason)} instead. Remains - * available until all databases have been migrated to the use of competitor IDs instead of competitor names. - */ - void setMaxPointsReasonByName(String competitorName, RaceColumn raceColumn, MaxPointsReason maxPointsReason); - void setDisplayNameByID(Serializable competitorId, String displayName); - void setDisplayNameByName(String competitorName, String displayName); - - void suppressCompetitorById(Serializable escapedCompetitorId); - - /** - * Deprecated. Use {@link #suppressCompetitorById(Serializable)} instead. Remains available until all databases have been - * migrated to the use of competitor IDs instead of competitor names. - */ - void suppressCompetitorByName(String competitorName); + void suppressCompetitorByID(Serializable escapedCompetitorId); void addLeaderboardCorrectionsResolvedListener(LeaderboardCorrectionsResolvedListener listener); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/DelayedLeaderboardCorrectionsImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/DelayedLeaderboardCorrectionsImpl.java index 95979bb56e6..15e2db0a7cf 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/DelayedLeaderboardCorrectionsImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/DelayedLeaderboardCorrectionsImpl.java @@ -44,13 +44,6 @@ import com.sap.sse.common.IsManagedByCache; public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorrections, IsManagedByCache { private static final long serialVersionUID = 8824782847677232275L; - // deprecated structures that key corrections by name; to be removed once all databases have been migrated - private final Map carriedPointsByCompetitorName; - private final Map> maxPointsReasonsByCompetitorName; - private final Map> correctedScoresByCompetitorName; - private final Map displayNamesByCompetitorName; - private final Set suppressedCompetitorNames; - // structures that key corrections by competitor ID private final Map carriedPointsByCompetitorID; private final Map> maxPointsReasonsByCompetitorID; @@ -66,11 +59,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr public DelayedLeaderboardCorrectionsImpl(Leaderboard leaderboard, CompetitorFactory competitorFactory) { this.competitorFactory = competitorFactory; listeners = new HashSet<>(); - carriedPointsByCompetitorName = new HashMap(); - maxPointsReasonsByCompetitorName = new HashMap>(); - correctedScoresByCompetitorName = new HashMap>(); - displayNamesByCompetitorName = new HashMap(); - suppressedCompetitorNames = new HashSet(); carriedPointsByCompetitorID = new HashMap(); maxPointsReasonsByCompetitorID = new HashMap>(); correctedScoresByCompetitorID = new HashMap>(); @@ -121,14 +109,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } - @Override - public void setCarriedPointsByName(String competitorName, double carriedPoints) { - assertNoTrackedRaceAssociatedYet(); - synchronized (carriedPointsByCompetitorName) { - carriedPointsByCompetitorName.put(competitorName, carriedPoints); - } - } - @Override public void setMaxPointsReasonByID(Serializable competitorId, RaceColumn raceColumn, MaxPointsReason maxPointsReason) { assertNoTrackedRaceAssociatedYet(); @@ -147,19 +127,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } - @Override - public void setMaxPointsReasonByName(String competitorName, RaceColumn raceColumn, MaxPointsReason maxPointsReason) { - assertNoTrackedRaceAssociatedYet(); - synchronized (maxPointsReasonsByCompetitorName) { - Map map = maxPointsReasonsByCompetitorName.get(competitorName); - if (map == null) { - map = new HashMap(); - maxPointsReasonsByCompetitorName.put(competitorName, map); - } - map.put(raceColumn, maxPointsReason); - } - } - @Override public void correctScoreByID(Serializable competitorId, RaceColumn raceColumn, double correctedScore) { assertNoTrackedRaceAssociatedYet(); @@ -178,19 +145,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } - @Override - public void correctScoreByName(String competitorName, RaceColumn raceColumn, double correctedScore) { - assertNoTrackedRaceAssociatedYet(); - synchronized (correctedScoresByCompetitorName) { - Map map = correctedScoresByCompetitorName.get(competitorName); - if (map == null) { - map = new HashMap(); - correctedScoresByCompetitorName.put(competitorName, map); - } - map.put(raceColumn, correctedScore); - } - } - /** * Checks if there are any carried points, max points reasons or corrected scores left over that may now receive * their competitor record. If so, {@link #setCarriedPointsByName(com.sap.sailing.domain.base.Competitor, int)}, @@ -216,16 +170,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } } - synchronized (carriedPointsByCompetitorName) { - for (Iterator> carryEntryIter = carriedPointsByCompetitorName.entrySet() - .iterator(); carryEntryIter.hasNext();) { - Map.Entry carryEntry = carryEntryIter.next(); - if (competitorsByName.containsKey(carryEntry.getKey())) { - leaderboard.setCarriedPoints(competitorsByName.get(carryEntry.getKey()), carryEntry.getValue()); - carryEntryIter.remove(); - } - } - } synchronized (maxPointsReasonsByCompetitorID) { for (Iterator>> maxPointsReasonsEntryIter = maxPointsReasonsByCompetitorID .entrySet().iterator(); maxPointsReasonsEntryIter.hasNext();) { @@ -242,22 +186,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } } - synchronized (maxPointsReasonsByCompetitorName) { - for (Iterator>> maxPointsReasonsEntryIter = maxPointsReasonsByCompetitorName - .entrySet().iterator(); maxPointsReasonsEntryIter.hasNext();) { - java.util.Map.Entry> maxPointsReasonEntries = maxPointsReasonsEntryIter - .next(); - if (competitorsByName.containsKey(maxPointsReasonEntries.getKey())) { - for (Map.Entry maxPointsReasonEntry : maxPointsReasonEntries - .getValue().entrySet()) { - leaderboard.getScoreCorrection().setMaxPointsReason( - competitorsByName.get(maxPointsReasonEntries.getKey()), maxPointsReasonEntry.getKey(), - maxPointsReasonEntry.getValue()); - } - maxPointsReasonsEntryIter.remove(); - } - } - } synchronized (correctedScoresByCompetitorID) { for (Iterator>> correctedScoresEntryIter = correctedScoresByCompetitorID .entrySet().iterator(); correctedScoresEntryIter.hasNext();) { @@ -274,22 +202,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } } - synchronized (correctedScoresByCompetitorName) { - for (Iterator>> correctedScoresEntryIter = correctedScoresByCompetitorName - .entrySet().iterator(); correctedScoresEntryIter.hasNext();) { - java.util.Map.Entry> correctedScoresEntries = correctedScoresEntryIter - .next(); - if (competitorsByName.containsKey(correctedScoresEntries.getKey())) { - for (java.util.Map.Entry correctedScoreEntry : correctedScoresEntries - .getValue().entrySet()) { - leaderboard.getScoreCorrection().correctScore( - competitorsByName.get(correctedScoresEntries.getKey()), correctedScoreEntry.getKey(), - correctedScoreEntry.getValue()); - } - correctedScoresEntryIter.remove(); - } - } - } synchronized (displayNamesByCompetitorID) { for (Iterator> displayNamesEntryIter = displayNamesByCompetitorID .entrySet().iterator(); displayNamesEntryIter.hasNext();) { @@ -301,17 +213,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } } - synchronized (displayNamesByCompetitorName) { - for (Iterator> displayNamesEntryIter = displayNamesByCompetitorName - .entrySet().iterator(); displayNamesEntryIter.hasNext();) { - java.util.Map.Entry displayNamesEntry = displayNamesEntryIter.next(); - if (competitorsByName.containsKey(displayNamesEntry.getKey())) { - leaderboard.setDisplayName(competitorsByName.get(displayNamesEntry.getKey()), - displayNamesEntry.getValue()); - displayNamesEntryIter.remove(); - } - } - } synchronized (suppressedCompetitorIDs) { for (Iterator suppressedCompetitorNameIter = suppressedCompetitorIDs.iterator(); suppressedCompetitorNameIter .hasNext();) { @@ -322,24 +223,11 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } } - synchronized (suppressedCompetitorNames) { - for (Iterator suppressedCompetitorNameIter = suppressedCompetitorNames.iterator(); suppressedCompetitorNameIter - .hasNext();) { - String next = suppressedCompetitorNameIter.next(); - if (competitorsByName.containsKey(next)) { - leaderboard.setSuppressed(competitorsByName.get(next), true); - suppressedCompetitorNameIter.remove(); - } - } - } removeAsListenerIfNoLeftOvers(); } private void removeAsListenerIfNoLeftOvers() { - if (carriedPointsByCompetitorName.isEmpty() && maxPointsReasonsByCompetitorName.isEmpty() && - correctedScoresByCompetitorName.isEmpty() && displayNamesByCompetitorName.isEmpty() && - suppressedCompetitorNames.isEmpty() && - carriedPointsByCompetitorID.isEmpty() && maxPointsReasonsByCompetitorID.isEmpty() && + if (carriedPointsByCompetitorID.isEmpty() && maxPointsReasonsByCompetitorID.isEmpty() && correctedScoresByCompetitorID.isEmpty() && displayNamesByCompetitorID.isEmpty() && suppressedCompetitorIDs.isEmpty()) { getLeaderboard().removeRaceColumnListener(this); @@ -365,15 +253,7 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } @Override - public void setDisplayNameByName(String competitorName, String displayName) { - assertNoTrackedRaceAssociatedYet(); - synchronized (displayNamesByCompetitorName) { - displayNamesByCompetitorName.put(competitorName, displayName); - } - } - - @Override - public void suppressCompetitorById(Serializable competitorId) { + public void suppressCompetitorByID(Serializable competitorId) { assertNoTrackedRaceAssociatedYet(); Competitor competitor = competitorFactory.getExistingCompetitorById(competitorId); if (competitor != null) { @@ -385,14 +265,6 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr } } - @Override - public void suppressCompetitorByName(String competitorName) { - assertNoTrackedRaceAssociatedYet(); - synchronized (suppressedCompetitorNames) { - suppressedCompetitorNames.add(competitorName); - } - } - @Override public void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { assignLeftOvers(trackedRace); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java index 48f7b56316e..7a04955c404 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java @@ -101,6 +101,7 @@ public class MarkPassingCalculator { List> suppressedMarkPassings = new ArrayList<>(); List unsuppressedMarkPassings = new ArrayList<>(); while (!finished) { + try { logger.finer("MPC is checking the queue"); List allNewFixInsertions = new ArrayList<>(); try { @@ -140,11 +141,14 @@ public class MarkPassingCalculator { markFixes.clear(); addedWaypoints.clear(); removedWaypoints.clear(); - smallestChangedWaypointIndex = null; + smallestChangedWaypointIndex = null; fixedMarkPassings.clear(); removedFixedMarkPassings.clear(); suppressedMarkPassings.clear(); - unsuppressedMarkPassings.clear(); + unsuppressedMarkPassings.clear(); + } + } catch (Exception e) { + logger.severe("Error while calculating markpassings: " + e.getMessage()); } } } finally { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java index 058613d55b0..8c5bfaca6df 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java @@ -50,6 +50,7 @@ import com.sap.sse.common.Duration; import com.sap.sse.common.IsManagedByCache; import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util; +import com.sap.sse.common.Util.Pair; /** * Live tracking data of a single race. The race follows a defined {@link Course} with a sequence of {@link Leg}s. The @@ -865,4 +866,16 @@ public interface TrackedRace extends Serializable, IsManagedByCache getTrackingTimesFromRaceLogs() { + return null; + } + + /** + * Returns all marks found in the {@link #markTracks} map and the mark device mappings and mark + * definition events in all attached race and regatta logs. + */ + default Iterable getMarksFromRaceAndLogs() { + return getMarks(); + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java index 9803974aff9..b900b863654 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java @@ -4,21 +4,24 @@ import java.util.HashSet; import java.util.Set; import java.util.logging.Logger; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.AbortingFlagFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCourseDesignFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.MarkPassingDataFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinder; +import com.sap.sailing.domain.abstractlog.race.analyzing.impl.TrackingTimesFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.WindFixesFinder; import com.sap.sailing.domain.abstractlog.race.impl.BaseRaceLogEventVisitor; import com.sap.sailing.domain.base.Competitor; @@ -31,6 +34,7 @@ import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.markpassingcalculation.MarkPassingUpdateListener; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sse.common.TimePoint; +import com.sap.sse.common.Util.Pair; import com.sap.sse.common.Util.Triple; /** @@ -50,8 +54,9 @@ public class DynamicTrackedRaceLogListener extends BaseRaceLogEventVisitor { private LastPublishedCourseDesignFinder courseDesignFinder; private StartTimeFinder startTimeFinder; private AbortingFlagFinder abortingFlagFinder; - private MarkPassingDataFinder markPassingDataFinder; + private TrackingTimesFinder trackingTimesFinder; + private MarkPassingUpdateListener markPassingUpdateListener; public DynamicTrackedRaceLogListener(DynamicTrackedRace trackedRace) { @@ -70,12 +75,8 @@ public class DynamicTrackedRaceLogListener extends BaseRaceLogEventVisitor { courseDesignFinder = new LastPublishedCourseDesignFinder(raceLog); startTimeFinder = new StartTimeFinder(trackedRace.getRaceLogResolver(), raceLog); abortingFlagFinder = new AbortingFlagFinder(raceLog); - initializeWindTrack(raceLog); - analyze(); - if (markPassingUpdateListener != null) { - markPassingDataFinder = new MarkPassingDataFinder(raceLog); - analyzeMarkPassings(); - } + trackingTimesFinder = new TrackingTimesFinder(raceLog); + analyze(raceLog); } } @@ -137,8 +138,22 @@ public class DynamicTrackedRaceLogListener extends BaseRaceLogEventVisitor { } } - private void analyze() { + private void analyze(RaceLog raceLog) { analyzeCourseDesign(null); + initializeWindTrack(raceLog); + analyseTrackingTimes(raceLog); + if (markPassingUpdateListener != null) { + markPassingDataFinder = new MarkPassingDataFinder(raceLog); + analyzeMarkPassings(); + } + } + + private void analyseTrackingTimes(RaceLog raceLog) { + Pair times = trackingTimesFinder.analyze(); + if (times != null) { + trackedRace.setStartOfTrackingReceived(times.getA()); + trackedRace.setEndOfTrackingReceived(times.getB()); + } } private void analyzeCourseDesign(CourseBase courseBaseProvidedByEvent) { @@ -261,4 +276,14 @@ public class DynamicTrackedRaceLogListener extends BaseRaceLogEventVisitor { public void visit(RaceLogDependentStartTimeEvent event) { analyzeStartTime(null); } + + @Override + public void visit(RaceLogStartOfTrackingEvent event) { + trackedRace.setStartOfTrackingReceived(event.getLogicalTimePoint()); + } + + @Override + public void visit(RaceLogEndOfTrackingEvent event) { + trackedRace.setEndOfTrackingReceived(event.getLogicalTimePoint()); + } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index 4cceaac7115..bc0a9a72841 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -6,6 +6,7 @@ import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.ConcurrentModificationException; @@ -35,18 +36,27 @@ import java.util.logging.Logger; import com.sap.sailing.domain.abstractlog.AbstractLog; import com.sap.sailing.domain.abstractlog.AbstractLogEvent; +import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer; +import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer.AnalyzerFactory; +import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer.MapWithValueCollectionReducer; +import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer.SetReducer; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinder; +import com.sap.sailing.domain.abstractlog.race.analyzing.impl.TrackingTimesFinder; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateImpl; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.ReadonlyRacingProcedure; +import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.DefinedMarkFinder; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; +import com.sap.sailing.domain.abstractlog.shared.analyzing.DeviceMarkMappingFinder; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Course; @@ -746,6 +756,25 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl markPassingsTimes.clear(); } } + + /** + * The race log supports the event types {@link RaceLogStartOfTrackingEvent} and + * {@link RaceLogEndOfTrackingEvent}. These are to take precedence over any other start/end of + * tracking specification (see bug 3196). This method uses the {@link TrackingTimesFinder} to + * analyze all {@link #attachedRaceLogs race logs attached} to find tracking times specifications. + * If no tracking times specification is found at all, null is returned. Note that + * even when a valid pair is returned, the components may be null. + */ + @Override + public Pair getTrackingTimesFromRaceLogs() { + for (final RaceLog raceLog : attachedRaceLogs.values()) { + Pair result = new TrackingTimesFinder(raceLog).analyze(); + if (result != null) { + return result; + } + } + return null; + } /** * Calculates the start time of the race from various sources. The highest precedence take the {@link #attachedRaceLogs race logs}, @@ -3139,10 +3168,9 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl } logger.info("Finished loading competitor tracks for " + getRace().getName()); logger.info("Started loading mark tracks for " + getRace().getName()); - for (Mark mark : getMarks()) { + for (Mark mark : getMarksFromRaceAndLogs()) { try { - gpsFixStore.loadMarkTrack((DynamicGPSFixTrack) markTracks.get(mark), log, - mark); + gpsFixStore.loadMarkTrack((DynamicGPSFixTrack) getOrCreateTrack(mark), log, mark); } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { logger.log(Level.WARNING, "Could not load track for " + mark, e); } @@ -3755,4 +3783,21 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl this.raceLogResolver = domainFactory.getRaceLogResolver(); return this; } + + @Override + public Iterable getMarksFromRaceAndLogs() { + final List> allLogs = new ArrayList>(); + final List> raceLogs = new ArrayList<>(); + raceLogs.addAll(attachedRaceLogs.values()); + allLogs.addAll(raceLogs); + allLogs.addAll(attachedRegattaLogs.values()); + final Map>> markMappings = new MultiLogAnalyzer<>(new DeviceMarkMappingFinder.Factory(), + new MapWithValueCollectionReducer<>(), allLogs).analyze(); + final Set result = new HashSet<>(); + result.addAll(markMappings.keySet()); + final AnalyzerFactory> analyzerFactory = new DefinedMarkFinder.Factory(); + Set marksDefinedInRaceLog = new MultiLogAnalyzer<>(analyzerFactory, new SetReducer(), raceLogs).analyze(); + result.addAll(marksDefinedInRaceLog); + return result; + } } diff --git a/java/com.sap.sailing.gwt.ui/Debug AdminConsole.launch b/java/com.sap.sailing.gwt.ui/Debug AdminConsole.launch new file mode 100755 index 00000000000..fac07558ee8 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/Debug AdminConsole.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch.template b/java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch similarity index 85% rename from java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch.template rename to java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch index 680251d912a..042eed68208 100644 --- a/java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch.template +++ b/java/com.sap.sailing.gwt.ui/Forward SailingGWT Ports for Android.launch @@ -1,6 +1,6 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch b/java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch index 9e0f5cfd10a..19df6cdef27 100644 --- a/java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch +++ b/java/com.sap.sailing.gwt.ui/SailingGWT sdm.launch @@ -3,7 +3,7 @@ - + @@ -72,7 +72,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/images/home/fullscreen.svg b/java/com.sap.sailing.gwt.ui/images/home/fullscreen.svg new file mode 100644 index 00000000000..f8666e288c1 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/images/home/fullscreen.svg @@ -0,0 +1,52 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/images/home/reload.svg b/java/com.sap.sailing.gwt.ui/images/home/reload.svg new file mode 100644 index 00000000000..b65180022cf --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/images/home/reload.svg @@ -0,0 +1,57 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/images/home/settings.svg b/java/com.sap.sailing.gwt.ui/images/home/settings.svg new file mode 100644 index 00000000000..41bdaa6e50b --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/images/home/settings.svg @@ -0,0 +1,52 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png new file mode 100644 index 00000000000..afd31c1255c Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png differ diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png new file mode 100644 index 00000000000..d835a09e7ec Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png differ diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator-trimmed.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator-trimmed.png new file mode 100644 index 00000000000..522e7eeedd4 Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator-trimmed.png differ diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/statistics.svg b/java/com.sap.sailing.gwt.ui/images/mobile/statistics.svg new file mode 100644 index 00000000000..d65616d4212 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/images/mobile/statistics.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivityProxy.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivityProxy.java index 88fba3a3b7b..d3b5c5449b0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivityProxy.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/EventActivityProxy.java @@ -94,11 +94,7 @@ public class EventActivityProxy extends AbstractActivityProxy { EventViewDTO event = ctx.getEventDTO(); if(event.getType() == EventType.SERIES_EVENT || event.getType() == EventType.SINGLE_REGATTA) { - if (event.isFinished()) { - return new RegattaLeaderboardPlace(new EventContext(ctx).withRegattaId(null)); - } else { - return new RegattaOverviewPlace(new EventContext(ctx).withRegattaId(null)); - } + return new RegattaOverviewPlace(new EventContext(ctx).withRegattaId(null)); } return new MultiregattaOverviewPlace(place.getCtx()); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.java index d01b77fe9b2..7ef53ebd364 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.java @@ -8,6 +8,7 @@ import java.util.Map; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.AnchorElement; import com.google.gwt.dom.client.DivElement; +import com.google.gwt.dom.client.Style.Display; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -30,12 +31,14 @@ import com.sap.sailing.gwt.home.client.place.event.partials.multiRegattaList.Mul import com.sap.sailing.gwt.home.client.place.event.partials.raceListLive.RacesListLive; import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshManager; import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshableWidget; +import com.sap.sailing.gwt.home.desktop.partials.statistics.StatisticsBox; import com.sap.sailing.gwt.home.shared.ExperimentalFeatures; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sailing.gwt.ui.shared.RaceGroupDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sailing.gwt.ui.shared.dispatch.SortedSetResult; +import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventStatisticsAction; import com.sap.sailing.gwt.ui.shared.dispatch.event.GetLiveRacesForEventAction; import com.sap.sailing.gwt.ui.shared.dispatch.event.GetRegattaListViewAction; import com.sap.sailing.gwt.ui.shared.dispatch.regatta.RegattaWithProgressDTO; @@ -57,10 +60,12 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat @UiField(provided = true) EventOverviewStage stage; @UiField(provided = true) RacesListLive racesListLive; @UiField DivElement newContentContainerUi; + @UiField DivElement legendAndFilterUi; @UiField(provided = true) DropdownFilter boatCategoryFilterUi; @UiField MultiRegattaListStepsLegend regattaProgressLegendUi; @UiField(provided = true) MultiRegattaList regattaListUi; @UiField AnchorElement regattaOverviewLinkUi; + @UiField StatisticsBox statisticsBoxUi; private Presenter currentPresenter; @Override @@ -84,7 +89,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat racesListLive = new RacesListLive(currentPresenter, true); MultiregattaOverviewRegattasTabViewRegattaFilterList regattaFilterList = new MultiregattaOverviewRegattasTabViewRegattaFilterList(); boatCategoryFilterUi = new DropdownFilter(StringMessages.INSTANCE.allBoatClasses(), regattaFilterList); - regattaListUi = new MultiRegattaList(currentPresenter); + regattaListUi = new MultiRegattaList(currentPresenter, false); initWidget(ourUiBinder.createAndBindUi(this)); regattaOverviewLinkUi.setHref(currentPresenter.getRegattaOverviewLink()); @@ -95,6 +100,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat if (ExperimentalFeatures.SHOW_NEW_REGATTA_LIST) { refreshManager.add(regattaFilterList, new GetRegattaListViewAction(currentPresenter.getCtx().getEventDTO().getId())); + refreshManager.add(statisticsBoxUi, new GetEventStatisticsAction(currentPresenter.getCtx().getEventDTO().getId(), true)); content.removeFromParent(); } else { boatCategoryFilterUi.removeFromParent(); @@ -158,6 +164,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat DropdownFilterList, RefreshableWidget> { @Override public void setData(SortedSetResult data) { + legendAndFilterUi.getStyle().setDisplay(data.isEmpty() ? Display.NONE : Display.BLOCK); regattaListUi.setData(data); boatCategoryFilterUi.updateFilterValues(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.ui.xml index 0bc24f74d7d..74e5192b8c5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaOverviewTabView.ui.xml @@ -1,6 +1,7 @@ @@ -19,7 +20,7 @@ - + + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.java index 869c356c28a..b8bbbe0dcad 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.java @@ -8,6 +8,7 @@ import java.util.Map; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.AnchorElement; import com.google.gwt.dom.client.DivElement; +import com.google.gwt.dom.client.Style.Display; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -55,6 +56,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat @UiField SimplePanel content; @UiField DivElement newContentContainerUi; @UiField(provided = true) RacesListLive racesListLiveUi; + @UiField DivElement legendAndFilterUi; @UiField(provided = true) DropdownFilter boatCategoryFilterUi; @UiField MultiRegattaListStepsLegend regattaProgressLegendUi; @UiField(provided = true) MultiRegattaList regattaListUi; @@ -81,7 +83,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat racesListLiveUi = new RacesListLive(currentPresenter, true); MultiregattaRegattasTabViewRegattaFilterList regattaFilterList = new MultiregattaRegattasTabViewRegattaFilterList(); boatCategoryFilterUi = new DropdownFilter(StringMessages.INSTANCE.allBoatClasses(), regattaFilterList); - regattaListUi = new MultiRegattaList(currentPresenter); + regattaListUi = new MultiRegattaList(currentPresenter, true); initWidget(ourUiBinder.createAndBindUi(this)); regattaOverviewLinkUi.setHref(currentPresenter.getRegattaOverviewLink()); @@ -156,6 +158,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat @Override public void setData(SortedSetResult data) { + legendAndFilterUi.getStyle().setDisplay(data.isEmpty() ? Display.NONE : Display.BLOCK); regattaListUi.setData(data); boatCategoryFilterUi.updateFilterValues(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.ui.xml index 43eb8639e1c..6bd7cebe1d7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/multiregatta/tabs/MultiregattaRegattasTabView.ui.xml @@ -16,7 +16,7 @@ - + () { + @Override + public void onClose(CloseEvent event) { + if (leaderboardPanel != null) { + leaderboardPanel.removeFromParent(); + oldLeaderboardPanel.add(leaderboardPanel); + } + } + }); + delegate.getSettingsControl().setTitle(StringMessages.INSTANCE.settings()); + delegate.getSettingsControl().addHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + OldLeaderboard.this.settingsClicked(event); + } + }, ClickEvent.getType()); + delegate.getAutoRefreshControl().setTitle(StringMessages.INSTANCE.refresh()); + delegate.getAutoRefreshControl().addHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + OldLeaderboard.this.toogleAutoRefreshClicked(event); + } + }, ClickEvent.getType()); } @UiHandler("autoRefreshAnchor") void toogleAutoRefreshClicked(ClickEvent event) { autoRefreshAnchor.removeStyleName(local_res.css().regattaleaderboard_meta_reload_live()); autoRefreshAnchor.removeStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + if (delegate != null) { + delegate.getAutoRefreshControl().removeStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + delegate.getAutoRefreshControl().removeStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + } if (autoRefreshTimer != null) { if (autoRefreshTimer.getPlayState() == PlayStates.Playing) { autoRefreshTimer.pause(); // autoRefreshAnchor.getElement().getStyle().setBackgroundColor("#8ab54e"); // autoRefreshAnchor.addStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + // if (delegate != null) { + // delegate.getAutoRefreshControl().getElement().getStyle().setBackgroundColor("#8ab54e"); + // delegate.getAutoRefreshControl().addStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + // } } else { // playing the standalone leaderboard means putting it into live mode autoRefreshTimer.setPlayMode(PlayModes.Live); // autoRefreshAnchor.getElement().getStyle().setBackgroundColor("red"); autoRefreshAnchor.addStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + if (delegate != null) { + // delegate.getAutoRefreshControl().getElement().getStyle().setBackgroundColor("red"); + delegate.getAutoRefreshControl().addStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + } } } } @@ -80,12 +139,28 @@ public class OldLeaderboard extends Composite { final String componentName = leaderboardPanel.getLocalizedShortName(); final String debugIdPrefix = DebugIdHelper.createDebugId(componentName); - SettingsDialog dialog = new SettingsDialog(leaderboardPanel, - StringMessages.INSTANCE); + SettingsDialog> dialog = new SettingsDialog(leaderboardPanel, StringMessages.INSTANCE) { + protected Widget getAdditionalWidget() { + Widget additionalWidget = super.getAdditionalWidget(); + if (!oldLeaderboardPanel.getElement().isOrHasChild(leaderboardPanel.getElement())) { + additionalWidget.getElement().getStyle().setProperty("maxWidth", Window.getClientWidth()-75, Unit.PX); + additionalWidget.getElement().getStyle().setOverflow(Overflow.AUTO); + } + return additionalWidget; + } + }; dialog.ensureDebugId(debugIdPrefix + "SettingsDialog"); dialog.show(); } } + + @UiHandler("fullscreenAnchor") + void fullscreenClicked(ClickEvent event) { + if(leaderboardPanel != null && delegate != null) { + leaderboardPanel.removeFromParent(); + delegate.setLeaderboardPanel(leaderboardPanel); + } + } public void setLeaderboard(LeaderboardPanel leaderboardPanel, final Timer timer) { this.autoRefreshTimer = timer; @@ -96,30 +171,54 @@ public class OldLeaderboard extends Composite { public void updatedLeaderboard(LeaderboardDTO leaderboard) { boolean hasLiveRace = leaderboardPanel.hasLiveRace(); if (leaderboard != null) { - lastScoringCommentDiv.setInnerText(leaderboard.getComment() != null ? leaderboard.getComment() : ""); + String comment = leaderboard.getComment() != null ? leaderboard.getComment() : ""; + String scoringScheme = leaderboard.scoringScheme != null ? ScoringSchemeTypeFormatter.getDescription(leaderboard.scoringScheme, StringMessages.INSTANCE) : ""; + lastScoringCommentDiv.setInnerText(comment); hasLiveRaceDiv.setInnerText(leaderboardPanel.getLiveRacesText()); - scoringSchemeDiv.setInnerText(leaderboard.scoringScheme != null ? ScoringSchemeTypeFormatter.getDescription(leaderboard.scoringScheme, StringMessages.INSTANCE) : ""); + scoringSchemeDiv.setInnerText(scoringScheme); + if (delegate != null) { + delegate.getLastScoringCommentElement().setInnerText(comment); + delegate.getHasLiveRaceElement().setInnerText(leaderboardPanel.getLiveRacesText()); + delegate.getScoringSchemeElement().setInnerText(scoringScheme); + } if (leaderboard.getTimePointOfLastCorrectionsValidity() != null) { Date lastCorrectionDate = leaderboard.getTimePointOfLastCorrectionsValidity(); String lastUpdate = DateAndTimeFormatterUtil.defaultDateFormatter.render(lastCorrectionDate) + ", " + DateAndTimeFormatterUtil.longTimeFormatter.render(lastCorrectionDate); lastScoringUpdateTimeDiv.setInnerText(lastUpdate); lastScoringUpdateTextDiv.setInnerText(TextMessages.INSTANCE.eventRegattaLeaderboardLastScoreUpdate()); + if (delegate != null) { + delegate.getLastScoringUpdateTimeElement().setInnerText(lastUpdate); + delegate.getLastScoringUpdateTextElement().setInnerText(TextMessages.INSTANCE.eventRegattaLeaderboardLastScoreUpdate()); + } } else { lastScoringUpdateTimeDiv.setInnerHTML(" "); lastScoringUpdateTextDiv.setInnerHTML(" "); } setVisible(hasLiveRaceDiv, hasLiveRace); - setVisible(lastScoringCommentDiv, !hasLiveRace); setVisible(lastScoringUpdateTextDiv, !hasLiveRace); setVisible(lastScoringUpdateTimeDiv, !hasLiveRace); setVisible(scoringSchemeDiv, true); + if (delegate != null) { + setVisible(delegate.getHasLiveRaceElement(), hasLiveRace); + setVisible(delegate.getLastScoringCommentElement(), !hasLiveRace); + setVisible(delegate.getLastScoringUpdateTextElement(), !hasLiveRace); + setVisible(delegate.getLastScoringUpdateTimeElement(), !hasLiveRace); + setVisible(delegate.getScoringSchemeElement(), true); + } } } public void hideRefresh() { autoRefreshAnchor.setVisible(false); + if (delegate != null) { + delegate.getAutoRefreshControl().setVisible(false); + } lastScoringUpdateTimeDiv.getStyle().setVisibility(Visibility.HIDDEN); } + + public interface OldLeaderboardDelegate extends LeaderboardDelegate { + Element getHasLiveRaceElement(); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboard.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboard.ui.xml index c251f946d0f..8ad9126c597 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboard.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboard.ui.xml @@ -5,7 +5,6 @@ - @@ -20,15 +19,16 @@ + - + - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardDelegateFullscreenViewer.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardDelegateFullscreenViewer.java new file mode 100644 index 00000000000..571214a20ec --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardDelegateFullscreenViewer.java @@ -0,0 +1,23 @@ +package com.sap.sailing.gwt.home.client.place.event.oldleaderboard; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.user.client.ui.Label; +import com.sap.sailing.gwt.home.client.place.event.oldleaderboard.OldLeaderboard.OldLeaderboardDelegate; +import com.sap.sailing.gwt.home.client.place.event.oldleaderboards.AbstractLeaderboardFullscreenViewer; +import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel; + +public class OldLeaderboardDelegateFullscreenViewer extends AbstractLeaderboardFullscreenViewer + implements OldLeaderboardDelegate { + + private final Label hasLiveRace = new Label(); + + public OldLeaderboardDelegateFullscreenViewer() { + setHeaderWidget(createPanel(lastScoringComment, hasLiveRace, scoringScheme)); + } + + @Override + public Element getHasLiveRaceElement() { + return hasLiveRace.getElement(); + } + +} \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardResources.java deleted file mode 100644 index 44c6a5910c9..00000000000 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboardResources.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.sap.sailing.gwt.home.client.place.event.oldleaderboard; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.resources.client.ClientBundle; -import com.google.gwt.resources.client.CssResource; - -public interface OldLeaderboardResources extends ClientBundle { - public static final OldLeaderboardResources INSTANCE = GWT.create(OldLeaderboardResources.class); - - @Source("com/sap/sailing/gwt/home/client/place/event/oldleaderboard/OldLeaderboard.css") - LocalCss css(); - - public interface LocalCss extends CssResource { - String oldLeaderboardPanel(); - } -} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/AbstractLeaderboardFullscreenViewer.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/AbstractLeaderboardFullscreenViewer.java new file mode 100644 index 00000000000..b1704d341f7 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/AbstractLeaderboardFullscreenViewer.java @@ -0,0 +1,91 @@ +package com.sap.sailing.gwt.home.client.place.event.oldleaderboards; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.home.shared.partials.fullscreen.FullscreenContainer; +import com.sap.sse.common.Color; + +public abstract class AbstractLeaderboardFullscreenViewer extends FullscreenContainer implements + LeaderboardDelegate { + + private final Image autoRefreshControl = new Image("images/home/reload.svg"); + private final Image settingsControl = new Image("images/home/settings.svg"); + + private final Label lastScoringUpdateTime = new Label(); + private final Label lastScoringUpdateText = new Label(); + protected final Label lastScoringComment = new Label(); + protected final Label scoringScheme = new Label(); + + public AbstractLeaderboardFullscreenViewer() { + showLogo(); + showBorder(); + addToolbarInfo(createPanel(lastScoringUpdateText, lastScoringUpdateTime)); + addToolbarAction(autoRefreshControl); + addToolbarAction(settingsControl); + } + + @Override + protected void onShow() { + Element leaderboardPanel = getContentWidget().getElement(); + leaderboardPanel.getStyle().setBackgroundColor(Color.WHITE.getAsHtml()); + leaderboardPanel.getFirstChildElement().getStyle().setMarginTop(-10, Unit.PX); + leaderboardPanel.setTabIndex(0); + leaderboardPanel.focus(); + } + + @Override + protected void onClose() { + Element leaderboardPanel = getContentWidget().getElement(); + leaderboardPanel.getStyle().clearBackgroundColor(); + leaderboardPanel.getFirstChildElement().getStyle().clearMarginTop(); + leaderboardPanel.blur(); + leaderboardPanel.removeAttribute("tabIndex"); + } + + protected Widget createPanel(Widget... contentWidgets) { + FlowPanel panel = new FlowPanel(); + for (Widget widget : contentWidgets) + panel.add(widget); + return panel; + } + + @Override + public void setLeaderboardPanel(T leaderboardPanel) { + showContent(leaderboardPanel); + } + + @Override + public Widget getAutoRefreshControl() { + return autoRefreshControl; + } + + @Override + public Widget getSettingsControl() { + return settingsControl; + } + + @Override + public Element getLastScoringUpdateTimeElement() { + return lastScoringUpdateTime.getElement(); + } + + @Override + public Element getLastScoringUpdateTextElement() { + return lastScoringUpdateText.getElement(); + } + + @Override + public Element getLastScoringCommentElement() { + return lastScoringComment.getElement(); + } + + @Override + public Element getScoringSchemeElement() { + return scoringScheme.getElement(); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/LeaderboardDelegate.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/LeaderboardDelegate.java new file mode 100644 index 00000000000..1a3ff6fb283 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldleaderboards/LeaderboardDelegate.java @@ -0,0 +1,27 @@ +package com.sap.sailing.gwt.home.client.place.event.oldleaderboards; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.event.logical.shared.CloseHandler; +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.user.client.ui.PopupPanel; +import com.google.gwt.user.client.ui.Widget; + +public interface LeaderboardDelegate { + + void setLeaderboardPanel(T leaderboardPanel); + + Widget getAutoRefreshControl(); + + Widget getSettingsControl(); + + HandlerRegistration addCloseHandler(CloseHandler handler); + + Element getLastScoringUpdateTimeElement(); + + Element getLastScoringUpdateTextElement(); + + Element getLastScoringCommentElement(); + + Element getScoringSchemeElement(); + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.java index 374edd07d03..5e3914f5069 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.java @@ -4,17 +4,25 @@ import java.util.Date; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.ParagraphElement; +import com.google.gwt.dom.client.Style.Overflow; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.Style.Visibility; import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.event.logical.shared.CloseEvent; +import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; +import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.gwt.common.client.i18n.TextMessages; +import com.sap.sailing.gwt.home.client.place.event.oldleaderboards.LeaderboardDelegate; import com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources; import com.sap.sailing.gwt.ui.client.DebugIdHelper; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -37,41 +45,89 @@ public class OldMultiLeaderboard extends Composite { @UiField Anchor settingsAnchor; @UiField Anchor autoRefreshAnchor; + @UiField Anchor fullscreenAnchor; @UiField ParagraphElement lastScoringUpdateTimeDiv; @UiField ParagraphElement lastScoringUpdateTextDiv; @UiField ParagraphElement lastScoringCommentDiv; - @UiField - ParagraphElement scoringSchemeDiv; - @UiField - EventRegattaLeaderboardResources local_res; + @UiField ParagraphElement scoringSchemeDiv; + @UiField EventRegattaLeaderboardResources local_res; private MultiLeaderboardPanel multiLeaderboardPanel; private Timer autoRefreshTimer; + private final OldMultiLeaderboardDelegate delegate; public OldMultiLeaderboard() { - this.multiLeaderboardPanel = null; - - EventRegattaLeaderboardResources.INSTANCE.css().ensureInjected(); - OldMultiLeaderboardResources.INSTANCE.css().ensureInjected(); - - initWidget(uiBinder.createAndBindUi(this)); + this(null); } + public OldMultiLeaderboard(OldMultiLeaderboardDelegate delegate) { + this.multiLeaderboardPanel = null; + EventRegattaLeaderboardResources.INSTANCE.css().ensureInjected(); + OldMultiLeaderboardResources.INSTANCE.css().ensureInjected(); + initWidget(uiBinder.createAndBindUi(this)); + settingsAnchor.setTitle(StringMessages.INSTANCE.settings()); + autoRefreshAnchor.setTitle(StringMessages.INSTANCE.refresh()); + fullscreenAnchor.setTitle(StringMessages.INSTANCE.openFullscreenView()); + this.delegate = delegate; + this.setupFullscreenDelegate(); + } + + private void setupFullscreenDelegate() { + if (delegate == null) { + fullscreenAnchor.removeFromParent(); + return; + } + delegate.addCloseHandler(new CloseHandler() { + @Override + public void onClose(CloseEvent event) { + if (multiLeaderboardPanel != null) { + multiLeaderboardPanel.removeFromParent(); + oldMultiLeaderboardPanel.add(multiLeaderboardPanel); + } + } + }); + delegate.getSettingsControl().setTitle(StringMessages.INSTANCE.settings()); + delegate.getSettingsControl().addHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + OldMultiLeaderboard.this.settingsClicked(event); + } + }, ClickEvent.getType()); + delegate.getAutoRefreshControl().setTitle(StringMessages.INSTANCE.refresh()); + delegate.getAutoRefreshControl().addHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + OldMultiLeaderboard.this.toogleAutoRefreshClicked(event); + } + }, ClickEvent.getType()); + } + @UiHandler("autoRefreshAnchor") void toogleAutoRefreshClicked(ClickEvent event) { - if(autoRefreshTimer != null) { + if (autoRefreshTimer != null) { autoRefreshAnchor.removeStyleName(local_res.css().regattaleaderboard_meta_reload_live()); autoRefreshAnchor.removeStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + if (delegate != null) { + delegate.getAutoRefreshControl().removeStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + delegate.getAutoRefreshControl().removeStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + } if (autoRefreshTimer.getPlayState() == PlayStates.Playing) { autoRefreshTimer.pause(); // autoRefreshAnchor.getElement().getStyle().setBackgroundColor("#f0ab00"); // autoRefreshAnchor.addStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); - + // if (delegate != null) { + // delegate.getAutoRefreshControl().getElement().getStyle().setBackgroundColor("#f0ab00"); + // delegate.getAutoRefreshControl().addStyleName(local_res.css().regattaleaderboard_meta_reload_playing()); + // } } else { // playing the standalone leaderboard means putting it into live mode autoRefreshTimer.setPlayMode(PlayModes.Live); - // autoRefreshAnchor.getElement().getStyle().setBackgroundColor(r); + // autoRefreshAnchor.getElement().getStyle().setBackgroundColor("red"); autoRefreshAnchor.addStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + if (delegate != null) { + // delegate.getAutoRefreshControl().getElement().getStyle().setBackgroundColor("red"); + delegate.getAutoRefreshControl().addStyleName(local_res.css().regattaleaderboard_meta_reload_live()); + } } } } @@ -82,12 +138,28 @@ public class OldMultiLeaderboard extends Composite { final String componentName = multiLeaderboardPanel.getLocalizedShortName(); final String debugIdPrefix = DebugIdHelper.createDebugId(componentName); - SettingsDialog dialog = new SettingsDialog(multiLeaderboardPanel, - StringMessages.INSTANCE); + SettingsDialog> dialog = new SettingsDialog(multiLeaderboardPanel, StringMessages.INSTANCE) { + protected Widget getAdditionalWidget() { + Widget additionalWidget = super.getAdditionalWidget(); + if (!oldMultiLeaderboardPanel.getElement().isOrHasChild(multiLeaderboardPanel.getElement())) { + additionalWidget.getElement().getStyle().setProperty("maxWidth", Window.getClientWidth()-75, Unit.PX); + additionalWidget.getElement().getStyle().setOverflow(Overflow.AUTO); + } + return additionalWidget; + } + }; dialog.ensureDebugId(debugIdPrefix + "SettingsDialog"); dialog.show(); } } + + @UiHandler("fullscreenAnchor") + void fullscreenClicked(ClickEvent event) { + if(multiLeaderboardPanel != null && delegate != null) { + multiLeaderboardPanel.removeFromParent(); + delegate.setLeaderboardPanel(multiLeaderboardPanel); + } + } public void setMultiLeaderboard(MultiLeaderboardPanel multiLeaderboardPanel, final Timer timer) { this.autoRefreshTimer = timer; @@ -98,19 +170,36 @@ public class OldMultiLeaderboard extends Composite { public void updatedMultiLeaderboard(LeaderboardDTO leaderboard, boolean hasLiveRace) { if(leaderboard != null) { - lastScoringCommentDiv.setInnerText(leaderboard.getComment() != null ? leaderboard.getComment() : ""); - scoringSchemeDiv.setInnerText(leaderboard.scoringScheme != null ? ScoringSchemeTypeFormatter.getDescription(leaderboard.scoringScheme, StringMessages.INSTANCE) : ""); + String comment = leaderboard.getComment() != null ? leaderboard.getComment() : ""; + String scoringScheme = leaderboard.scoringScheme != null ? ScoringSchemeTypeFormatter.getDescription(leaderboard.scoringScheme, StringMessages.INSTANCE) : ""; + lastScoringCommentDiv.setInnerText(comment); + scoringSchemeDiv.setInnerText(scoringScheme); + if (delegate != null) { + delegate.getLastScoringCommentElement().setInnerText(comment); + delegate.getScoringSchemeElement().setInnerText(scoringScheme); + } if (leaderboard.getTimePointOfLastCorrectionsValidity() != null) { Date lastCorrectionDate = leaderboard.getTimePointOfLastCorrectionsValidity(); String lastUpdate = DateAndTimeFormatterUtil.defaultDateFormatter.render(lastCorrectionDate) + ", " + DateAndTimeFormatterUtil.longTimeFormatter.render(lastCorrectionDate); lastScoringUpdateTimeDiv.setInnerText(lastUpdate); lastScoringUpdateTextDiv.setInnerText(TextMessages.INSTANCE.eventRegattaLeaderboardLastScoreUpdate()); + if (delegate != null) { + delegate.getLastScoringUpdateTimeElement().setInnerText(lastUpdate); + delegate.getLastScoringUpdateTextElement().setInnerText(TextMessages.INSTANCE.eventRegattaLeaderboardLastScoreUpdate()); + } } else { lastScoringUpdateTimeDiv.setInnerText(""); lastScoringUpdateTextDiv.setInnerText(""); } - lastScoringUpdateTimeDiv.getStyle().setVisibility(!hasLiveRace ? Visibility.VISIBLE : Visibility.HIDDEN); + Visibility lastScoringUpdateTimeVisibility = !hasLiveRace ? Visibility.VISIBLE : Visibility.HIDDEN; + lastScoringUpdateTimeDiv.getStyle().setVisibility(lastScoringUpdateTimeVisibility); + if (delegate != null) { + delegate.getLastScoringUpdateTimeElement().getStyle().setVisibility(lastScoringUpdateTimeVisibility); + } } } + + public interface OldMultiLeaderboardDelegate extends LeaderboardDelegate{ + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.ui.xml index 0c6496bf821..1c6353daa1f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboard.ui.xml @@ -19,6 +19,7 @@ + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboardDelegateFullscreenViewer.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboardDelegateFullscreenViewer.java new file mode 100644 index 00000000000..51bebceb478 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/oldmultileaderboard/OldMultiLeaderboardDelegateFullscreenViewer.java @@ -0,0 +1,13 @@ +package com.sap.sailing.gwt.home.client.place.event.oldmultileaderboard; + +import com.sap.sailing.gwt.home.client.place.event.oldleaderboards.AbstractLeaderboardFullscreenViewer; +import com.sap.sailing.gwt.home.client.place.event.oldmultileaderboard.OldMultiLeaderboard.OldMultiLeaderboardDelegate; +import com.sap.sailing.gwt.ui.leaderboard.MultiLeaderboardPanel; + +public class OldMultiLeaderboardDelegateFullscreenViewer extends + AbstractLeaderboardFullscreenViewer implements OldMultiLeaderboardDelegate { + + public OldMultiLeaderboardDelegateFullscreenViewer() { + setHeaderWidget(createPanel(lastScoringComment, scoringScheme)); + } +} \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.gss b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.gss index 42b617a51be..fe4b81f38e9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.gss +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.gss @@ -151,7 +151,6 @@ img.race_item_windflag { } .regattalistitem { font-size: 1rem; - float: left; width: 100%; margin-top: 2em; border: 1px solid #ddd; @@ -173,8 +172,13 @@ img.race_item_windflag { .regattalistitem_tableborderTop { border-top: 1px solid #ebebeb; } +.regattalistitem_noraces { + font-style: italic; + font-weight: bold; + padding: 1.5em 1em; + float: left; +} .regattalistitem_steps { - border-bottom: 1px solid #ddd; overflow: hidden; } .regattalistitem_steps_step { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.java index 729b72a3d48..f7221341737 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaList.java @@ -5,13 +5,17 @@ import java.util.Collections; import java.util.TreeSet; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.FontWeight; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.home.client.place.event.multiregatta.EventMultiregattaView.Presenter; import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshableWidget; +import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.dispatch.SortedSetResult; import com.sap.sailing.gwt.ui.shared.dispatch.regatta.RegattaWithProgressDTO; @@ -25,9 +29,11 @@ public class MultiRegattaList extends Composite implements RefreshableWidget selectableBoatCategories = new TreeSet<>(); + private final boolean showMessageIfEmpty; - public MultiRegattaList(Presenter presenter) { + public MultiRegattaList(Presenter presenter, boolean showMessageIfEmpty) { this.currentPresenter = presenter; + this.showMessageIfEmpty = showMessageIfEmpty; initWidget(uiBinder.createAndBindUi(this)); } @@ -39,6 +45,9 @@ public class MultiRegattaList extends Composite implements RefreshableWidget data) { regattasContainerUi.clear(); selectableBoatCategories.clear(); + if (data.isEmpty() && showMessageIfEmpty) { + regattasContainerUi.add(getNoDataInfoWidget()); + } for (RegattaWithProgressDTO regattaWithProgress : data) { regattasContainerUi.add(new MultiRegattaListItem(regattaWithProgress, currentPresenter)); String boatCategory = regattaWithProgress.getBoatCategory(); @@ -48,6 +57,13 @@ public class MultiRegattaList extends Composite implements RefreshableWidget getSelectableBoatCategories() { return selectableBoatCategories; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListResources.java index 4135f335be9..80198633cab 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListResources.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListResources.java @@ -44,6 +44,7 @@ public interface MultiRegattaListResources extends ClientBundle { String regattalistitem(); String regattalistitem_table(); String regattalistitem_tableborderTop(); + String regattalistitem_noraces(); String regattalistitem_steps(); String regattalistitem_steps_step(); String regattalistitem_steps_stepinactive(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.java index 98f9d0e6fdc..7ad113dea33 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.java @@ -33,6 +33,7 @@ public class MultiRegattaListSteps extends Composite { @UiField DivElement progressContainerUi; @UiField DivElement stepsContainerUi; + @UiField DivElement noRacesMessageUi; @UiField DivElement leaderboardButtonContainerUi; @UiField AnchorElement leaderboardButtonUi; @@ -56,6 +57,10 @@ public class MultiRegattaListSteps extends Composite { stepsContainerUi.appendChild(stepsBody.getElement()); } + if(regattaProgress.getSeries().isEmpty()) { + noRacesMessageUi.getStyle().clearDisplay(); + stepsContainerUi.removeFromParent(); + } } @Override @@ -77,7 +82,7 @@ public class MultiRegattaListSteps extends Composite { void setLeaderboardNavigation(RegattaState regattaState, PlaceNavigation> placeNavigation) { placeNavigation.configureAnchorElement(leaderboardButtonUi); - leaderboardButtonUi.getStyle().clearDisplay(); + leaderboardButtonContainerUi.getStyle().clearDisplay(); leaderboardButtonUi.addClassName(getLeaderboardButtonStyle(regattaState)); stepsContainerUi.getStyle().setDisplay(Display.NONE); Scheduler.get().scheduleDeferred(new ScheduledCommand() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.ui.xml index 355541e4715..40465f5ca94 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListSteps.ui.xml @@ -6,10 +6,11 @@ + - + + ui:field="leaderboardButtonUi"> diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java index 7afd6f6ff85..c0773a10dba 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java @@ -20,6 +20,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.dispatch.regatta.RegattaProgressFleetDTO; import com.sap.sailing.gwt.ui.shared.dispatch.regatta.RegattaProgressSeriesDTO; import com.sap.sailing.gwt.ui.shared.race.FleetMetadataDTO; +import com.sap.sse.common.Util; public class MultiRegattaListStepsBody extends UIObject implements RequiresResize { @@ -49,6 +50,7 @@ public class MultiRegattaListStepsBody extends UIObject implements RequiresResiz seriesProgress.getProgressRaceCount(), seriesProgress.getTotalRaceCount())); } addFleetProgresses(seriesProgress.getFleetState(), seriesProgress.getTotalRaceCount()); + setFleetsTooltip(seriesProgress.getFleetNames()); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { @@ -68,6 +70,14 @@ public class MultiRegattaListStepsBody extends UIObject implements RequiresResiz } } + private void setFleetsTooltip(String[] fleetNames) { + if (fleetNames.length > 1) { + String fleetCount = String.valueOf(fleetNames.length); + String fleetNameList = "(" + Util.join(", ", fleetNames) + ")"; + fleetsContainerUi.setTitle(Util.join(" ", fleetCount, I18N.fleets(), fleetNameList)); + } + } + private void renderNames() { if (getElement().getOffsetWidth() < nameUi.getOffsetWidth() + checkUi.getOffsetWidth() + progressUi.getOffsetWidth()) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.gss b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.gss index 6f05b620b9b..33566e9022b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.gss +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.gss @@ -83,8 +83,7 @@ img.race_item_flag { .race_item_sailid { margin-left: 5px; vertical-align: middle; - font-weight: bold; - font-size: 0.8em; + font-weight: 600; } .race_item_winner { vertical-align: middle; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.java index 43c16bf8745..928934f777f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/raceListLive/RacesListLive.java @@ -7,6 +7,7 @@ import com.google.gwt.user.client.ui.Composite; import com.sap.sailing.gwt.home.client.place.event.EventView; import com.sap.sailing.gwt.home.client.place.event.partials.racelist.AbstractRaceList; import com.sap.sailing.gwt.home.client.place.event.partials.racelist.RaceListColumnFactory; +import com.sap.sailing.gwt.home.client.place.event.partials.racelist.RaceListColumnSet; import com.sap.sailing.gwt.home.client.place.event.partials.racelist.RaceListContainer; import com.sap.sailing.gwt.home.client.place.event.partials.racelist.RaceListDataUtil; import com.sap.sailing.gwt.home.client.place.event.partials.racelist.SortableRaceListColumn; @@ -38,9 +39,9 @@ public class RacesListLive extends Composite { private final SortableRaceListColumn courseAreaColumn = RaceListColumnFactory.getCourseAreaColumn(); private final SortableRaceListColumn courseColumn = RaceListColumnFactory.getCourseColumn(); private final SortableRaceListColumn raceViewStateColumn = RaceListColumnFactory.getRaceViewStateColumn(); - + public RaceListLiveRaces(EventView.Presenter presenter, boolean showRegattaDetails) { - super(presenter); + super(presenter, new RaceListColumnSet(1, 1)); this.regattaNameColumn.setShowDetails(showRegattaDetails); } @@ -55,6 +56,7 @@ public class RacesListLive extends Composite { boolean hasWind = RaceListDataUtil.hasWind(data); this.windSpeedColumn.setShowDetails(hasWind); this.windDirectionColumn.setShowDetails(hasWind); + columnSet.updateColumnVisibilities(); super.setTableData(data); } @@ -72,6 +74,13 @@ public class RacesListLive extends Composite { add(courseColumn); add(raceViewStateColumn); add(raceViewerButtonColumn); + + columnSet.addColumn(regattaNameColumn); + columnSet.addColumn(windSpeedColumn); + columnSet.addColumn(windDirectionColumn); + columnSet.addColumn(courseAreaColumn); + columnSet.addColumn(courseColumn); + columnSet.addColumn(fleetNameColumn); } } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/AbstractRaceList.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/AbstractRaceList.java index adfd33c15d2..1e22538b0bf 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/AbstractRaceList.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/AbstractRaceList.java @@ -35,13 +35,14 @@ public abstract class AbstractRaceList startTimeColumn = RaceListColumnFactory.getStartTimeColumn(); protected final SortableRaceListColumn windDirectionColumn = RaceListColumnFactory.getWindDirectionColumn(); protected final SortableRaceListColumn raceViewerButtonColumn; - - private SortedCellTable cellTable = new SortedCellTable(0, CleanCellTableResources.INSTANCE); + protected final RaceListColumnSet columnSet; + private final SortedCellTable cellTable = new SortedCellTable(0, CleanCellTableResources.INSTANCE); private boolean tableColumnsInitialized = false; - protected AbstractRaceList(EventView.Presenter presenter) { + protected AbstractRaceList(EventView.Presenter presenter, RaceListColumnSet columnSet) { CSS.ensureInjected(); this.raceViewerButtonColumn = RaceListColumnFactory.getRaceViewerButtonColumn(presenter); + this.columnSet = columnSet; this.cellTableContainer.setWidget(this.cellTable); this.initTableStyle(); this.initWidget(cellTableContainer); @@ -49,7 +50,11 @@ public abstract class AbstractRaceList data) { this.ensureInitTableColumns(); - this.updateColumnVisibility(); + this.columnSet.updateColumnVisibilities(); + for (int i = 0; i < this.cellTable.getColumnCount(); i++) { + SortableRaceListColumn column = (SortableRaceListColumn) this.cellTable.getColumn(i); + column.updateHeaderAndCellStyles(); + } this.cellTable.setPageSize(data.size()); this.cellTable.setList(data); this.restoreColumnSortInfos(); @@ -74,17 +79,6 @@ public abstract class AbstractRaceList column = (SortableRaceListColumn) this.cellTable.getColumn(i); - Header> header = column.getHeader(); - if (header != null) { - header.setHeaderStyleNames(column.getCurrentHeaderStyle()); - } - column.setCellStyleNames(column.getCurrentColumnStyle()); - } - } - @SuppressWarnings("unchecked") private void restoreColumnSortInfos() { ColumnSortList sortList = this.cellTable.getColumnSortList(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnFactory.java index 5008ea7a1f6..de2f047769d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnFactory.java @@ -1,5 +1,7 @@ package com.sap.sailing.gwt.home.client.place.event.partials.racelist; +import static com.sap.sailing.gwt.ui.shared.race.RaceMetadataDTO.RaceTrackingState.TRACKED_VALID_DATA; + import java.util.Date; import com.google.gwt.cell.client.AbstractCell; @@ -21,10 +23,10 @@ import com.google.gwt.safehtml.shared.UriUtils; import com.google.gwt.user.cellview.client.SafeHtmlHeader; import com.sap.sailing.domain.common.InvertibleComparator; import com.sap.sailing.domain.common.SortingOrder; +import com.sap.sailing.domain.common.impl.InvertibleComparatorAdapter; import com.sap.sailing.domain.common.impl.NaturalComparator; import com.sap.sailing.gwt.common.client.SharedResources; import com.sap.sailing.gwt.common.client.SharedResources.MainCss; -import com.sap.sailing.gwt.common.client.SharedResources.MediaCss; import com.sap.sailing.gwt.common.client.i18n.TextMessages; import com.sap.sailing.gwt.home.client.place.event.EventView; import com.sap.sailing.gwt.home.client.place.event.partials.raceListLive.RacesListLiveResources; @@ -55,7 +57,6 @@ public class RaceListColumnFactory { private static final LocalCss CSS = RacesListLiveResources.INSTANCE.css(); private static final MainCss MAIN_CSS = SharedResources.INSTANCE.mainCss(); - private static final MediaCss MEDIA_CSS = SharedResources.INSTANCE.mediaCss(); private static final StringMessages I18N = StringMessages.INSTANCE; private static final TextMessages I18N_UBI = TextMessages.INSTANCE; private static final CellTemplates TEMPLATE = GWT.create(CellTemplates.class); @@ -170,12 +171,12 @@ public class RaceListColumnFactory { return new SortableRaceListColumn(I18N.fleet(), cell, comparator) { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), MEDIA_CSS.showonlarge()); + return CSS.raceslist_head_item(); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), MEDIA_CSS.showonlarge()); + return CSS.race_item(); } @Override @@ -206,12 +207,12 @@ public class RaceListColumnFactory { return new SortableRaceListColumn(I18N.durationPlain(), cell, comparator) { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), MEDIA_CSS.showonlarge()); + return CSS.raceslist_head_item(); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), MEDIA_CSS.showonlarge()); + return CSS.race_item(); } @Override @@ -309,12 +310,12 @@ public class RaceListColumnFactory { return new SortableRaceListColumn(I18N.from(), cell, comparator) { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), MEDIA_CSS.hideonsmall()); + return CSS.raceslist_head_item(); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), CSS.racesListIcon(), MEDIA_CSS.hideonsmall()); + return getStyleNamesString(CSS.race_item(), CSS.racesListIcon()); } @Override @@ -335,12 +336,12 @@ public class RaceListColumnFactory { return new SortableRaceListColumn(I18N.courseArea(), cell, comparator) { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), MEDIA_CSS.showonlarge()); + return CSS.raceslist_head_item(); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), MEDIA_CSS.showonlarge()); + return CSS.race_item(); } @Override @@ -361,12 +362,12 @@ public class RaceListColumnFactory { return new SortableRaceListColumn(I18N.course(), cell, comparator) { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), MEDIA_CSS.showonlarge()); + return CSS.raceslist_head_item(); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), MEDIA_CSS.showonlarge()); + return CSS.race_item(); } @Override @@ -524,7 +525,20 @@ public class RaceListColumnFactory { return Util.join(" ", MAIN_CSS.button(), MAIN_CSS.buttonstrong(), buttonColor, MAIN_CSS.buttonarrowrightwhite()); } }; - InvertibleComparator comparator = null; + InvertibleComparator comparator = new InvertibleComparatorAdapter() { + @Override + public int compare(T o1, T o2) { + if (o1.getTrackingState() == TRACKED_VALID_DATA && o2.getTrackingState() == TRACKED_VALID_DATA) { + if (o1.getViewState() == RaceViewState.FINISHED && o2.getViewState() != RaceViewState.FINISHED) { + return 1; + } + if (o1.getViewState() != RaceViewState.FINISHED && o2.getViewState() == RaceViewState.FINISHED) { + return -1; + } + } + return -o1.getTrackingState().compareTo(o2.getTrackingState()); + } + }; return new SortableRaceListColumn("", cell, comparator) { @Override public String getHeaderStyle() { @@ -617,12 +631,12 @@ public class RaceListColumnFactory { @Override public String getHeaderStyle() { - return getStyleNamesString(CSS.raceslist_head_item(), CSS.raceslist_head_itemcenter(), MEDIA_CSS.showonlarge()); + return getStyleNamesString(CSS.raceslist_head_item(), CSS.raceslist_head_itemcenter()); } @Override public String getColumnStyle() { - return getStyleNamesString(CSS.race_item(), CSS.race_itemcenter(), MEDIA_CSS.showonlarge()); + return getStyleNamesString(CSS.race_item(), CSS.race_itemcenter()); } } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnSet.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnSet.java new file mode 100644 index 00000000000..dd6d1091120 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/RaceListColumnSet.java @@ -0,0 +1,39 @@ +package com.sap.sailing.gwt.home.client.place.event.partials.racelist; + +import static com.sap.sailing.gwt.home.client.place.event.partials.racelist.SortableRaceListColumn.ColumnVisibility.ALWAYS; +import static com.sap.sailing.gwt.home.client.place.event.partials.racelist.SortableRaceListColumn.ColumnVisibility.LARGE; +import static com.sap.sailing.gwt.home.client.place.event.partials.racelist.SortableRaceListColumn.ColumnVisibility.MEDIUM; + +import java.util.LinkedHashSet; +import java.util.Set; + +import com.sap.sailing.gwt.home.client.place.event.partials.racelist.SortableRaceListColumn.ColumnVisibility; + +public class RaceListColumnSet { + + private final Set> columns = new LinkedHashSet<>(); + private final int visibilityAlwaysQuota, visibilityMediumQuota; + + public RaceListColumnSet(int visibilityAlwaysQuota, int visibilityMediumQuota) { + this.visibilityAlwaysQuota = visibilityAlwaysQuota; + this.visibilityMediumQuota = visibilityMediumQuota; + } + + public void addColumn(SortableRaceListColumn, ?> column) { + columns.add(column); + } + + public void updateColumnVisibilities() { + int visibleColumnCount = 0; + for (SortableRaceListColumn, ?> column : columns) { + if (column.isShowDetails()) { + column.setColumnVisibility(getColumnVisibilityByQuota(visibleColumnCount++)); + } + } + } + + private ColumnVisibility getColumnVisibilityByQuota(int i) { + return (i < visibilityAlwaysQuota) ? ALWAYS : (i < visibilityAlwaysQuota + visibilityMediumQuota) ? MEDIUM : LARGE; + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/SortableRaceListColumn.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/SortableRaceListColumn.java index 77935253a0d..bd7b5fde625 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/SortableRaceListColumn.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/racelist/SortableRaceListColumn.java @@ -6,16 +6,37 @@ import com.google.gwt.user.cellview.client.Header; import com.google.gwt.user.cellview.client.SafeHtmlHeader; import com.sap.sailing.domain.common.InvertibleComparator; import com.sap.sailing.domain.common.SortingOrder; +import com.sap.sailing.gwt.common.client.SharedResources; import com.sap.sailing.gwt.home.client.place.event.partials.raceListLive.RacesListLiveResources; import com.sap.sailing.gwt.ui.client.shared.controls.SortableColumn; import com.sap.sse.common.Util; public abstract class SortableRaceListColumn extends SortableColumn { + enum ColumnVisibility { + ALWAYS { + @Override + protected String getAdditionalStyle() { + return ""; + } + }, LARGE { + @Override + protected String getAdditionalStyle() { + return SharedResources.INSTANCE.mediaCss().showonlarge(); + } + }, MEDIUM { + @Override + protected String getAdditionalStyle() { + return SharedResources.INSTANCE.mediaCss().hideonsmall(); + } + }; + protected abstract String getAdditionalStyle(); + } + private final Header> header; private final InvertibleComparator comparator; - private boolean showDetails = true; + private ColumnVisibility columnVisibility = ColumnVisibility.ALWAYS; protected SortableRaceListColumn(String headerText, Cell cell, InvertibleComparator comparator) { this(new WrappedTextHeader(headerText), cell, comparator); @@ -25,7 +46,7 @@ public abstract class SortableRaceListColumn extends SortableColumn this(new WrappedTextHeader(headerText), cell, comparator, preferredSortingOrder); } - protected SortableRaceListColumn(Header> header, Cell cell, InvertibleComparator comparator) { + private SortableRaceListColumn(Header> header, Cell cell, InvertibleComparator comparator) { this(header, cell, comparator, SortingOrder.ASCENDING); } @@ -49,29 +70,30 @@ public abstract class SortableRaceListColumn extends SortableColumn this.showDetails = showDetails; } - public boolean isShowDetails() { + boolean isShowDetails() { return showDetails; } + + void setColumnVisibility(ColumnVisibility columnVisibility) { + this.columnVisibility = columnVisibility; + } + + void updateHeaderAndCellStyles() { + if (header != null) { + header.setHeaderStyleNames(getCurrentStyle(getHeaderStyle())); + } + setCellStyleNames(getCurrentStyle(getColumnStyle())); + } protected final String getStyleNamesString(String... styleNames) { return Util.join(" ", styleNames); } - private static final String COLUMN_HIDDEN_STYLE = RacesListLiveResources.INSTANCE.css().racesListHideColumn(); - - protected final String getCurrentHeaderStyle() { - return getShowOrHiddenStyle(getHeaderStyle()); + private String getCurrentStyle(String baseStyle) { + return getStyleNamesString(baseStyle, isShowDetails() ? columnVisibility.getAdditionalStyle() + : RacesListLiveResources.INSTANCE.css().racesListHideColumn()); } - - protected final String getCurrentColumnStyle() { - return getShowOrHiddenStyle(getColumnStyle()); - } - - private String getShowOrHiddenStyle(String showStyle) { - showStyle = showStyle == null ? "" : showStyle; - return showDetails ? showStyle : getStyleNamesString(showStyle, COLUMN_HIDDEN_STYLE); - } - + private static class WrappedTextHeader extends SafeHtmlHeader { public WrappedTextHeader(String headerText) { super(SafeHtmlUtils.fromTrustedString("" + headerText + "")); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/tabs/RegattaLeaderboardTabView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/tabs/RegattaLeaderboardTabView.java index 03c2ad85999..291306a4c14 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/tabs/RegattaLeaderboardTabView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/tabs/RegattaLeaderboardTabView.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.dto.LeaderboardDTO; import com.sap.sailing.domain.common.dto.RaceColumnDTO; import com.sap.sailing.gwt.common.client.controls.tabbar.TabView; +import com.sap.sailing.gwt.home.client.place.event.oldleaderboard.OldLeaderboardDelegateFullscreenViewer; import com.sap.sailing.gwt.home.client.place.event.oldleaderboard.OldLeaderboard; import com.sap.sailing.gwt.home.client.place.event.regatta.EventRegattaView; import com.sap.sailing.gwt.home.client.place.event.regatta.EventRegattaView.Presenter; @@ -29,11 +30,11 @@ public class RegattaLeaderboardTabView extends SharedLeaderboardRegattaTabView { + interface MyBinder extends UiBinder { + } + + private static MyBinder ourUiBinder = GWT.create(MyBinder.class); + private Presenter currentPresenter; + + @UiField MultiRegattaListStepsLegend regattaProgressLegendUi; + @UiField SimplePanel regattaInfoContainerUi; + @UiField(provided = true) + RacesListLive racesListLive; + @UiField(provided = true) EventOverviewStage stage; + @UiField(provided = true) StandingsList standingsUi; + @UiField(provided = true) StatisticsBox statisticsBoxUi; + public RegattaOverviewTabView() { } @@ -30,27 +57,36 @@ public class RegattaOverviewTabView extends Composite implements RegattaTabView< @Override public TabView.State getState() { - // Made not available until we have something to show - // TODO: implement backend and required UI - // return currentPresenter.getCtx().getEventDTO().getType() == EventType.MULTI_REGATTA ? - // TabView.State.NOT_AVAILABLE_SHOW_NEXT_AVAILABLE - // : TabView.State.VISIBLE; - return TabView.State.NOT_AVAILABLE_SHOW_NEXT_AVAILABLE; + if(ExperimentalFeatures.SHOW_SINGLE_REGATTA_OVERVIEW) { + return currentPresenter.getCtx().getEventDTO().getType() == EventType.MULTI_REGATTA ? TabView.State.NOT_AVAILABLE_SHOW_NEXT_AVAILABLE + : TabView.State.VISIBLE; + } else { + return TabView.State.NOT_AVAILABLE_SHOW_NEXT_AVAILABLE; + } } @Override public void start(RegattaOverviewPlace myPlace, AcceptsOneWidget contentArea) { racesListLive = new RacesListLive(currentPresenter, false); stage = new EventOverviewStage(currentPresenter); + statisticsBoxUi = new StatisticsBox(false); + standingsUi = new StandingsList(currentPresenter.getRegattaMetadata().getState() == RegattaState.FINISHED, currentPresenter.getRegattaLeaderboardNavigation(myPlace.getRegattaId())); initWidget(ourUiBinder.createAndBindUi(this)); RefreshManager refreshManager = new RefreshManager(this, currentPresenter.getDispatch()); + refreshManager.add(new RefreshableWidget
null