├── fastlane ├── metadata │ ├── de-DE │ │ ├── marketing_url.txt │ │ ├── name.txt │ │ ├── privacy_url.txt │ │ ├── support_url.txt │ │ ├── keywords.txt │ │ ├── description.txt │ │ └── release_notes.txt │ ├── en-US │ │ ├── marketing_url.txt │ │ ├── name.txt │ │ ├── privacy_url.txt │ │ ├── support_url.txt │ │ ├── keywords.txt │ │ ├── description.txt │ │ └── release_notes.txt │ ├── primary_first_sub_category.txt │ ├── copyright.txt │ ├── primary_second_sub_category.txt │ ├── secondary_first_sub_category.txt │ ├── secondary_second_sub_category.txt │ ├── primary_category.txt │ └── secondary_category.txt ├── Appfile ├── Deliverfile ├── Snapfile └── SnapshotHelper.swift ├── Resources ├── favstar.sketch ├── screenshot.png ├── Icon │ ├── Icon-76.png │ ├── Icon-60@2x.png │ ├── Icon-60@3x.png │ ├── Icon-76@2x.png │ ├── Icon-Small.png │ ├── Icon-83.5@2x.png │ ├── Icon-Small-20.png │ ├── Icon-Small-40.png │ ├── Icon-Small@2x.png │ ├── Icon-Small@3x.png │ ├── Icon-Small-20@3x.png │ ├── Icon-Small-40@2x.png │ ├── Icon-Small-40@3x.png │ └── iTunesArtwork@2x.png ├── favstar │ ├── fav.png │ ├── unfav.png │ ├── fav@2x.png │ ├── fav@3x.png │ ├── unfav@2x.png │ ├── unfav@3x.png │ ├── favTriangle.png │ ├── favTriangle@2x.png │ └── favTriangle@3x.png ├── graph_arrow.pdf ├── parkplatzStateIcons.sketch └── parkplatzStateIcons │ ├── Few.png │ ├── Full.png │ ├── Many.png │ ├── Closed.png │ ├── Few@2x.png │ ├── Few@3x.png │ ├── Full@2x.png │ ├── Full@3x.png │ ├── Many@2x.png │ ├── Many@3x.png │ ├── Nodata.png │ ├── Closed@2x.png │ ├── Closed@3x.png │ ├── Nodata@2x.png │ └── Nodata@3x.png ├── .github └── FUNDING.yml ├── ParkenDD ├── Images.xcassets │ ├── Contents.json │ ├── favStar.imageset │ │ ├── fav.png │ │ ├── fav@2x.png │ │ ├── fav@3x.png │ │ └── Contents.json │ ├── unfavStar.imageset │ │ ├── unfav.png │ │ ├── unfav@2x.png │ │ ├── unfav@3x.png │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── Icon-76.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-83.5@2x.png │ │ ├── Icon-Small-20.png │ │ ├── Icon-Small-40.png │ │ ├── Icon-Small-41.png │ │ ├── Icon-Small-42.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ ├── Icon-Small-20@3x.png │ │ ├── Icon-Small-40@2x.png │ │ ├── Icon-Small-40@3x.png │ │ ├── Icon-Small@2x-2.png │ │ ├── iTunesArtwork@2x.png │ │ └── Icon-Small-40@2x-1.png │ ├── favTriangle.imageset │ │ ├── favTriangle.png │ │ ├── favTriangle@2x.png │ │ ├── favTriangle@3x.png │ │ └── Contents.json │ ├── graphArrow.imageset │ │ ├── graph_arrow.pdf │ │ └── Contents.json │ ├── settingsButton.imageset │ │ ├── settingsa1x.png │ │ ├── settingsa2x.png │ │ ├── settingsa3x.png │ │ └── Contents.json │ ├── launchGradient.imageset │ │ ├── bg_ios_750x1334.png │ │ ├── bg_ios_750x1334-1.png │ │ ├── bg_ios_750x1334-2.png │ │ └── Contents.json │ └── launchIcon.imageset │ │ ├── parkendd_background_logo_ios.png │ │ ├── parkendd_background_logo_ios-1.png │ │ ├── parkendd_background_logo_ios-2.png │ │ └── Contents.json ├── Supporting Files │ ├── pl.lproj │ │ └── InfoPlist.strings │ ├── Base.lproj │ │ └── InfoPlist.strings │ ├── de.lproj │ │ └── InfoPlist.strings │ ├── cs.lproj │ │ └── InfoPlist.strings │ └── augustusbruecke.gpx ├── ParkenDD-Bridging-Header.h ├── Extensions │ ├── Drop.swift │ ├── NSDateFormatter.swift │ ├── NSDate+Comparable.swift │ └── Dictionary+MapFilter.swift ├── MapView │ └── ParkinglotAnnotation.swift ├── Constants.swift ├── Location.swift └── Default.swift ├── .gitignore ├── Pods ├── Target Support Files │ ├── Charts │ │ ├── Charts.modulemap │ │ ├── Charts-dummy.m │ │ ├── Charts-prefix.pch │ │ ├── Charts-umbrella.h │ │ ├── Charts.xcconfig │ │ └── Charts-Info.plist │ ├── Marshal │ │ ├── Marshal.modulemap │ │ ├── Marshal-dummy.m │ │ ├── Marshal-prefix.pch │ │ ├── Marshal-umbrella.h │ │ ├── Marshal.xcconfig │ │ └── Marshal-Info.plist │ ├── ParkKit │ │ ├── ParkKit.modulemap │ │ ├── ParkKit-dummy.m │ │ ├── ParkKit-prefix.pch │ │ ├── ParkKit-umbrella.h │ │ ├── ParkKit.xcconfig │ │ └── ParkKit-Info.plist │ ├── SwiftyDrop │ │ ├── SwiftyDrop.modulemap │ │ ├── SwiftyDrop-dummy.m │ │ ├── SwiftyDrop-prefix.pch │ │ ├── SwiftyDrop-umbrella.h │ │ ├── SwiftyDrop.xcconfig │ │ └── SwiftyDrop-Info.plist │ ├── SwiftyTimer │ │ ├── SwiftyTimer.modulemap │ │ ├── SwiftyTimer-dummy.m │ │ ├── SwiftyTimer-prefix.pch │ │ ├── SwiftyTimer-umbrella.h │ │ ├── SwiftyTimer.xcconfig │ │ └── SwiftyTimer-Info.plist │ ├── ObjectMapper │ │ ├── ObjectMapper.modulemap │ │ ├── ObjectMapper-dummy.m │ │ ├── ObjectMapper-prefix.pch │ │ ├── ObjectMapper-umbrella.h │ │ ├── ObjectMapper.xcconfig │ │ └── ObjectMapper-Info.plist │ └── Pods-ParkenDD │ │ ├── Pods-ParkenDD.modulemap │ │ ├── Pods-ParkenDD-dummy.m │ │ ├── Pods-ParkenDD-umbrella.h │ │ ├── Pods-ParkenDD-Info.plist │ │ ├── Pods-ParkenDD.debug.xcconfig │ │ └── Pods-ParkenDD.release.xcconfig ├── Marshal │ ├── Sources │ │ ├── UnmarshalUpdating.swift │ │ ├── Marshaling.swift │ │ ├── KeyType.swift │ │ ├── Unmarshaling.swift │ │ ├── Error.swift │ │ ├── MarshalDictionary.swift │ │ └── JSON.swift │ └── LICENSE.md ├── ParkKit │ ├── Sources │ │ ├── Coordinate.swift │ │ ├── DateFormatter+format.swift │ │ ├── ParkError.swift │ │ ├── Result.swift │ │ ├── Response.swift │ │ └── City.swift │ └── LICENSE ├── Charts │ └── Source │ │ └── Charts │ │ ├── Interfaces │ │ ├── BubbleChartDataProvider.swift │ │ ├── CandleChartDataProvider.swift │ │ ├── ScatterChartDataProvider.swift │ │ ├── LineChartDataProvider.swift │ │ ├── CombinedChartDataProvider.swift │ │ ├── BarChartDataProvider.swift │ │ ├── BarLineScatterCandleBubbleChartDataProvider.swift │ │ └── ChartDataProvider.swift │ │ ├── Data │ │ ├── Implementations │ │ │ └── Standard │ │ │ │ ├── CandleChartData.swift │ │ │ │ ├── BarLineScatterCandleBubbleChartData.swift │ │ │ │ ├── LineChartData.swift │ │ │ │ ├── BubbleChartData.swift │ │ │ │ ├── ScatterChartData.swift │ │ │ │ ├── BarLineScatterCandleBubbleChartDataSet.swift │ │ │ │ ├── RadarChartDataEntry.swift │ │ │ │ ├── RadarChartData.swift │ │ │ │ ├── BubbleChartDataSet.swift │ │ │ │ ├── RadarChartDataSet.swift │ │ │ │ └── LineScatterCandleRadarChartDataSet.swift │ │ └── Interfaces │ │ │ ├── IBubbleChartDataSet.swift │ │ │ ├── IBarLineScatterCandleBubbleChartDataSet.swift │ │ │ ├── IScatterChartDataSet.swift │ │ │ ├── IRadarChartDataSet.swift │ │ │ ├── ILineScatterCandleRadarChartDataSet.swift │ │ │ ├── IBarChartDataSet.swift │ │ │ ├── ILineRadarChartDataSet.swift │ │ │ ├── ICandleChartDataSet.swift │ │ │ └── IPieChartDataSet.swift │ │ ├── Highlight │ │ ├── IHighlighter.swift │ │ ├── PieHighlighter.swift │ │ ├── Range.swift │ │ ├── PieRadarHighlighter.swift │ │ └── HorizontalBarHighlighter.swift │ │ ├── Renderers │ │ ├── Renderer.swift │ │ ├── Scatter │ │ │ ├── IShapeRenderer.swift │ │ │ ├── CrossShapeRenderer.swift │ │ │ ├── XShapeRenderer.swift │ │ │ ├── ChevronUpShapeRenderer.swift │ │ │ ├── ChevronDownShapeRenderer.swift │ │ │ └── SquareShapeRenderer.swift │ │ ├── LineRadarRenderer.swift │ │ └── LineScatterCandleRadarRenderer.swift │ │ ├── Charts │ │ ├── BubbleChartView.swift │ │ ├── LineChartView.swift │ │ ├── ScatterChartView.swift │ │ └── CandleStickChartView.swift │ │ ├── Formatters │ │ ├── IFillFormatter.swift │ │ ├── IAxisValueFormatter.swift │ │ ├── IValueFormatter.swift │ │ ├── IndexAxisValueFormatter.swift │ │ └── DefaultFillFormatter.swift │ │ ├── Jobs │ │ ├── MoveViewJob.swift │ │ ├── AnimatedMoveViewJob.swift │ │ ├── ViewPortJob.swift │ │ └── ZoomViewJob.swift │ │ ├── Components │ │ ├── ComponentBase.swift │ │ ├── Description.swift │ │ ├── IMarker.swift │ │ └── ChartLimitLine.swift │ │ └── Utils │ │ └── TransformerHorizontalBarChart.swift ├── Manifest.lock ├── ObjectMapper │ ├── LICENSE │ └── Sources │ │ ├── TransformType.swift │ │ ├── CustomDateFormatTransform.swift │ │ ├── EnumTransform.swift │ │ ├── DataTransform.swift │ │ ├── ISO8601DateTransform.swift │ │ ├── TransformOf.swift │ │ ├── DateFormatterTransform.swift │ │ └── NSDecimalNumberTransform.swift ├── Pods.xcodeproj │ └── xcuserdata │ │ └── kilian.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ ├── Charts.xcscheme │ │ ├── Marshal.xcscheme │ │ ├── ParkKit.xcscheme │ │ ├── SwiftyDrop.xcscheme │ │ ├── SwiftyTimer.xcscheme │ │ └── ObjectMapper.xcscheme ├── SwiftyDrop │ └── LICENSE └── SwiftyTimer │ └── LICENSE ├── ParkenDD.xcodeproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── ParkenDD.xccheckout └── xcuserdata │ └── kilian.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── .swiftlint.yml ├── ParkenDD.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ ├── IDEWorkspaceChecks.plist │ └── ParkenDD.xccheckout ├── Podfile ├── .travis.yml ├── Podfile.lock ├── LICENSE └── README.md /fastlane/metadata/de-DE/marketing_url.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/name.txt: -------------------------------------------------------------------------------- 1 | ParkenDD -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/privacy_url.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/marketing_url.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/name.txt: -------------------------------------------------------------------------------- 1 | ParkenDD -------------------------------------------------------------------------------- /fastlane/metadata/en-US/privacy_url.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/primary_first_sub_category.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/copyright.txt: -------------------------------------------------------------------------------- 1 | 2015 Kilian Költzsch -------------------------------------------------------------------------------- /fastlane/metadata/primary_second_sub_category.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/secondary_first_sub_category.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/secondary_second_sub_category.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/support_url.txt: -------------------------------------------------------------------------------- 1 | http://parkendd.io -------------------------------------------------------------------------------- /fastlane/metadata/en-US/support_url.txt: -------------------------------------------------------------------------------- 1 | http://parkendd.io -------------------------------------------------------------------------------- /fastlane/metadata/primary_category.txt: -------------------------------------------------------------------------------- 1 | MZGenre.Utilities -------------------------------------------------------------------------------- /fastlane/metadata/secondary_category.txt: -------------------------------------------------------------------------------- 1 | MZGenre.Navigation -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/keywords.txt: -------------------------------------------------------------------------------- 1 | dresden,parken,auto,fahren,navigation,parkplatz,tiefgarage -------------------------------------------------------------------------------- /Resources/favstar.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar.sketch -------------------------------------------------------------------------------- /Resources/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/screenshot.png -------------------------------------------------------------------------------- /fastlane/metadata/en-US/keywords.txt: -------------------------------------------------------------------------------- 1 | dresden,parking,car,driving,navigation,park,public,parkinglot,lot -------------------------------------------------------------------------------- /Resources/Icon/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-76.png -------------------------------------------------------------------------------- /Resources/favstar/fav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/fav.png -------------------------------------------------------------------------------- /Resources/favstar/unfav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/unfav.png -------------------------------------------------------------------------------- /Resources/graph_arrow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/graph_arrow.pdf -------------------------------------------------------------------------------- /Resources/Icon/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-60@2x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-60@3x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-76@2x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small.png -------------------------------------------------------------------------------- /Resources/favstar/fav@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/fav@2x.png -------------------------------------------------------------------------------- /Resources/favstar/fav@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/fav@3x.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [kiliankoe] 2 | liberapay: kiliankoe 3 | custom: ['https://paypal.me/kiliankoeltzsch'] 4 | -------------------------------------------------------------------------------- /Resources/Icon/Icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-83.5@2x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small-20.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small-40.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small@2x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small@3x.png -------------------------------------------------------------------------------- /Resources/favstar/unfav@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/unfav@2x.png -------------------------------------------------------------------------------- /Resources/favstar/unfav@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/unfav@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Resources/favstar/favTriangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/favTriangle.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small-20@3x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /Resources/Icon/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /Resources/Icon/iTunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/Icon/iTunesArtwork@2x.png -------------------------------------------------------------------------------- /Resources/favstar/favTriangle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/favTriangle@2x.png -------------------------------------------------------------------------------- /Resources/favstar/favTriangle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/favstar/favTriangle@3x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons.sketch -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Few.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Few.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Full.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Many.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Many.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Closed.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Few@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Few@2x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Few@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Few@3x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Full@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Full@2x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Full@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Full@3x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Many@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Many@2x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Many@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Many@3x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Nodata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Nodata.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Closed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Closed@2x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Closed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Closed@3x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Nodata@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Nodata@2x.png -------------------------------------------------------------------------------- /Resources/parkplatzStateIcons/Nodata@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/Resources/parkplatzStateIcons/Nodata@3x.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | template.psd 2 | Breakpoints_v2.xcbkptlist 3 | UserInterfaceState.xcuserstate 4 | .idea 5 | # Pods 6 | screenshots 7 | Carthage 8 | build 9 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favStar.imageset/fav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favStar.imageset/fav.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favStar.imageset/fav@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favStar.imageset/fav@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favStar.imageset/fav@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favStar.imageset/fav@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/unfavStar.imageset/unfav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/unfavStar.imageset/unfav.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/unfavStar.imageset/unfav@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/unfavStar.imageset/unfav@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/unfavStar.imageset/unfav@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/unfavStar.imageset/unfav@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-20.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-41.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-42.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/graphArrow.imageset/graph_arrow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/graphArrow.imageset/graph_arrow.pdf -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts.modulemap: -------------------------------------------------------------------------------- 1 | framework module Charts { 2 | umbrella header "Charts-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-20@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-2.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle@2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/favTriangle.imageset/favTriangle@3x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/settingsButton.imageset/settingsa1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/settingsButton.imageset/settingsa1x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/settingsButton.imageset/settingsa2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/settingsButton.imageset/settingsa2x.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/settingsButton.imageset/settingsa3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/settingsButton.imageset/settingsa3x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Charts : NSObject 3 | @end 4 | @implementation PodsDummy_Charts 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal.modulemap: -------------------------------------------------------------------------------- 1 | framework module Marshal { 2 | umbrella header "Marshal-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit.modulemap: -------------------------------------------------------------------------------- 1 | framework module ParkKit { 2 | umbrella header "ParkKit-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Marshal : NSObject 3 | @end 4 | @implementation PodsDummy_Marshal 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_ParkKit : NSObject 3 | @end 4 | @implementation PodsDummy_ParkKit 5 | @end 6 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334.png -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop.modulemap: -------------------------------------------------------------------------------- 1 | framework module SwiftyDrop { 2 | umbrella header "SwiftyDrop-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334-1.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchGradient.imageset/bg_ios_750x1334-2.png -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer.modulemap: -------------------------------------------------------------------------------- 1 | framework module SwiftyTimer { 2 | umbrella header "SwiftyTimer-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper.modulemap: -------------------------------------------------------------------------------- 1 | framework module ObjectMapper { 2 | umbrella header "ObjectMapper-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ParkenDD { 2 | umbrella header "Pods-ParkenDD-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SwiftyDrop : NSObject 3 | @end 4 | @implementation PodsDummy_SwiftyDrop 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SwiftyTimer : NSObject 3 | @end 4 | @implementation PodsDummy_SwiftyTimer 5 | @end 6 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios.png -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_ObjectMapper : NSObject 3 | @end 4 | @implementation PodsDummy_ObjectMapper 5 | @end 6 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios-1.png -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiliankoe/ParkenDD/HEAD/ParkenDD/Images.xcassets/launchIcon.imageset/parkendd_background_logo_ios-2.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ParkenDD : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ParkenDD 5 | @end 6 | -------------------------------------------------------------------------------- /ParkenDD.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- 1 | disabled_rules: 2 | - line_length 3 | - todo 4 | - trailing_whitespace 5 | - function_body_length # Put this back in at some point 6 | - type_body_length # Put this back in at some point 7 | 8 | excluded: 9 | - Carthage 10 | - Pods 11 | - ParkenDDUITests 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ParkenDD.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # source 'https://github.com/CocoaPods/Specs.git' 2 | 3 | platform :ios, "8.0" 4 | use_frameworks! 5 | 6 | target "ParkenDD" do 7 | pod 'ParkKit', '~> 0.2' 8 | pod 'SwiftyTimer', '~> 2.1' 9 | pod 'ObjectMapper', '~> 3.0' 10 | pod 'SwiftyDrop', '~> 4.0' 11 | pod 'Charts', '~> 3.1' 12 | end 13 | -------------------------------------------------------------------------------- /ParkenDD.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ParkenDD/Supporting Files/pl.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | ParkenDD 4 | 5 | Created by Kilian Költzsch on 24/02/15. 6 | Copyright (c) 2015 Kilian Koeltzsch. All rights reserved. 7 | */ 8 | 9 | NSLocationWhenInUseUsageDescription = "Dla lokalizacji na mapie i sortowania według odległości."; 10 | -------------------------------------------------------------------------------- /ParkenDD.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/graphArrow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "graph_arrow.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /ParkenDD/ParkenDD-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | //#import 6 | //#import 7 | //#import 8 | //#import 9 | -------------------------------------------------------------------------------- /ParkenDD/Supporting Files/Base.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | ParkenDD 4 | 5 | Created by Kilian Költzsch on 24/02/15. 6 | Copyright (c) 2015 Kilian Koeltzsch. All rights reserved. 7 | */ 8 | 9 | NSLocationWhenInUseUsageDescription = "Used to show location on map and for sorting parking lots by distance."; 10 | -------------------------------------------------------------------------------- /ParkenDD/Supporting Files/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | ParkenDD 4 | 5 | Created by Kilian Költzsch on 24/02/15. 6 | Copyright (c) 2015 Kilian Koeltzsch. All rights reserved. 7 | */ 8 | 9 | NSLocationWhenInUseUsageDescription = "Wird für den Standort auf der Karte und Sortierung nach Distanz genutzt."; 10 | -------------------------------------------------------------------------------- /ParkenDD/Supporting Files/cs.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | ParkenDD 4 | 5 | Created by Kilian Költzsch on 24/02/15. 6 | Copyright (c) 2015 Kilian Koeltzsch. All rights reserved. 7 | */ 8 | 9 | NSLocationWhenInUseUsageDescription = "Slouží k zobrazení vaší aktuální polohy na mapě a řazení parkovacích míst podle vzdálenosti."; 10 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/UnmarshalUpdating.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | public protocol UnmarshalUpdating { 18 | mutating func update(with object: MarshaledObject) throws 19 | } 20 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/Marshaling.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | public protocol Marshaling { 17 | associatedtype MarshalType: MarshaledObject 18 | 19 | func marshaled() -> Self.MarshalType 20 | } 21 | -------------------------------------------------------------------------------- /ParkenDD/Extensions/Drop.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Drop.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 25/10/15. 6 | // Copyright © 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import SwiftyDrop 11 | 12 | func drop(_ message: String, state: DropState) { 13 | DispatchQueue.main.async { () -> Void in 14 | Drop.down(message, state: state) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ParkenDD/Supporting Files/augustusbruecke.gpx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double ChartsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ChartsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double MarshalVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char MarshalVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double ParkKitVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ParkKitVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double SwiftyDropVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char SwiftyDropVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/KeyType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | public protocol KeyType { 18 | var stringValue: String { get } 19 | } 20 | 21 | extension String: KeyType { 22 | public var stringValue: String { 23 | return self 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double SwiftyTimerVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char SwiftyTimerVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double ObjectMapperVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ObjectMapperVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_ParkenDDVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ParkenDDVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /ParkenDD/Extensions/NSDateFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSDateFormatter.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 28/10/15. 6 | // Copyright © 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension DateFormatter { 12 | convenience init(dateFormat: String, timezone: TimeZone?) { 13 | self.init() 14 | self.dateFormat = dateFormat 15 | if let timezone = timezone { 16 | self.timeZone = timezone 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- 1 | app_identifier "io.kilian.ParkenDD" # The bundle identifier of your app 2 | apple_id "me@kilian.io" # Your Apple email address 3 | 4 | # You can uncomment any of the lines below and add your own 5 | # team selection in case you're in multiple teams 6 | # team_name "Felix Krause" 7 | # team_id "Q2CBPJ58CA" 8 | 9 | 10 | # you can even provide different app identifiers, Apple IDs and team names per lane: 11 | # https://github.com/KrauseFx/fastlane/blob/master/docs/Appfile.md 12 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/Coordinate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Coordinate.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 03/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import Marshal 11 | import CoreLocation 12 | 13 | extension CLLocationCoordinate2D: Unmarshaling { 14 | public init(object: MarshaledObject) throws { 15 | latitude = try object <| "lat" 16 | longitude = try object <| "lng" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favStar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "fav.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "fav@2x.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "fav@3x.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: beta-xcode6.3 3 | xcode_project: ParkenDD.xcodeproj 4 | xcode_scheme: ParkenDD 5 | 6 | notifications: 7 | email: false 8 | 9 | before_install: 10 | - brew update 11 | - brew install carthage 12 | - gem install cocoapods --no-rdoc --no-ri --no-document --quiet 13 | - gem install xcpretty --no-rdoc --no-ri --no-document --quiet 14 | - carthage bootstrap 15 | 16 | script: xctool -workspace ParkenDD.xcworkspace -scheme ParkenDD build test -sdk iphonesimulator 17 | -------------------------------------------------------------------------------- /fastlane/Deliverfile: -------------------------------------------------------------------------------- 1 | ###################### More Options ###################### 2 | # If you want to have even more control, check out the documentation 3 | # https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md 4 | 5 | 6 | ###################### Automatically generated ###################### 7 | # Feel free to remove the following line if you use fastlane (which you should) 8 | 9 | app_identifier "io.kilian.ParkenDD" # The bundle identifier of your app 10 | username "me@kilian.io" # your Apple ID user 11 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/unfavStar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "unfav.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "unfav@2x.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "unfav@3x.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Charts 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Charts 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/DateFormatter+format.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DateFormatter+format.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 03/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | internal extension DateFormatter { 12 | static var iso: DateFormatter { 13 | let df = DateFormatter() 14 | df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" 15 | df.timeZone = TimeZone(identifier: "UTC") 16 | return df 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Marshal 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Marshal 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/description.txt: -------------------------------------------------------------------------------- 1 | ParkenDD shows a list of available public parking lots in Dresden, Ingolstadt, Zürich and more cities in the future. 2 | 3 | Features of the app: 4 | 5 | - view the real live parking situation in various cities 6 | - get details for parking lots, e.g. whether it's open, how many parking spaces are available and where it is located 7 | - experimental forecast for some parking lots 8 | - get a overview of the parking lots on the map 9 | 10 | More infos are available on http://parkendd.de/en -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/settingsButton.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "settingsa1x.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "settingsa2x.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "settingsa3x.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/favTriangle.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "favTriangle.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "favTriangle@2x.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "favTriangle@3x.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDrop 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyDrop 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyTimer 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/BubbleChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BubbleChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol BubbleChartDataProvider: BarLineScatterCandleBubbleChartDataProvider 17 | { 18 | var bubbleData: BubbleChartData? { get } 19 | } -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/CandleChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CandleChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol CandleChartDataProvider: BarLineScatterCandleBubbleChartDataProvider 17 | { 18 | var candleData: CandleChartData? { get } 19 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/ObjectMapper 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchGradient.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "bg_ios_750x1334.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "bg_ios_750x1334-1.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "bg_ios_750x1334-2.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/ScatterChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScatterChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol ScatterChartDataProvider: BarLineScatterCandleBubbleChartDataProvider 17 | { 18 | var scatterData: ScatterChartData? { get } 19 | } -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/description.txt: -------------------------------------------------------------------------------- 1 | ParkenDD zeigt eine Liste der verfügbaren öffentlichen Parkplätze in Dresden, Ingolstadt, Zürich und in der Zukunft auch noch von weiteren Städten. 2 | 3 | Funktionen der App: 4 | 5 | - Abrufen der aktuellen Parksituation verschiedener Städte in Echtzeit 6 | - Details zu den Parkplätzen, z.B. ob er geöffnet ist, wie viele Parkplätze verfügbar sind oder wo er sich befindet 7 | - Experimentelle Vorhersagen für vereinzelte Parkplätze 8 | - Darstellung der Parkplätze in einer Karte 9 | 10 | Mehr Infos zum Projekt gibt es auf http://parkendd.de -------------------------------------------------------------------------------- /ParkenDD/Images.xcassets/launchIcon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x", 6 | "filename" : "parkendd_background_logo_ios.png" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x", 11 | "filename" : "parkendd_background_logo_ios-1.png" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x", 16 | "filename" : "parkendd_background_logo_ios-2.png" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/LineChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol LineChartDataProvider: BarLineScatterCandleBubbleChartDataProvider 17 | { 18 | var lineData: LineChartData? { get } 19 | 20 | func getAxis(_ axis: YAxis.AxisDependency) -> YAxis 21 | } 22 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/CombinedChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CombinedChartDataProvider.swoft 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol CombinedChartDataProvider: LineChartDataProvider, BarChartDataProvider, BubbleChartDataProvider, CandleChartDataProvider, ScatterChartDataProvider 17 | { 18 | var combinedData: CombinedChartData? { get } 19 | } -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/CandleChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CandleChartData.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | open class CandleChartData: BarLineScatterCandleBubbleChartData 15 | { 16 | public override init() 17 | { 18 | super.init() 19 | } 20 | 21 | public override init(dataSets: [IChartDataSet]?) 22 | { 23 | super.init(dataSets: dataSets) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ParkKit 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Marshal" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/ParkKit 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Highlight/IHighlighter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IHighlighter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(IChartHighlighter) 16 | public protocol IHighlighter: class 17 | { 18 | /// - Parameters: 19 | /// - x: 20 | /// - y: 21 | /// - Returns: A Highlight object corresponding to the given x- and y- touch positions in pixels. 22 | func getHighlight(x: CGFloat, y: CGFloat) -> Highlight? 23 | } 24 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/BarLineScatterCandleBubbleChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BarLineScatterCandleBubbleChartData.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | open class BarLineScatterCandleBubbleChartData: ChartData 15 | { 16 | public override init() 17 | { 18 | super.init() 19 | } 20 | 21 | public override init(dataSets: [IChartDataSet]?) 22 | { 23 | super.init(dataSets: dataSets) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/BarChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BarChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol BarChartDataProvider: BarLineScatterCandleBubbleChartDataProvider 17 | { 18 | var barData: BarChartData? { get } 19 | 20 | var isDrawBarShadowEnabled: Bool { get } 21 | var isDrawValueAboveBarEnabled: Bool { get } 22 | var isHighlightFullBarEnabled: Bool { get } 23 | } -------------------------------------------------------------------------------- /ParkenDD/Extensions/NSDate+Comparable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSDate+Comparable.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 26/10/15. 6 | // Copyright © 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | //extension Date: Comparable { 12 | // 13 | //} 14 | 15 | //public func ==(lhs: NSDate, rhs: NSDate) -> Bool { 16 | // return lhs === rhs || lhs.compare(rhs) == .OrderedSame 17 | //} 18 | 19 | public func ==(lhs: Date, rhs: Date) -> Bool { 20 | let interval = lhs.timeIntervalSince(rhs) 21 | return abs(interval) < 60.0 22 | } 23 | 24 | public func <(lhs: Date, rhs: Date) -> Bool { 25 | return lhs.compare(rhs) == .orderedAscending 26 | } 27 | -------------------------------------------------------------------------------- /ParkenDD/MapView/ParkinglotAnnotation.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ParkinglotAnnotation.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 20/10/15. 6 | // Copyright © 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import MapKit 11 | import ParkKit 12 | 13 | class ParkinglotAnnotation: NSObject, MKAnnotation { 14 | 15 | var title: String? 16 | var subtitle: String? 17 | var lot: Lot 18 | 19 | var coordinate: CLLocationCoordinate2D { 20 | return lot.coordinate ?? CLLocationCoordinate2D() 21 | } 22 | 23 | init(title: String, subtitle: String?, lot: Lot) { 24 | self.title = title 25 | self.subtitle = subtitle 26 | self.lot = lot 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/LineChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineChartData.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | /// Data object that encapsulates all data associated with a LineChart. 15 | open class LineChartData: ChartData 16 | { 17 | public override init() 18 | { 19 | super.init() 20 | } 21 | 22 | public override init(dataSets: [IChartDataSet]?) 23 | { 24 | super.init(dataSets: dataSets) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Renderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Renderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(ChartRenderer) 16 | open class Renderer: NSObject 17 | { 18 | /// the component that handles the drawing area of the chart and it's offsets 19 | @objc public let viewPortHandler: ViewPortHandler 20 | 21 | @objc public init(viewPortHandler: ViewPortHandler) 22 | { 23 | self.viewPortHandler = viewPortHandler 24 | super.init() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/BarLineScatterCandleBubbleChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BarLineScatterCandleBubbleChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol BarLineScatterCandleBubbleChartDataProvider: ChartDataProvider 17 | { 18 | func getTransformer(forAxis: YAxis.AxisDependency) -> Transformer 19 | func isInverted(axis: YAxis.AxisDependency) -> Bool 20 | 21 | var lowestVisibleX: Double { get } 22 | var highestVisibleX: Double { get } 23 | } 24 | -------------------------------------------------------------------------------- /ParkenDD/Extensions/Dictionary+MapFilter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Dictionary+TupleInit.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 22/09/15. 6 | // Copyright © 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Dictionary { 12 | init(_ pairs: [Element]) { 13 | self.init() 14 | for (k, v) in pairs { 15 | self[k] = v 16 | } 17 | } 18 | 19 | func mapPairs(_ transform: (Element) throws -> (OutKey, OutValue)) rethrows -> [OutKey: OutValue] { 20 | return Dictionary(try map(transform)) 21 | } 22 | 23 | func filterPairs(_ includeElement: (Element) throws -> Bool) rethrows -> [Key: Value] { 24 | return Dictionary(try filter(includeElement)) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Charts/BubbleChartView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BubbleChartView.swift 3 | // Charts 4 | // 5 | // Bubble chart implementation: 6 | // Copyright 2015 Pierre-Marc Airoldi 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | open class BubbleChartView: BarLineChartViewBase, BubbleChartDataProvider 16 | { 17 | open override func initialize() 18 | { 19 | super.initialize() 20 | 21 | renderer = BubbleChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) 22 | } 23 | 24 | // MARK: - BubbleChartDataProvider 25 | 26 | open var bubbleData: BubbleChartData? { return _data as? BubbleChartData } 27 | } 28 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Formatters/IFillFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IFillFormatter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | /// Protocol for providing a custom logic to where the filling line of a LineDataSet should end. This of course only works if setFillEnabled(...) is set to true. 16 | @objc(IChartFillFormatter) 17 | public protocol IFillFormatter 18 | { 19 | /// - Returns: The vertical (y-axis) position where the filled-line of the LineDataSet should end. 20 | func getFillLinePosition(dataSet: ILineChartDataSet, dataProvider: LineChartDataProvider) -> CGFloat 21 | } 22 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IBubbleChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IBubbleChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IBubbleChartDataSet: IBarLineScatterCandleBubbleChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | var maxSize: CGFloat { get } 21 | var isNormalizeSizeEnabled: Bool { get } 22 | 23 | // MARK: - Styling functions and accessors 24 | 25 | /// Sets/gets the width of the circle that surrounds the bubble when highlighted 26 | var highlightCircleWidth: CGFloat { get set } 27 | } 28 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IBarLineScatterCandleBubbleChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IBarLineScatterCandleBubbleChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IBarLineScatterCandleBubbleChartDataSet: IChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | var highlightColor: NSUIColor { get set } 23 | var highlightLineWidth: CGFloat { get set } 24 | var highlightLineDashPhase: CGFloat { get set } 25 | var highlightLineDashLengths: [CGFloat]? { get set } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Charts/LineChartView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineChartView.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | /// Chart that draws lines, surfaces, circles, ... 16 | open class LineChartView: BarLineChartViewBase, LineChartDataProvider 17 | { 18 | internal override func initialize() 19 | { 20 | super.initialize() 21 | 22 | renderer = LineChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) 23 | } 24 | 25 | // MARK: - LineChartDataProvider 26 | 27 | open var lineData: LineChartData? { return _data as? LineChartData } 28 | } 29 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Highlight/PieHighlighter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PieHighlighter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(PieChartHighlighter) 16 | open class PieHighlighter: PieRadarHighlighter 17 | { 18 | open override func closestHighlight(index: Int, x: CGFloat, y: CGFloat) -> Highlight? 19 | { 20 | guard 21 | let set = chart?.data?.dataSets[0], 22 | let entry = set.entryForIndex(index) 23 | else { return nil } 24 | 25 | return Highlight(x: Double(index), y: entry.y, xPx: x, yPx: y, dataSetIndex: 0, axis: set.axisDependency) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /fastlane/Snapfile: -------------------------------------------------------------------------------- 1 | # Uncomment the lines below you want to change by removing the # in the beginning 2 | 3 | # A list of devices you want to take the screenshots from 4 | devices([ 5 | "iPhone 6", 6 | "iPhone 6 Plus", 7 | "iPhone 5", 8 | "iPhone 4s", 9 | "iPad Retina" 10 | ]) 11 | 12 | languages([ 13 | "en-US", 14 | "de-DE" 15 | ]) 16 | 17 | # The name of the scheme which contains the UI Tests 18 | scheme "ParkenDDUITests" 19 | 20 | # Where should the resulting screenshots be stored? 21 | output_directory "./fastlane/screenshots" 22 | 23 | # clear_previous_screenshots true # remove the '#' to clear all previously generated screenshots before creating new ones 24 | 25 | # Choose which project/workspace to use 26 | # project "./Project.xcodeproj" 27 | workspace "./ParkenDD.xcworkspace" 28 | 29 | # For more information about all available options run 30 | # snapshot --help 31 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/ParkError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ParkError.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 03/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | /// Possible errors encountered throughout ParkKit. 12 | /// 13 | /// - request: The web request failed, a further error is included as a payload. 14 | /// - server: The server failed providing a sensible response, a statusCode is included as a payload. 15 | /// - invalidServerURL: The server URL is invalid. 16 | /// - notFound: There was no data to be found. 17 | /// - decoding: The data could not be decoded. 18 | /// - unknown: Something very bad happened 😱 19 | public enum ParkError: Error { 20 | case request(Error?) 21 | case server(statusCode: Int) 22 | case invalidServerURL 23 | case notFound 24 | case decoding 25 | case unknown 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Jobs/MoveViewJob.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MoveViewJob.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(MoveChartViewJob) 16 | open class MoveViewJob: ViewPortJob 17 | { 18 | open override func doJob() 19 | { 20 | guard 21 | let viewPortHandler = viewPortHandler, 22 | let transformer = transformer, 23 | let view = view 24 | else { return } 25 | 26 | var pt = CGPoint( 27 | x: xValue, 28 | y: yValue 29 | ) 30 | 31 | transformer.pointValueToPixel(&pt) 32 | viewPortHandler.centerViewPort(pt: pt, chart: view) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/Unmarshaling.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | public protocol Unmarshaling: ValueType { 18 | associatedtype ConvertibleType = Self 19 | 20 | init(object: MarshaledObject) throws 21 | } 22 | 23 | extension Unmarshaling { 24 | 25 | public static func value(from object: Any) throws -> ConvertibleType { 26 | guard let convertedObject = object as? MarshaledObject else { 27 | throw MarshalError.typeMismatch(expected: MarshaledObject.self, actual: type(of: object)) 28 | } 29 | guard let value = try self.init(object: convertedObject) as? ConvertibleType else { 30 | throw MarshalError.typeMismatch(expected: ConvertibleType.self, actual: type(of: object)) 31 | } 32 | return value 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Charts/Charts-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 3.3.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Marshal/Marshal-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.2.4 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ParkKit/ParkKit-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.3.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyDrop/SwiftyDrop-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 4.2.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/BubbleChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BubbleChartData.swift 3 | // Charts 4 | // 5 | // Bubble chart implementation: 6 | // Copyright 2015 Pierre-Marc Airoldi 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | open class BubbleChartData: BarLineScatterCandleBubbleChartData 16 | { 17 | public override init() 18 | { 19 | super.init() 20 | } 21 | 22 | public override init(dataSets: [IChartDataSet]?) 23 | { 24 | super.init(dataSets: dataSets) 25 | } 26 | 27 | /// Sets the width of the circle that surrounds the bubble when highlighted for all DataSet objects this data object contains 28 | @objc open func setHighlightCircleWidth(_ width: CGFloat) 29 | { 30 | (_dataSets as? [IBubbleChartDataSet])?.forEach { $0.highlightCircleWidth = width } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ObjectMapper/ObjectMapper-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 3.5.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SwiftyTimer/SwiftyTimer-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 2.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Charts/ScatterChartView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScatterChartView.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | /// The ScatterChart. Draws dots, triangles, squares and custom shapes into the chartview. 16 | open class ScatterChartView: BarLineChartViewBase, ScatterChartDataProvider 17 | { 18 | open override func initialize() 19 | { 20 | super.initialize() 21 | 22 | renderer = ScatterChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) 23 | 24 | xAxis.spaceMin = 0.5 25 | xAxis.spaceMax = 0.5 26 | } 27 | 28 | // MARK: - ScatterChartDataProvider 29 | 30 | open var scatterData: ScatterChartData? { return _data as? ScatterChartData } 31 | } 32 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/ScatterChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScatterChartData.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | open class ScatterChartData: BarLineScatterCandleBubbleChartData 16 | { 17 | public override init() 18 | { 19 | super.init() 20 | } 21 | 22 | public override init(dataSets: [IChartDataSet]?) 23 | { 24 | super.init(dataSets: dataSets) 25 | } 26 | 27 | /// - Returns: The maximum shape-size across all DataSets. 28 | @objc open func getGreatestShapeSize() -> CGFloat 29 | { 30 | return (_dataSets as? [IScatterChartDataSet])? 31 | .max { $0.scatterShapeSize < $1.scatterShapeSize }? 32 | .scatterShapeSize ?? 0 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /fastlane/metadata/en-US/release_notes.txt: -------------------------------------------------------------------------------- 1 | Big big Update! 2 | 3 | After several months of hard work we're proud of our all-new backend for ParkenDD. Thanks to that the entire app is running a lot faster and is generally more reliable. We're also able to offer data for other cities! Currently supported are Dresden, Ingolstadt and Zürich. You can choose which city to display in the settings or by tapping the title bar. We're working on new cities as well and are always happy about others wanting to help. If you're interested in taking part, just tap the feedback button in the settings and get in touch :) 4 | 5 | Besides that ParkenDD now also has a polish translation, 3D touch features for the new iPhone and awesome forecast data for several lots in Dresden. 6 | 7 | If you happen to speak a language besides English and German and would like to help translating ParkenDD to your language as well, please get in touch! 8 | 9 | Thanks for using ParkenDD! We'd love it if you were to find the time for a review here in the App Store. -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Jobs/AnimatedMoveViewJob.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AnimatedMoveViewJob.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | open class AnimatedMoveViewJob: AnimatedViewPortJob 16 | { 17 | internal override func animationUpdate() 18 | { 19 | guard 20 | let viewPortHandler = viewPortHandler, 21 | let transformer = transformer, 22 | let view = view 23 | else { return } 24 | 25 | var pt = CGPoint( 26 | x: xOrigin + (CGFloat(xValue) - xOrigin) * phase, 27 | y: yOrigin + (CGFloat(yValue) - yOrigin) * phase 28 | ) 29 | 30 | transformer.pointValueToPixel(&pt) 31 | viewPortHandler.centerViewPort(pt: pt, chart: view) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Charts/CandleStickChartView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CandleStickChartView.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | /// Financial chart type that draws candle-sticks. 16 | open class CandleStickChartView: BarLineChartViewBase, CandleChartDataProvider 17 | { 18 | internal override func initialize() 19 | { 20 | super.initialize() 21 | 22 | renderer = CandleStickChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) 23 | 24 | self.xAxis.spaceMin = 0.5 25 | self.xAxis.spaceMax = 0.5 26 | } 27 | 28 | // MARK: - CandleChartDataProvider 29 | 30 | open var candleData: CandleChartData? 31 | { 32 | return _data as? CandleChartData 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /fastlane/metadata/de-DE/release_notes.txt: -------------------------------------------------------------------------------- 1 | Großes großes Update! 2 | 3 | Nach etlichen Monaten an Arbeit sind wir sehr stolz auf ein komplett neues Backend für ParkenDD. Dadurch läuft die App nicht nur bedeutend schneller und zuverlässiger, wir haben so auch die Möglichkeit Daten für andere Städte anzubieten. Aktuell werden neben Dresden auch Ingolstadt und Zürich unterstützt. Auszuwählen kann man die Stadt in den Einstellungen oder per Tap auf die Titelleiste. Mehr sind in Arbeit und über Mithilfe freuen wir uns immer. Kontakt kann gerne über den Feedback Button in den Einstellungen aufgenommen werden :) 4 | 5 | Abgesehen davon gibt's jetzt auch eine polnische Übersetzung, 3D touch Features für das neue iPhone und super tolle Vorhersagedaten für ein paar Parkplätze in Dresden. 6 | 7 | Falls du eine Sprache neben Deutsch und Englisch sprichst und Lust hättest zu helfen, ParkenDD auch in deine Sprache zu übersetzen, nimm bitte Kontakt auf! 8 | 9 | Vielen Dank für's Nutzen von ParkenDD! Über ein Review hier im App Store würden wir uns sehr freuen. -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/IShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IShapeRenderer: class 17 | { 18 | /// Renders the provided ScatterDataSet with a shape. 19 | /// 20 | /// - Parameters: 21 | /// - context: CGContext for drawing on 22 | /// - dataSet: The DataSet to be drawn 23 | /// - viewPortHandler: Contains information about the current state of the view 24 | /// - point: Position to draw the shape at 25 | /// - color: Color to draw the shape 26 | func renderShape( 27 | context: CGContext, 28 | dataSet: IScatterChartDataSet, 29 | viewPortHandler: ViewPortHandler, 30 | point: CGPoint, 31 | color: NSUIColor) 32 | } 33 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Formatters/IAxisValueFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IAxisValueFormatter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | /// An interface for providing custom axis Strings. 15 | @objc(IChartAxisValueFormatter) 16 | public protocol IAxisValueFormatter: class 17 | { 18 | 19 | /// Called when a value from an axis is formatted before being drawn. 20 | /// 21 | /// For performance reasons, avoid excessive calculations and memory allocations inside this method. 22 | /// 23 | /// - Parameters: 24 | /// - value: the value that is currently being drawn 25 | /// - axis: the axis that the value belongs to 26 | /// - Returns: The customized label that is drawn on the x-axis. 27 | func stringForValue(_ value: Double, 28 | axis: AxisBase?) -> String 29 | 30 | } 31 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Charts (3.3.0): 3 | - Charts/Core (= 3.3.0) 4 | - Charts/Core (3.3.0) 5 | - Marshal (1.2.4) 6 | - ObjectMapper (3.5.1) 7 | - ParkKit (0.3.0): 8 | - Marshal (= 1.2.4) 9 | - SwiftyDrop (4.2.0) 10 | - SwiftyTimer (2.1.0) 11 | 12 | DEPENDENCIES: 13 | - Charts (~> 3.1) 14 | - ObjectMapper (~> 3.0) 15 | - ParkKit (~> 0.2) 16 | - SwiftyDrop (~> 4.0) 17 | - SwiftyTimer (~> 2.1) 18 | 19 | SPEC REPOS: 20 | https://github.com/cocoapods/specs.git: 21 | - Charts 22 | - Marshal 23 | - ObjectMapper 24 | - ParkKit 25 | - SwiftyDrop 26 | - SwiftyTimer 27 | 28 | SPEC CHECKSUMS: 29 | Charts: e0dd4cd8f257bccf98407b58183ddca8e8d5b578 30 | Marshal: 8e04e6624e506921db7143b0bfd83caee03f32d6 31 | ObjectMapper: 70187b8941977c62ccfb423caf6b50be405cabf0 32 | ParkKit: e4973c562e3cfb23c4c3cba6e26ef7d81b1b7951 33 | SwiftyDrop: c5b306082dfbd7d6b9c1e569dcdd2ab13306e552 34 | SwiftyTimer: 02dd6cf10cbc71cbf67cec494f6e5eb782102543 35 | 36 | PODFILE CHECKSUM: ac275b128e58df5eadfac0d5bd47f88b54a45789 37 | 38 | COCOAPODS: 1.7.0 39 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Charts (3.3.0): 3 | - Charts/Core (= 3.3.0) 4 | - Charts/Core (3.3.0) 5 | - Marshal (1.2.4) 6 | - ObjectMapper (3.5.1) 7 | - ParkKit (0.3.0): 8 | - Marshal (= 1.2.4) 9 | - SwiftyDrop (4.2.0) 10 | - SwiftyTimer (2.1.0) 11 | 12 | DEPENDENCIES: 13 | - Charts (~> 3.1) 14 | - ObjectMapper (~> 3.0) 15 | - ParkKit (~> 0.2) 16 | - SwiftyDrop (~> 4.0) 17 | - SwiftyTimer (~> 2.1) 18 | 19 | SPEC REPOS: 20 | https://github.com/cocoapods/specs.git: 21 | - Charts 22 | - Marshal 23 | - ObjectMapper 24 | - ParkKit 25 | - SwiftyDrop 26 | - SwiftyTimer 27 | 28 | SPEC CHECKSUMS: 29 | Charts: e0dd4cd8f257bccf98407b58183ddca8e8d5b578 30 | Marshal: 8e04e6624e506921db7143b0bfd83caee03f32d6 31 | ObjectMapper: 70187b8941977c62ccfb423caf6b50be405cabf0 32 | ParkKit: e4973c562e3cfb23c4c3cba6e26ef7d81b1b7951 33 | SwiftyDrop: c5b306082dfbd7d6b9c1e569dcdd2ab13306e552 34 | SwiftyTimer: 02dd6cf10cbc71cbf67cec494f6e5eb782102543 35 | 36 | PODFILE CHECKSUM: ac275b128e58df5eadfac0d5bd47f88b54a45789 37 | 38 | COCOAPODS: 1.7.0 39 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2014 Hearst 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Components/ComponentBase.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ComponentBase.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | /// This class encapsulates everything both Axis, Legend and LimitLines have in common 17 | @objc(ChartComponentBase) 18 | open class ComponentBase: NSObject 19 | { 20 | /// flag that indicates if this component is enabled or not 21 | @objc open var enabled = true 22 | 23 | /// The offset this component has on the x-axis 24 | /// **default**: 5.0 25 | @objc open var xOffset = CGFloat(5.0) 26 | 27 | /// The offset this component has on the x-axis 28 | /// **default**: 5.0 (or 0.0 on ChartYAxis) 29 | @objc open var yOffset = CGFloat(5.0) 30 | 31 | public override init() 32 | { 33 | super.init() 34 | } 35 | 36 | @objc open var isEnabled: Bool { return enabled } 37 | } 38 | -------------------------------------------------------------------------------- /Pods/Marshal/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Utah iOS & Mac 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/Error.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | public enum MarshalError: Error, CustomStringConvertible { 18 | 19 | case keyNotFound(key: KeyType) 20 | case nullValue(key: KeyType) 21 | case typeMismatch(expected: Any, actual: Any) 22 | case typeMismatchWithKey(key: KeyType, expected: Any, actual: Any) 23 | 24 | public var description: String { 25 | switch self { 26 | case let .keyNotFound(key): 27 | return "Key not found: \(key.stringValue)" 28 | case let .nullValue(key): 29 | return "Null Value found at: \(key.stringValue)" 30 | case let .typeMismatch(expected, actual): 31 | return "Type mismatch. Expected type \(expected). Got '\(actual)'" 32 | case let .typeMismatchWithKey(key, expected, actual): 33 | return "Type mismatch. Expected type \(expected) for key: \(key.stringValue). Got '\(actual)'" 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ParkenDD/Constants.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Constants.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 08/03/15. 6 | // Copyright (c) 2015 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | /** 10 | * Stores global constants 11 | */ 12 | struct Const { 13 | static let dummyDistance = 100000000.0 14 | } 15 | 16 | /** 17 | * NSUserDefaults keys 18 | */ 19 | struct Defaults { 20 | static let selectedCity = "selectedCity" 21 | static let selectedCityName = "selectedCityName" 22 | static let sortingType = "sortingType" 23 | static let supportedCities = "supportedCities" 24 | static let grayscaleUI = "grayscaleUI" 25 | static let skipNodataLots = "skipNodataLots" 26 | static let favoriteLots = "favoriteLots" 27 | static let showExperimentalCities = "showExperimentalCities" 28 | } 29 | 30 | /** 31 | * Lotlist view sorting types 32 | */ 33 | struct Sorting { 34 | static let standard = "standard" 35 | static let distance = "distance" 36 | static let alphabetical = "alphabetical" 37 | static let free = "free" 38 | static let euclid = "euclid" 39 | } 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Kilian Koeltzsch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Charts.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Marshal.xcscheme 13 | 14 | isShown 15 | 16 | 17 | ObjectMapper.xcscheme 18 | 19 | isShown 20 | 21 | 22 | ParkKit.xcscheme 23 | 24 | isShown 25 | 26 | 27 | Pods-ParkenDD.xcscheme 28 | 29 | isShown 30 | 31 | 32 | SwiftyDrop.xcscheme 33 | 34 | isShown 35 | 36 | 37 | SwiftyTimer.xcscheme 38 | 39 | isShown 40 | 41 | 42 | 43 | SuppressBuildableAutocreation 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/MarshalDictionary.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | // MARK: - Types 18 | 19 | public typealias MarshalDictionary = [String: Any] 20 | 21 | 22 | // MARK: - Dictionary Extensions 23 | 24 | extension Dictionary: MarshaledObject { 25 | public func optionalAny(for key: KeyType) -> Any? { 26 | guard let aKey = key as? Key else { return nil } 27 | return self[aKey] 28 | } 29 | } 30 | 31 | extension NSDictionary: ValueType { } 32 | 33 | extension NSDictionary: MarshaledObject { 34 | public func any(for key: KeyType) throws -> Any { 35 | guard let value: Any = self.value(forKeyPath: key.stringValue) else { 36 | throw MarshalError.keyNotFound(key: key) 37 | } 38 | if let _ = value as? NSNull { 39 | throw MarshalError.nullValue(key: key) 40 | } 41 | return value 42 | } 43 | 44 | public func optionalAny(for key: KeyType) -> Any? { 45 | return self[key] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Pods/ParkKit/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Kilian Koeltzsch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Pods/SwiftyDrop/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Morita Naoki 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Utils/TransformerHorizontalBarChart.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TransformerHorizontalBarChart.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(ChartTransformerHorizontalBarChart) 16 | open class TransformerHorizontalBarChart: Transformer 17 | { 18 | /// Prepares the matrix that contains all offsets. 19 | open override func prepareMatrixOffset(inverted: Bool) 20 | { 21 | if !inverted 22 | { 23 | _matrixOffset = CGAffineTransform(translationX: _viewPortHandler.offsetLeft, y: _viewPortHandler.chartHeight - _viewPortHandler.offsetBottom) 24 | } 25 | else 26 | { 27 | _matrixOffset = CGAffineTransform(scaleX: -1.0, y: 1.0) 28 | _matrixOffset = _matrixOffset.translatedBy(x: -(_viewPortHandler.chartWidth - _viewPortHandler.offsetRight), 29 | y: _viewPortHandler.chartHeight - _viewPortHandler.offsetBottom) 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/SwiftyTimer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2016 Radosław Pietruszewski 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Interfaces/ChartDataProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChartDataProvider.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol ChartDataProvider 17 | { 18 | /// The minimum x-value of the chart, regardless of zoom or translation. 19 | var chartXMin: Double { get } 20 | 21 | /// The maximum x-value of the chart, regardless of zoom or translation. 22 | var chartXMax: Double { get } 23 | 24 | /// The minimum y-value of the chart, regardless of zoom or translation. 25 | var chartYMin: Double { get } 26 | 27 | /// The maximum y-value of the chart, regardless of zoom or translation. 28 | var chartYMax: Double { get } 29 | 30 | var maxHighlightDistance: CGFloat { get } 31 | 32 | var xRange: Double { get } 33 | 34 | var centerOffsets: CGPoint { get } 35 | 36 | var data: ChartData? { get } 37 | 38 | var maxVisibleCount: Int { get } 39 | } 40 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/Result.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Result.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 19.05.17. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public enum Result { 12 | case success(Value) 13 | case failure(Error) 14 | 15 | init(success value: Value) { 16 | self = .success(value) 17 | } 18 | 19 | init(failure error: Error) { 20 | self = .failure(error) 21 | } 22 | 23 | public func get() throws -> Value { 24 | switch self { 25 | case let .success(x): return x 26 | case let .failure(e): throw e 27 | } 28 | } 29 | 30 | public var success: Value? { 31 | switch self { 32 | case let .success(x): return x 33 | case .failure: return nil 34 | } 35 | } 36 | 37 | public var failure: Error? { 38 | switch self { 39 | case .success: return nil 40 | case let .failure(e): return e 41 | } 42 | } 43 | } 44 | 45 | public func ?? (result: Result, defaultValue: @autoclosure () -> T) -> T { 46 | switch result { 47 | case let .success(x): return x 48 | case .failure: return defaultValue() 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IScatterChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IScatterChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IScatterChartDataSet: ILineScatterCandleRadarChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | /// The size the scatter shape will have 23 | var scatterShapeSize: CGFloat { get } 24 | 25 | /// - Returns: The radius of the hole in the shape (applies to Square, Circle and Triangle) 26 | /// Set this to <= 0 to remove holes. 27 | /// **default**: 0.0 28 | var scatterShapeHoleRadius: CGFloat { get } 29 | 30 | /// - Returns: Color for the hole in the shape. Setting to `nil` will behave as transparent. 31 | /// **default**: nil 32 | var scatterShapeHoleColor: NSUIColor? { get } 33 | 34 | /// The IShapeRenderer responsible for rendering this DataSet. 35 | var shapeRenderer: IShapeRenderer? { get } 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/CrossShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CrossShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | import Foundation 12 | import CoreGraphics 13 | 14 | open class CrossShapeRenderer : NSObject, IShapeRenderer 15 | { 16 | open func renderShape( 17 | context: CGContext, 18 | dataSet: IScatterChartDataSet, 19 | viewPortHandler: ViewPortHandler, 20 | point: CGPoint, 21 | color: NSUIColor) 22 | { 23 | let shapeSize = dataSet.scatterShapeSize 24 | let shapeHalf = shapeSize / 2.0 25 | 26 | context.setLineWidth(1.0) 27 | context.setStrokeColor(color.cgColor) 28 | 29 | context.beginPath() 30 | context.move(to: CGPoint(x: point.x - shapeHalf, y: point.y)) 31 | context.addLine(to: CGPoint(x: point.x + shapeHalf, y: point.y)) 32 | context.move(to: CGPoint(x: point.x, y: point.y - shapeHalf)) 33 | context.addLine(to: CGPoint(x: point.x, y: point.y + shapeHalf)) 34 | context.strokePath() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/XShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | import Foundation 12 | import CoreGraphics 13 | 14 | open class XShapeRenderer : NSObject, IShapeRenderer 15 | { 16 | open func renderShape( 17 | context: CGContext, 18 | dataSet: IScatterChartDataSet, 19 | viewPortHandler: ViewPortHandler, 20 | point: CGPoint, 21 | color: NSUIColor) 22 | { 23 | let shapeSize = dataSet.scatterShapeSize 24 | let shapeHalf = shapeSize / 2.0 25 | 26 | context.setLineWidth(1.0) 27 | context.setStrokeColor(color.cgColor) 28 | 29 | context.beginPath() 30 | context.move(to: CGPoint(x: point.x - shapeHalf, y: point.y - shapeHalf)) 31 | context.addLine(to: CGPoint(x: point.x + shapeHalf, y: point.y + shapeHalf)) 32 | context.move(to: CGPoint(x: point.x + shapeHalf, y: point.y - shapeHalf)) 33 | context.addLine(to: CGPoint(x: point.x - shapeHalf, y: point.y + shapeHalf)) 34 | context.strokePath() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Highlight/Range.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Range.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | @objc(ChartRange) 15 | open class Range: NSObject 16 | { 17 | @objc open var from: Double 18 | @objc open var to: Double 19 | 20 | @objc public init(from: Double, to: Double) 21 | { 22 | self.from = from 23 | self.to = to 24 | 25 | super.init() 26 | } 27 | 28 | /// - Parameters: 29 | /// - value: 30 | /// - Returns: `true` if this range contains (if the value is in between) the given value, `false` ifnot. 31 | @objc open func contains(_ value: Double) -> Bool 32 | { 33 | if value > from && value <= to 34 | { 35 | return true 36 | } 37 | else 38 | { 39 | return false 40 | } 41 | } 42 | 43 | @objc open func isLarger(_ value: Double) -> Bool 44 | { 45 | return value > to 46 | } 47 | 48 | @objc open func isSmaller(_ value: Double) -> Bool 49 | { 50 | return value < from 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IRadarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IRadarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IRadarChartDataSet: ILineRadarChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | /// flag indicating whether highlight circle should be drawn or not 23 | var drawHighlightCircleEnabled: Bool { get set } 24 | 25 | var isDrawHighlightCircleEnabled: Bool { get } 26 | 27 | var highlightCircleFillColor: NSUIColor? { get set } 28 | 29 | /// The stroke color for highlight circle. 30 | /// If `nil`, the color of the dataset is taken. 31 | var highlightCircleStrokeColor: NSUIColor? { get set } 32 | 33 | var highlightCircleStrokeAlpha: CGFloat { get set } 34 | 35 | var highlightCircleInnerRadius: CGFloat { get set } 36 | 37 | var highlightCircleOuterRadius: CGFloat { get set } 38 | 39 | var highlightCircleStrokeWidth: CGFloat { get set } 40 | } 41 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/ChevronUpShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChevronUpShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | import Foundation 12 | import CoreGraphics 13 | 14 | open class ChevronUpShapeRenderer : NSObject, IShapeRenderer 15 | { 16 | open func renderShape( 17 | context: CGContext, 18 | dataSet: IScatterChartDataSet, 19 | viewPortHandler: ViewPortHandler, 20 | point: CGPoint, 21 | color: NSUIColor) 22 | { 23 | let shapeSize = dataSet.scatterShapeSize 24 | let shapeHalf = shapeSize / 2.0 25 | 26 | context.setLineWidth(1.0) 27 | context.setStrokeColor(color.cgColor) 28 | 29 | context.beginPath() 30 | context.move(to: CGPoint(x: point.x, y: point.y - 2 * shapeHalf)) 31 | context.addLine(to: CGPoint(x: point.x + 2 * shapeHalf, y: point.y)) 32 | context.move(to: CGPoint(x: point.x, y: point.y - 2 * shapeHalf)) 33 | context.addLine(to: CGPoint(x: point.x - 2 * shapeHalf, y: point.y)) 34 | context.strokePath() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/ChevronDownShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChevronDownShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | import Foundation 12 | import CoreGraphics 13 | 14 | open class ChevronDownShapeRenderer : NSObject, IShapeRenderer 15 | { 16 | open func renderShape( 17 | context: CGContext, 18 | dataSet: IScatterChartDataSet, 19 | viewPortHandler: ViewPortHandler, 20 | point: CGPoint, 21 | color: NSUIColor) 22 | { 23 | let shapeSize = dataSet.scatterShapeSize 24 | let shapeHalf = shapeSize / 2.0 25 | 26 | context.setLineWidth(1.0) 27 | context.setStrokeColor(color.cgColor) 28 | 29 | context.beginPath() 30 | context.move(to: CGPoint(x: point.x, y: point.y + 2 * shapeHalf)) 31 | context.addLine(to: CGPoint(x: point.x + 2 * shapeHalf, y: point.y)) 32 | context.move(to: CGPoint(x: point.x, y: point.y + 2 * shapeHalf)) 33 | context.addLine(to: CGPoint(x: point.x - 2 * shapeHalf, y: point.y)) 34 | context.strokePath() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ParkenDD.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ParkenDD.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | ParkenDDUITests.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 6 16 | 17 | ParkenDDWidget.xcscheme 18 | 19 | orderHint 20 | 1 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 390CD0481AEE6602003EB8F4 26 | 27 | primary 28 | 29 | 30 | 39B9534F1AA0A59600026EC2 31 | 32 | primary 33 | 34 | 35 | 39EAB8B61BE96E1E005A7290 36 | 37 | primary 38 | 39 | 40 | 39F4CFDD1A6BBC0200ACFECF 41 | 42 | primary 43 | 44 | 45 | 39F4CFF21A6BBC0200ACFECF 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Jobs/ViewPortJob.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewPortJob.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | // This defines a viewport modification job, used for delaying or animating viewport changes 16 | @objc(ChartViewPortJob) 17 | open class ViewPortJob: NSObject 18 | { 19 | internal var point: CGPoint = CGPoint() 20 | internal weak var viewPortHandler: ViewPortHandler? 21 | internal var xValue: Double = 0.0 22 | internal var yValue: Double = 0.0 23 | internal weak var transformer: Transformer? 24 | internal weak var view: ChartViewBase? 25 | 26 | @objc public init( 27 | viewPortHandler: ViewPortHandler, 28 | xValue: Double, 29 | yValue: Double, 30 | transformer: Transformer, 31 | view: ChartViewBase) 32 | { 33 | super.init() 34 | 35 | self.viewPortHandler = viewPortHandler 36 | self.xValue = xValue 37 | self.yValue = yValue 38 | self.transformer = transformer 39 | self.view = view 40 | } 41 | 42 | @objc open func doJob() 43 | { 44 | fatalError("`doJob()` must be overridden by subclasses") 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/BarLineScatterCandleBubbleChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BarLineScatterCandleBubbleChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | open class BarLineScatterCandleBubbleChartDataSet: ChartDataSet, IBarLineScatterCandleBubbleChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | open var highlightColor = NSUIColor(red: 255.0/255.0, green: 187.0/255.0, blue: 115.0/255.0, alpha: 1.0) 23 | open var highlightLineWidth = CGFloat(0.5) 24 | open var highlightLineDashPhase = CGFloat(0.0) 25 | open var highlightLineDashLengths: [CGFloat]? 26 | 27 | // MARK: - NSCopying 28 | 29 | open override func copy(with zone: NSZone? = nil) -> Any 30 | { 31 | let copy = super.copy(with: zone) as! BarLineScatterCandleBubbleChartDataSet 32 | copy.highlightColor = highlightColor 33 | copy.highlightLineWidth = highlightLineWidth 34 | copy.highlightLineDashPhase = highlightLineDashPhase 35 | copy.highlightLineDashLengths = highlightLineDashLengths 36 | return copy 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ParkenDD/Location.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Location.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 12/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import CoreLocation 11 | 12 | class Location: NSObject { 13 | private override init() { 14 | super.init() 15 | Location.manager.delegate = self 16 | } 17 | 18 | static let shared = Location() 19 | static let manager = CLLocationManager() 20 | static var authState: CLAuthorizationStatus { 21 | return CLLocationManager.authorizationStatus() 22 | } 23 | 24 | var lastLocation: CLLocation? 25 | 26 | // This is really weird o.O 27 | var didMove = [(CLLocation) -> Void]() 28 | func onMove(_ block: @escaping (CLLocation) -> Void) { 29 | didMove.append(block) 30 | } 31 | } 32 | 33 | extension Location: CLLocationManagerDelegate { 34 | func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 35 | guard let currentLocation = locations.last else { return } 36 | guard let lastLocation = lastLocation else { self.lastLocation = currentLocation; return } 37 | 38 | let distance = currentLocation.distance(from: lastLocation) 39 | if distance > 100 { 40 | self.lastLocation = currentLocation 41 | didMove.forEach { $0(currentLocation) } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/RadarChartDataEntry.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RadarChartDataEntry.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | open class RadarChartDataEntry: ChartDataEntry 16 | { 17 | public required init() 18 | { 19 | super.init() 20 | } 21 | 22 | /// - Parameters: 23 | /// - value: The value on the y-axis. 24 | @objc public init(value: Double) 25 | { 26 | super.init(x: .nan, y: value) 27 | } 28 | 29 | /// - Parameters: 30 | /// - value: The value on the y-axis. 31 | /// - data: Spot for additional data this Entry represents. 32 | @objc public convenience init(value: Double, data: Any?) 33 | { 34 | self.init(value: value) 35 | self.data = data 36 | } 37 | 38 | // MARK: Data property accessors 39 | 40 | @objc open var value: Double 41 | { 42 | get { return y } 43 | set { y = value } 44 | } 45 | 46 | // MARK: NSCopying 47 | 48 | open override func copy(with zone: NSZone? = nil) -> Any 49 | { 50 | let copy = super.copy(with: zone) as! RadarChartDataEntry 51 | 52 | return copy 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Components/Description.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Description.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(ChartDescription) 16 | open class Description: ComponentBase 17 | { 18 | public override init() 19 | { 20 | #if os(tvOS) 21 | // 23 is the smallest recommended font size on the TV 22 | font = .systemFont(ofSize: 23) 23 | #elseif os(OSX) 24 | font = .systemFont(ofSize: NSUIFont.systemFontSize) 25 | #else 26 | font = .systemFont(ofSize: 8.0) 27 | #endif 28 | 29 | super.init() 30 | } 31 | 32 | /// The text to be shown as the description. 33 | @objc open var text: String? 34 | 35 | /// Custom position for the description text in pixels on the screen. 36 | open var position: CGPoint? = nil 37 | 38 | /// The text alignment of the description text. Default RIGHT. 39 | @objc open var textAlign: NSTextAlignment = NSTextAlignment.right 40 | 41 | /// Font object used for drawing the description text. 42 | @objc open var font: NSUIFont 43 | 44 | /// Text color used for drawing the description text 45 | @objc open var textColor = NSUIColor.black 46 | } 47 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/ILineScatterCandleRadarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ILineScatterCandleRadarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | @objc 15 | public protocol ILineScatterCandleRadarChartDataSet: IBarLineScatterCandleBubbleChartDataSet 16 | { 17 | // MARK: - Data functions and accessors 18 | 19 | // MARK: - Styling functions and accessors 20 | 21 | /// Enables / disables the horizontal highlight-indicator. If disabled, the indicator is not drawn. 22 | var drawHorizontalHighlightIndicatorEnabled: Bool { get set } 23 | 24 | /// Enables / disables the vertical highlight-indicator. If disabled, the indicator is not drawn. 25 | var drawVerticalHighlightIndicatorEnabled: Bool { get set } 26 | 27 | /// `true` if horizontal highlight indicator lines are enabled (drawn) 28 | var isHorizontalHighlightIndicatorEnabled: Bool { get } 29 | 30 | /// `true` if vertical highlight indicator lines are enabled (drawn) 31 | var isVerticalHighlightIndicatorEnabled: Bool { get } 32 | 33 | /// Enables / disables both vertical and horizontal highlight-indicators. 34 | /// :param: enabled 35 | func setDrawHighlightIndicators(_ enabled: Bool) 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Charts" "${PODS_CONFIGURATION_BUILD_DIR}/Marshal" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/ParkKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDrop" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Charts/Charts.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Marshal/Marshal.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper/ObjectMapper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ParkKit/ParkKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDrop/SwiftyDrop.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "Charts" -framework "Foundation" -framework "Marshal" -framework "ObjectMapper" -framework "ParkKit" -framework "SwiftyDrop" -framework "SwiftyTimer" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ParkenDD/Pods-ParkenDD.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Charts" "${PODS_CONFIGURATION_BUILD_DIR}/Marshal" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/ParkKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDrop" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Charts/Charts.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Marshal/Marshal.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper/ObjectMapper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ParkKit/ParkKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyDrop/SwiftyDrop.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyTimer/SwiftyTimer.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "Charts" -framework "Foundation" -framework "Marshal" -framework "ObjectMapper" -framework "ParkKit" -framework "SwiftyDrop" -framework "SwiftyTimer" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/RadarChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RadarChartData.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | open class RadarChartData: ChartData 17 | { 18 | @objc open var highlightColor = NSUIColor(red: 255.0/255.0, green: 187.0/255.0, blue: 115.0/255.0, alpha: 1.0) 19 | @objc open var highlightLineWidth = CGFloat(1.0) 20 | @objc open var highlightLineDashPhase = CGFloat(0.0) 21 | @objc open var highlightLineDashLengths: [CGFloat]? 22 | 23 | /// Sets labels that should be drawn around the RadarChart at the end of each web line. 24 | @objc open var labels = [String]() 25 | 26 | /// Sets the labels that should be drawn around the RadarChart at the end of each web line. 27 | open func setLabels(_ labels: String...) 28 | { 29 | self.labels = labels 30 | } 31 | 32 | public override init() 33 | { 34 | super.init() 35 | } 36 | 37 | public override init(dataSets: [IChartDataSet]?) 38 | { 39 | super.init(dataSets: dataSets) 40 | } 41 | 42 | open override func entryForHighlight(_ highlight: Highlight) -> ChartDataEntry? 43 | { 44 | return getDataSetByIndex(highlight.dataSetIndex)?.entryForIndex(Int(highlight.x)) 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Formatters/IValueFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IValueFormatter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | /// Interface that allows custom formatting of all values inside the chart before they are drawn to the screen. 15 | /// 16 | /// Simply create your own formatting class and let it implement ValueFormatter. Then override the stringForValue() 17 | /// method and return whatever you want. 18 | 19 | @objc(IChartValueFormatter) 20 | public protocol IValueFormatter: class 21 | { 22 | 23 | /// Called when a value (from labels inside the chart) is formatted before being drawn. 24 | /// 25 | /// For performance reasons, avoid excessive calculations and memory allocations inside this method. 26 | /// 27 | /// - Parameters: 28 | /// - value: The value to be formatted 29 | /// - dataSetIndex: The index of the DataSet the entry in focus belongs to 30 | /// - viewPortHandler: provides information about the current chart state (scale, translation, ...) 31 | /// - Returns: The formatted label ready to be drawn 32 | func stringForValue(_ value: Double, 33 | entry: ChartDataEntry, 34 | dataSetIndex: Int, 35 | viewPortHandler: ViewPortHandler?) -> String 36 | } 37 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/TransformType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TransformType.swift 3 | // ObjectMapper 4 | // 5 | // Created by Syo Ikeda on 2/4/15. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | public protocol TransformType { 30 | associatedtype Object 31 | associatedtype JSON 32 | 33 | func transformFromJSON(_ value: Any?) -> Object? 34 | func transformToJSON(_ value: Object?) -> JSON? 35 | } 36 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/Response.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Response.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 03/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | /// Meta response value containing a list of all supported cities supported by this server. 12 | public struct MetaResponse { 13 | /// Current API version. 14 | public let apiVersion: String 15 | /// Current server software version, e.g. the version of ParkAPI running on the server. 16 | public let serverVersion: String 17 | /// A reference to the instance running on the server. Possibly a project URL. 18 | public let reference: String 19 | 20 | /// The actual list of cities and their data. 21 | public let cities: [City] 22 | } 23 | 24 | /// Lot response value containing a list of all lots for a given city and timestamps for when the data was last updated. 25 | public struct LotResponse { 26 | /// Timestamp when the data was downloaded from the city's server. Should never be more than ~5 minutes ago. 27 | public let lastDownloaded: Date 28 | /// Timestamp when the data was presumably last updated on the city's server. 29 | public let lastUpdated: Date 30 | 31 | /// The actual list of lots and their data. 32 | public let lots: [Lot] 33 | } 34 | 35 | /// Forecast response value containing a list of forecast values. 36 | public struct ForecastResponse { 37 | /// Version of the forecast data. 38 | public let version: Double 39 | /// The actual forecast data as a list of dates and load values. 40 | public let forecast: [(Date, Int)] 41 | } 42 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IBarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IBarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IBarChartDataSet: IBarLineScatterCandleBubbleChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | /// `true` if this DataSet is stacked (stacksize > 1) or not. 23 | var isStacked: Bool { get } 24 | 25 | /// The maximum number of bars that can be stacked upon another in this DataSet. 26 | var stackSize: Int { get } 27 | 28 | /// the color used for drawing the bar-shadows. The bar shadows is a surface behind the bar that indicates the maximum value 29 | var barShadowColor: NSUIColor { get set } 30 | 31 | /// the width used for drawing borders around the bars. If borderWidth == 0, no border will be drawn. 32 | var barBorderWidth : CGFloat { get set } 33 | 34 | /// the color drawing borders around the bars. 35 | var barBorderColor: NSUIColor { get set } 36 | 37 | /// the alpha value (transparency) that is used for drawing the highlight indicator bar. min = 0.0 (fully transparent), max = 1.0 (fully opaque) 38 | var highlightAlpha: CGFloat { get set } 39 | 40 | /// array of labels used to describe the different values of the stacked bars 41 | var stackLabels: [String] { get set } 42 | } 43 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/ILineRadarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ILineRadarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol ILineRadarChartDataSet: ILineScatterCandleRadarChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | /// The color that is used for filling the line surface area. 23 | var fillColor: NSUIColor { get set } 24 | 25 | /// - Returns: The object that is used for filling the area below the line. 26 | /// **default**: nil 27 | var fill: Fill? { get set } 28 | 29 | /// The alpha value that is used for filling the line surface. 30 | /// **default**: 0.33 31 | var fillAlpha: CGFloat { get set } 32 | 33 | /// line width of the chart (min = 0.0, max = 10) 34 | /// 35 | /// **default**: 1 36 | var lineWidth: CGFloat { get set } 37 | 38 | /// Set to `true` if the DataSet should be drawn filled (surface), and not just as a line. 39 | /// Disabling this will give great performance boost. 40 | /// Please note that this method uses the path clipping for drawing the filled area (with images, gradients and layers). 41 | var drawFilledEnabled: Bool { get set } 42 | 43 | /// `true` if filled drawing is enabled, `false` if not 44 | var isDrawFilledEnabled: Bool { get } 45 | } 46 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Formatters/IndexAxisValueFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IndexAxisValueFormatter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | /// This formatter is used for passing an array of x-axis labels, on whole x steps. 15 | @objc(ChartIndexAxisValueFormatter) 16 | open class IndexAxisValueFormatter: NSObject, IAxisValueFormatter 17 | { 18 | private var _values: [String] = [String]() 19 | private var _valueCount: Int = 0 20 | 21 | @objc public var values: [String] 22 | { 23 | get 24 | { 25 | return _values 26 | } 27 | set 28 | { 29 | _values = newValue 30 | _valueCount = _values.count 31 | } 32 | } 33 | 34 | public override init() 35 | { 36 | super.init() 37 | 38 | } 39 | 40 | @objc public init(values: [String]) 41 | { 42 | super.init() 43 | 44 | self.values = values 45 | } 46 | 47 | @objc public static func with(values: [String]) -> IndexAxisValueFormatter? 48 | { 49 | return IndexAxisValueFormatter(values: values) 50 | } 51 | 52 | open func stringForValue(_ value: Double, 53 | axis: AxisBase?) -> String 54 | { 55 | let index = Int(value.rounded()) 56 | guard values.indices.contains(index), index == Int(value) else { return "" } 57 | return _values[index] 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /ParkenDD.xcworkspace/xcshareddata/ParkenDD.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 539DBBFA-2443-4678-A179-DA838F2F87B1 9 | IDESourceControlProjectName 10 | ParkenDD 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 3AFB163F1E4441880B23BF73266B7659DB20A173 14 | github.com:kiliankoe/ParkenDD.git 15 | 16 | IDESourceControlProjectPath 17 | ParkenDD.xcworkspace 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 3AFB163F1E4441880B23BF73266B7659DB20A173 21 | .. 22 | 23 | IDESourceControlProjectURL 24 | github.com:kiliankoe/ParkenDD.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 3AFB163F1E4441880B23BF73266B7659DB20A173 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 3AFB163F1E4441880B23BF73266B7659DB20A173 36 | IDESourceControlWCCName 37 | ParkenDD 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ParkenDD.xcodeproj/project.xcworkspace/xcshareddata/ParkenDD.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | B9C9AED7-ED75-4DD0-8C9B-74764EB139A7 9 | IDESourceControlProjectName 10 | ParkenDD 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 3AFB163F1E4441880B23BF73266B7659DB20A173 14 | github.com:kiliankoe/ParkenDD.git 15 | 16 | IDESourceControlProjectPath 17 | ParkenDD.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 3AFB163F1E4441880B23BF73266B7659DB20A173 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | github.com:kiliankoe/ParkenDD.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 3AFB163F1E4441880B23BF73266B7659DB20A173 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 3AFB163F1E4441880B23BF73266B7659DB20A173 36 | IDESourceControlWCCName 37 | ParkenDD 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ParkenDD/Default.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Default.swift 3 | // ParkenDD 4 | // 5 | // Created by Kilian Költzsch on 11/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | enum Default: String { 12 | case selectedCity 13 | case selectedCityName 14 | case sortingType 15 | case supportedCities 16 | case grayscaleUI 17 | case skipNodataLots 18 | case favoriteLots 19 | case showExperimentalCities 20 | 21 | static func `default`() -> [Default: Any] { 22 | return [ 23 | .selectedCity: "Dresden", 24 | .selectedCityName: "Dresden", 25 | .sortingType: "standard", 26 | .supportedCities: ["Dresden"], 27 | .grayscaleUI: false, 28 | .skipNodataLots: false, 29 | .favoriteLots: [], 30 | .showExperimentalCities: false, 31 | ] 32 | } 33 | } 34 | 35 | extension UserDefaults { 36 | static func bool(for key: Default) -> Bool { 37 | return standard.value(forKey: key.rawValue) as? Bool ?? false 38 | } 39 | 40 | static func string(for key: Default) -> String? { 41 | return standard.value(forKey: key.rawValue) as? String 42 | } 43 | 44 | static func array(for key: Default) -> [Any]? { 45 | return standard.value(forKey: key.rawValue) as? [Any] 46 | } 47 | 48 | 49 | static func set(value: Any, forKey key: Default) { 50 | standard.set(value, forKey: key.rawValue) 51 | standard.synchronize() 52 | } 53 | 54 | 55 | static func register(_ defaults: [Default: Any]) { 56 | for (key, val) in defaults { 57 | standard.register(defaults: [key.rawValue: val]) 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/CustomDateFormatTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CustomDateFormatTransform.swift 3 | // ObjectMapper 4 | // 5 | // Created by Dan McCracken on 3/8/15. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | open class CustomDateFormatTransform: DateFormatterTransform { 32 | 33 | public init(formatString: String) { 34 | let formatter = DateFormatter() 35 | formatter.locale = Locale(identifier: "en_US_POSIX") 36 | formatter.dateFormat = formatString 37 | 38 | super.init(dateFormatter: formatter) 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Formatters/DefaultFillFormatter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DefaultFillFormatter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | /// Default formatter that calculates the position of the filled line. 16 | @objc(ChartDefaultFillFormatter) 17 | open class DefaultFillFormatter: NSObject, IFillFormatter 18 | { 19 | public typealias Block = ( 20 | _ dataSet: ILineChartDataSet, 21 | _ dataProvider: LineChartDataProvider) -> CGFloat 22 | 23 | @objc open var block: Block? 24 | 25 | public override init() { } 26 | 27 | @objc public init(block: @escaping Block) 28 | { 29 | self.block = block 30 | } 31 | 32 | @objc public static func with(block: @escaping Block) -> DefaultFillFormatter? 33 | { 34 | return DefaultFillFormatter(block: block) 35 | } 36 | 37 | open func getFillLinePosition( 38 | dataSet: ILineChartDataSet, 39 | dataProvider: LineChartDataProvider) -> CGFloat 40 | { 41 | guard block == nil else { return block!(dataSet, dataProvider) } 42 | var fillMin: CGFloat = 0.0 43 | 44 | if dataSet.yMax > 0.0 && dataSet.yMin < 0.0 45 | { 46 | fillMin = 0.0 47 | } 48 | else if let data = dataProvider.data 49 | { 50 | let max = data.yMax > 0.0 ? 0.0 : dataProvider.chartYMax 51 | let min = data.yMin < 0.0 ? 0.0 : dataProvider.chartYMin 52 | 53 | fillMin = CGFloat(dataSet.yMin >= 0.0 ? min : max) 54 | } 55 | 56 | return fillMin 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/LineRadarRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineRadarRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(LineRadarChartRenderer) 16 | open class LineRadarRenderer: LineScatterCandleRadarRenderer 17 | { 18 | public override init(animator: Animator, viewPortHandler: ViewPortHandler) 19 | { 20 | super.init(animator: animator, viewPortHandler: viewPortHandler) 21 | } 22 | 23 | /// Draws the provided path in filled mode with the provided drawable. 24 | @objc open func drawFilledPath(context: CGContext, path: CGPath, fill: Fill, fillAlpha: CGFloat) 25 | { 26 | 27 | context.saveGState() 28 | context.beginPath() 29 | context.addPath(path) 30 | 31 | // filled is usually drawn with less alpha 32 | context.setAlpha(fillAlpha) 33 | 34 | fill.fillPath(context: context, rect: viewPortHandler.contentRect) 35 | 36 | context.restoreGState() 37 | } 38 | 39 | /// Draws the provided path in filled mode with the provided color and alpha. 40 | @objc open func drawFilledPath(context: CGContext, path: CGPath, fillColor: NSUIColor, fillAlpha: CGFloat) 41 | { 42 | context.saveGState() 43 | context.beginPath() 44 | context.addPath(path) 45 | 46 | // filled is usually drawn with less alpha 47 | context.setAlpha(fillAlpha) 48 | 49 | context.setFillColor(fillColor.cgColor) 50 | context.fillPath() 51 | 52 | context.restoreGState() 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/BubbleChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BubbleChartDataSet.swift 3 | // Charts 4 | // 5 | // Bubble chart implementation: 6 | // Copyright 2015 Pierre-Marc Airoldi 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | open class BubbleChartDataSet: BarLineScatterCandleBubbleChartDataSet, IBubbleChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | internal var _maxSize = CGFloat(0.0) 21 | 22 | open var maxSize: CGFloat { return _maxSize } 23 | @objc open var normalizeSizeEnabled: Bool = true 24 | open var isNormalizeSizeEnabled: Bool { return normalizeSizeEnabled } 25 | 26 | open override func calcMinMax(entry e: ChartDataEntry) 27 | { 28 | guard let e = e as? BubbleChartDataEntry 29 | else { return } 30 | 31 | super.calcMinMax(entry: e) 32 | 33 | let size = e.size 34 | 35 | if size > _maxSize 36 | { 37 | _maxSize = size 38 | } 39 | } 40 | 41 | // MARK: - Styling functions and accessors 42 | 43 | /// Sets/gets the width of the circle that surrounds the bubble when highlighted 44 | open var highlightCircleWidth: CGFloat = 2.5 45 | 46 | // MARK: - NSCopying 47 | 48 | open override func copy(with zone: NSZone? = nil) -> Any 49 | { 50 | let copy = super.copy(with: zone) as! BubbleChartDataSet 51 | copy._xMin = _xMin 52 | copy._xMax = _xMax 53 | copy._maxSize = _maxSize 54 | copy.normalizeSizeEnabled = normalizeSizeEnabled 55 | copy.highlightCircleWidth = highlightCircleWidth 56 | return copy 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/LineScatterCandleRadarRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineScatterCandleRadarRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(LineScatterCandleRadarChartRenderer) 16 | open class LineScatterCandleRadarRenderer: BarLineScatterCandleBubbleRenderer 17 | { 18 | public override init(animator: Animator, viewPortHandler: ViewPortHandler) 19 | { 20 | super.init(animator: animator, viewPortHandler: viewPortHandler) 21 | } 22 | 23 | /// Draws vertical & horizontal highlight-lines if enabled. 24 | /// :param: context 25 | /// :param: points 26 | /// :param: horizontal 27 | /// :param: vertical 28 | @objc open func drawHighlightLines(context: CGContext, point: CGPoint, set: ILineScatterCandleRadarChartDataSet) 29 | { 30 | 31 | // draw vertical highlight lines 32 | if set.isVerticalHighlightIndicatorEnabled 33 | { 34 | context.beginPath() 35 | context.move(to: CGPoint(x: point.x, y: viewPortHandler.contentTop)) 36 | context.addLine(to: CGPoint(x: point.x, y: viewPortHandler.contentBottom)) 37 | context.strokePath() 38 | } 39 | 40 | // draw horizontal highlight lines 41 | if set.isHorizontalHighlightIndicatorEnabled 42 | { 43 | context.beginPath() 44 | context.move(to: CGPoint(x: viewPortHandler.contentLeft, y: point.y)) 45 | context.addLine(to: CGPoint(x: viewPortHandler.contentRight, y: point.y)) 46 | context.strokePath() 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Pods/Marshal/Sources/JSON.swift: -------------------------------------------------------------------------------- 1 | // 2 | // M A R S H A L 3 | // 4 | // () 5 | // /\ 6 | // ()--' '--() 7 | // `. .' 8 | // / .. \ 9 | // ()' '() 10 | // 11 | // 12 | 13 | 14 | import Foundation 15 | 16 | 17 | // MARK: - Types 18 | 19 | public typealias JSONObject = MarshalDictionary 20 | 21 | 22 | // MARK: - Parser 23 | 24 | public struct JSONParser { 25 | 26 | fileprivate init() { } 27 | 28 | public static func JSONObjectWithData(_ data: Data) throws -> JSONObject { 29 | let object: Any = try JSONSerialization.jsonObject(with: data, options: []) 30 | guard let objectValue = object as? JSONObject else { 31 | throw MarshalError.typeMismatch(expected: JSONObject.self, actual: type(of: object)) 32 | } 33 | return objectValue 34 | } 35 | 36 | public static func JSONArrayWithData(_ data: Data) throws -> [JSONObject] { 37 | let object: Any = try JSONSerialization.jsonObject(with: data, options: []) 38 | guard let array = object as? [JSONObject] else { 39 | throw MarshalError.typeMismatch(expected: [JSONObject].self, actual: type(of: object)) 40 | } 41 | return array 42 | } 43 | } 44 | 45 | 46 | // MARK: - Collections 47 | 48 | public protocol JSONCollectionType { 49 | func jsonData() throws -> Data 50 | } 51 | 52 | extension JSONCollectionType { 53 | public func jsonData() throws -> Data { 54 | let jsonCollection = self 55 | return try JSONSerialization.data(withJSONObject: jsonCollection, options: []) 56 | } 57 | } 58 | 59 | extension Dictionary : JSONCollectionType {} 60 | 61 | extension Array : JSONCollectionType {} 62 | 63 | extension Set : JSONCollectionType {} 64 | 65 | 66 | // MARK: - Marshaling 67 | 68 | public protocol JSONMarshaling { 69 | func jsonObject() -> JSONObject 70 | } 71 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/RadarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RadarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | open class RadarChartDataSet: LineRadarChartDataSet, IRadarChartDataSet 17 | { 18 | private func initialize() 19 | { 20 | self.valueFont = NSUIFont.systemFont(ofSize: 13.0) 21 | } 22 | 23 | public required init() 24 | { 25 | super.init() 26 | initialize() 27 | } 28 | 29 | public required override init(entries: [ChartDataEntry]?, label: String?) 30 | { 31 | super.init(entries: entries, label: label) 32 | initialize() 33 | } 34 | 35 | // MARK: - Data functions and accessors 36 | 37 | // MARK: - Styling functions and accessors 38 | 39 | /// flag indicating whether highlight circle should be drawn or not 40 | /// **default**: false 41 | open var drawHighlightCircleEnabled: Bool = false 42 | 43 | /// `true` if highlight circle should be drawn, `false` ifnot 44 | open var isDrawHighlightCircleEnabled: Bool { return drawHighlightCircleEnabled } 45 | 46 | open var highlightCircleFillColor: NSUIColor? = NSUIColor.white 47 | 48 | /// The stroke color for highlight circle. 49 | /// If `nil`, the color of the dataset is taken. 50 | open var highlightCircleStrokeColor: NSUIColor? 51 | 52 | open var highlightCircleStrokeAlpha: CGFloat = 0.3 53 | 54 | open var highlightCircleInnerRadius: CGFloat = 3.0 55 | 56 | open var highlightCircleOuterRadius: CGFloat = 4.0 57 | 58 | open var highlightCircleStrokeWidth: CGFloat = 2.0 59 | } 60 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Components/IMarker.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChartMarker.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(IChartMarker) 16 | public protocol IMarker: class 17 | { 18 | /// - Returns: The desired (general) offset you wish the IMarker to have on the x-axis. 19 | /// By returning x: -(width / 2) you will center the IMarker horizontally. 20 | /// By returning y: -(height / 2) you will center the IMarker vertically. 21 | var offset: CGPoint { get } 22 | 23 | /// - Parameters: 24 | /// - point: This is the point at which the marker wants to be drawn. You can adjust the offset conditionally based on this argument. 25 | /// - Returns: The offset for drawing at the specific `point`. 26 | /// This allows conditional adjusting of the Marker position. 27 | /// If you have no adjustments to make, return self.offset(). 28 | func offsetForDrawing(atPoint: CGPoint) -> CGPoint 29 | 30 | /// This method enables a custom IMarker to update it's content every time the IMarker is redrawn according to the data entry it points to. 31 | /// 32 | /// - Parameters: 33 | /// - entry: The Entry the IMarker belongs to. This can also be any subclass of Entry, like BarEntry or CandleEntry, simply cast it at runtime. 34 | /// - highlight: The highlight object contains information about the highlighted value such as it's dataset-index, the selected range or stack-index (only stacked bar entries). 35 | func refreshContent(entry: ChartDataEntry, highlight: Highlight) 36 | 37 | /// Draws the IMarker on the given position on the given context 38 | func draw(context: CGContext, point: CGPoint) 39 | } 40 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/EnumTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EnumTransform.swift 3 | // ObjectMapper 4 | // 5 | // Created by Kaan Dedeoglu on 3/20/15. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | open class EnumTransform: TransformType { 32 | public typealias Object = T 33 | public typealias JSON = T.RawValue 34 | 35 | public init() {} 36 | 37 | open func transformFromJSON(_ value: Any?) -> T? { 38 | if let raw = value as? T.RawValue { 39 | return T(rawValue: raw) 40 | } 41 | return nil 42 | } 43 | 44 | open func transformToJSON(_ value: T?) -> T.RawValue? { 45 | if let obj = value { 46 | return obj.rawValue 47 | } 48 | return nil 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/DataTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DataTransform.swift 3 | // ObjectMapper 4 | // 5 | // Created by Yagrushkin, Evgeny on 8/30/16. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | open class DataTransform: TransformType { 32 | public typealias Object = Data 33 | public typealias JSON = String 34 | 35 | public init() {} 36 | 37 | open func transformFromJSON(_ value: Any?) -> Data? { 38 | guard let string = value as? String else{ 39 | return nil 40 | } 41 | return Data(base64Encoded: string) 42 | } 43 | 44 | open func transformToJSON(_ value: Data?) -> String? { 45 | guard let data = value else{ 46 | return nil 47 | } 48 | return data.base64EncodedString() 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Highlight/PieRadarHighlighter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PieRadarHighlighter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(PieRadarChartHighlighter) 16 | open class PieRadarHighlighter: ChartHighlighter 17 | { 18 | open override func getHighlight(x: CGFloat, y: CGFloat) -> Highlight? 19 | { 20 | guard let chart = self.chart as? PieRadarChartViewBase else { return nil } 21 | 22 | let touchDistanceToCenter = chart.distanceToCenter(x: x, y: y) 23 | 24 | // check if a slice was touched 25 | guard touchDistanceToCenter <= chart.radius else 26 | { 27 | // if no slice was touched, highlight nothing 28 | return nil 29 | } 30 | 31 | var angle = chart.angleForPoint(x: x ,y: y) 32 | 33 | if chart is PieChartView 34 | { 35 | angle /= CGFloat(chart.chartAnimator.phaseY) 36 | } 37 | 38 | let index = chart.indexForAngle(angle) 39 | 40 | // check if the index could be found 41 | if index < 0 || index >= chart.data?.maxEntryCountSet?.entryCount ?? 0 42 | { 43 | return nil 44 | } 45 | else 46 | { 47 | return closestHighlight(index: index, x: x, y: y) 48 | } 49 | 50 | } 51 | 52 | /// - Parameters: 53 | /// - index: 54 | /// - x: 55 | /// - y: 56 | /// - Returns: The closest Highlight object of the given objects based on the touch position inside the chart. 57 | @objc open func closestHighlight(index: Int, x: CGFloat, y: CGFloat) -> Highlight? 58 | { 59 | fatalError("closestHighlight(index, x, y) cannot be called on PieRadarChartHighlighter") 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/ISO8601DateTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ISO8601DateTransform.swift 3 | // ObjectMapper 4 | // 5 | // Created by Jean-Pierre Mouilleseaux on 21 Nov 2014. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | public extension DateFormatter { 32 | convenience init(withFormat format : String, locale : String) { 33 | self.init() 34 | self.locale = Locale(identifier: locale) 35 | dateFormat = format 36 | } 37 | } 38 | 39 | open class ISO8601DateTransform: DateFormatterTransform { 40 | 41 | static let reusableISODateFormatter = DateFormatter(withFormat: "yyyy-MM-dd'T'HH:mm:ssZZZZZ", locale: "en_US_POSIX") 42 | 43 | public init() { 44 | super.init(dateFormatter: ISO8601DateTransform.reusableISODateFormatter) 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /Pods/ParkKit/Sources/City.swift: -------------------------------------------------------------------------------- 1 | // 2 | // City.swift 3 | // ParkKit 4 | // 5 | // Created by Kilian Költzsch on 03/01/2017. 6 | // Copyright © 2017 Kilian Koeltzsch. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import Marshal 11 | import CoreLocation 12 | 13 | /// Slightly bigger than a town, you get the idea. 14 | public struct City { 15 | /// Name of the city, e.g. "Dresden" 16 | public let name: String 17 | /// Center coordinate 18 | public let coordinate: CLLocationCoordinate2D 19 | /// The data source where ParkAPI gathers the lot data. Could be a feed or HTML page. 20 | public let source: URL 21 | /// A url that can be used for linking to a city's data. 22 | public let url: URL 23 | /// Attribution information containing metadata, if known. 24 | public let attribution: Attribution? 25 | /// True if the city is being actively supported (updated rather quickly if things break). 26 | public let hasActiveSupport: Bool 27 | 28 | /// Attribution information 29 | public struct Attribution { 30 | /// Who owns or contributed the given data. 31 | let contributor: String 32 | /// What license is the data being provided under. 33 | let license: String 34 | /// URL to more legal information regarding the data. 35 | let url: URL 36 | } 37 | } 38 | 39 | extension City: Unmarshaling { 40 | public init(object: MarshaledObject) throws { 41 | name = try object <| "name" 42 | coordinate = try object <| "coords" 43 | source = try object <| "source" 44 | url = try object <| "url" 45 | attribution = try object <| "attribution" 46 | hasActiveSupport = try object <| "active_support" 47 | } 48 | } 49 | 50 | extension City.Attribution: Unmarshaling { 51 | public init(object: MarshaledObject) throws { 52 | contributor = try object <| "contributor" 53 | license = try object <| "license" 54 | url = try object <| "url" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/TransformOf.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TransformOf.swift 3 | // ObjectMapper 4 | // 5 | // Created by Syo Ikeda on 1/23/15. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | open class TransformOf: TransformType { 30 | public typealias Object = ObjectType 31 | public typealias JSON = JSONType 32 | 33 | private let fromJSON: (JSONType?) -> ObjectType? 34 | private let toJSON: (ObjectType?) -> JSONType? 35 | 36 | public init(fromJSON: @escaping(JSONType?) -> ObjectType?, toJSON: @escaping(ObjectType?) -> JSONType?) { 37 | self.fromJSON = fromJSON 38 | self.toJSON = toJSON 39 | } 40 | 41 | open func transformFromJSON(_ value: Any?) -> ObjectType? { 42 | return fromJSON(value as? JSONType) 43 | } 44 | 45 | open func transformToJSON(_ value: ObjectType?) -> JSONType? { 46 | return toJSON(value) 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/DateFormatterTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DateFormatterTransform.swift 3 | // ObjectMapper 4 | // 5 | // Created by Tristan Himmelman on 2015-03-09. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | open class DateFormatterTransform: TransformType { 32 | public typealias Object = Date 33 | public typealias JSON = String 34 | 35 | public let dateFormatter: DateFormatter 36 | 37 | public init(dateFormatter: DateFormatter) { 38 | self.dateFormatter = dateFormatter 39 | } 40 | 41 | open func transformFromJSON(_ value: Any?) -> Date? { 42 | if let dateString = value as? String { 43 | return dateFormatter.date(from: dateString) 44 | } 45 | return nil 46 | } 47 | 48 | open func transformToJSON(_ value: Date?) -> String? { 49 | if let date = value { 50 | return dateFormatter.string(from: date) 51 | } 52 | return nil 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 🚗 ParkenDD 2 | 3 | [![Travis](https://img.shields.io/travis/kiliankoe/ParkenDD.svg?style=flat-square)](https://travis-ci.org/kiliankoe/ParkenDD) 4 | [![App Store](https://img.shields.io/itunes/v/957165041.svg?style=flat-square)](https://itunes.apple.com/us/app/parkendd/id957165041) 5 | [![GitHub Issues](https://img.shields.io/github/issues/kiliankoe/ParkenDD.svg?style=flat-square)](https://github.com/kiliankoe/ParkenDD/issues) 6 | 7 | ![](Resources/screenshot.png) 8 | 9 | [![](http://parkendd.kilian.io/images/badge_small.svg)](https://itunes.apple.com/de/app/parkendd/id957165041) 10 | 11 | ParkenDD shows you the current parking situation for various European cities, including Dresden, Ingolstadt, Hamburg, Zürich and Aarhus to name a select few. Depending on the available data you can see the current number of available public parking spots as well as their location. For a select number of lots you can also check out forecast information to see if there will be spots available when you arrive. 12 | 13 | Features of the app: 14 | 15 | - See the current parking situation for your city at a glance 16 | - Multiples cities are supported, for a full list look [here](https://github.com/offenesdresden/ParkAPI/tree/master/park_api/cities) 17 | - Display parking lots on a map to see where they are exactly 18 | 19 | The backend to ParkenDD is also open source. You're very welcome to help us by integrating further open data into our project so that we can support more cities. See the guide on [ParkAPI](https://github.com/offenesdresden/ParkAPI#adding-support-for-a-new-city)'s project page to get started. 20 | 21 | ParkenDD also exists for **Android** and **Windows 10**, check out the [project page](https://parkendd.de) if you're interested. 22 | 23 | Pull requests and issue reports for this project are heavily encouraged! Feel free to open an issue should you have any question whatsoever. 24 | 25 | If you'd like to have this app translated to your language, you can also help out by having a look at the project on [POEditor](https://poeditor.com/join/project/ppxkC7Hgvf). We're very interested in having as many languages as possible supported. 26 | 27 | ✌️ 28 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/ICandleChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ICandleChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol ICandleChartDataSet: ILineScatterCandleRadarChartDataSet 17 | { 18 | // MARK: - Data functions and accessors 19 | 20 | // MARK: - Styling functions and accessors 21 | 22 | /// the space that is left out on the left and right side of each candle, 23 | /// **default**: 0.1 (10%), max 0.45, min 0.0 24 | var barSpace: CGFloat { get set } 25 | 26 | /// should the candle bars show? 27 | /// when false, only "ticks" will show 28 | /// 29 | /// **default**: true 30 | var showCandleBar: Bool { get set } 31 | 32 | /// the width of the candle-shadow-line in pixels. 33 | /// 34 | /// **default**: 3.0 35 | var shadowWidth: CGFloat { get set } 36 | 37 | /// the color of the shadow line 38 | var shadowColor: NSUIColor? { get set } 39 | 40 | /// use candle color for the shadow 41 | var shadowColorSameAsCandle: Bool { get set } 42 | 43 | /// Is the shadow color same as the candle color? 44 | var isShadowColorSameAsCandle: Bool { get } 45 | 46 | /// color for open == close 47 | var neutralColor: NSUIColor? { get set } 48 | 49 | /// color for open > close 50 | var increasingColor: NSUIColor? { get set } 51 | 52 | /// color for open < close 53 | var decreasingColor: NSUIColor? { get set } 54 | 55 | /// Are increasing values drawn as filled? 56 | var increasingFilled: Bool { get set } 57 | 58 | /// Are increasing values drawn as filled? 59 | var isIncreasingFilled: Bool { get } 60 | 61 | /// Are decreasing values drawn as filled? 62 | var decreasingFilled: Bool { get set } 63 | 64 | /// Are decreasing values drawn as filled? 65 | var isDecreasingFilled: Bool { get } 66 | } 67 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Implementations/Standard/LineScatterCandleRadarChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineScatterCandleRadarChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | 14 | 15 | open class LineScatterCandleRadarChartDataSet: BarLineScatterCandleBubbleChartDataSet, ILineScatterCandleRadarChartDataSet 16 | { 17 | // MARK: - Data functions and accessors 18 | 19 | // MARK: - Styling functions and accessors 20 | 21 | /// Enables / disables the horizontal highlight-indicator. If disabled, the indicator is not drawn. 22 | open var drawHorizontalHighlightIndicatorEnabled = true 23 | 24 | /// Enables / disables the vertical highlight-indicator. If disabled, the indicator is not drawn. 25 | open var drawVerticalHighlightIndicatorEnabled = true 26 | 27 | /// `true` if horizontal highlight indicator lines are enabled (drawn) 28 | open var isHorizontalHighlightIndicatorEnabled: Bool { return drawHorizontalHighlightIndicatorEnabled } 29 | 30 | /// `true` if vertical highlight indicator lines are enabled (drawn) 31 | open var isVerticalHighlightIndicatorEnabled: Bool { return drawVerticalHighlightIndicatorEnabled } 32 | 33 | /// Enables / disables both vertical and horizontal highlight-indicators. 34 | /// :param: enabled 35 | open func setDrawHighlightIndicators(_ enabled: Bool) 36 | { 37 | drawHorizontalHighlightIndicatorEnabled = enabled 38 | drawVerticalHighlightIndicatorEnabled = enabled 39 | } 40 | 41 | // MARK: NSCopying 42 | 43 | open override func copy(with zone: NSZone? = nil) -> Any 44 | { 45 | let copy = super.copy(with: zone) as! LineScatterCandleRadarChartDataSet 46 | copy.drawHorizontalHighlightIndicatorEnabled = drawHorizontalHighlightIndicatorEnabled 47 | copy.drawVerticalHighlightIndicatorEnabled = drawVerticalHighlightIndicatorEnabled 48 | return copy 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Components/ChartLimitLine.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChartLimitLine.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | 16 | /// The limit line is an additional feature for all Line, Bar and ScatterCharts. 17 | /// It allows the displaying of an additional line in the chart that marks a certain maximum / limit on the specified axis (x- or y-axis). 18 | open class ChartLimitLine: ComponentBase 19 | { 20 | @objc(ChartLimitLabelPosition) 21 | public enum LabelPosition: Int 22 | { 23 | case topLeft 24 | case topRight 25 | case bottomLeft 26 | case bottomRight 27 | } 28 | 29 | /// limit / maximum (the y-value or xIndex) 30 | @objc open var limit = Double(0.0) 31 | 32 | private var _lineWidth = CGFloat(2.0) 33 | @objc open var lineColor = NSUIColor(red: 237.0/255.0, green: 91.0/255.0, blue: 91.0/255.0, alpha: 1.0) 34 | @objc open var lineDashPhase = CGFloat(0.0) 35 | @objc open var lineDashLengths: [CGFloat]? 36 | 37 | @objc open var valueTextColor = NSUIColor.black 38 | @objc open var valueFont = NSUIFont.systemFont(ofSize: 13.0) 39 | 40 | @objc open var drawLabelEnabled = true 41 | @objc open var label = "" 42 | @objc open var labelPosition = LabelPosition.topRight 43 | 44 | public override init() 45 | { 46 | super.init() 47 | } 48 | 49 | @objc public init(limit: Double) 50 | { 51 | super.init() 52 | self.limit = limit 53 | } 54 | 55 | @objc public init(limit: Double, label: String) 56 | { 57 | super.init() 58 | self.limit = limit 59 | self.label = label 60 | } 61 | 62 | /// set the line width of the chart (min = 0.2, max = 12); default 2 63 | @objc open var lineWidth: CGFloat 64 | { 65 | get 66 | { 67 | return _lineWidth 68 | } 69 | set 70 | { 71 | _lineWidth = newValue.clamped(to: 0.2...12) 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Pods/ObjectMapper/Sources/NSDecimalNumberTransform.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TransformOf.swift 3 | // ObjectMapper 4 | // 5 | // Created by Tristan Himmelman on 8/22/16. 6 | // 7 | // The MIT License (MIT) 8 | // 9 | // Copyright (c) 2014-2018 Tristan Himmelman 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | import Foundation 30 | 31 | open class NSDecimalNumberTransform: TransformType { 32 | public typealias Object = NSDecimalNumber 33 | public typealias JSON = String 34 | 35 | public init() {} 36 | 37 | open func transformFromJSON(_ value: Any?) -> NSDecimalNumber? { 38 | if let string = value as? String { 39 | return NSDecimalNumber(string: string) 40 | } else if let number = value as? NSNumber { 41 | return NSDecimalNumber(decimal: number.decimalValue) 42 | } else if let double = value as? Double { 43 | return NSDecimalNumber(floatLiteral: double) 44 | } 45 | return nil 46 | } 47 | 48 | open func transformToJSON(_ value: NSDecimalNumber?) -> String? { 49 | guard let value = value else { return nil } 50 | return value.description 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /fastlane/SnapshotHelper.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapshotHelper.swift 3 | // Example 4 | // 5 | // Created by Felix Krause on 10/8/15. 6 | // Copyright © 2015 Felix Krause. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import XCTest 11 | 12 | var deviceLanguage = "" 13 | 14 | @available(iOS 9.0, *) 15 | func setLanguage(app: XCUIApplication) { 16 | Snapshot.setLanguage(app) 17 | } 18 | 19 | @available(iOS 9.0, *) 20 | func snapshot(name: String, waitForLoadingIndicator: Bool = true) { 21 | Snapshot.snapshot(name, waitForLoadingIndicator: waitForLoadingIndicator) 22 | } 23 | 24 | 25 | 26 | @available(iOS 9.0, *) 27 | @objc class Snapshot: NSObject { 28 | class func setLanguage(app: XCUIApplication) { 29 | let path = "/tmp/language.txt" 30 | 31 | do { 32 | let locale = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String 33 | deviceLanguage = locale.substringToIndex(locale.startIndex.advancedBy(2, limit:locale.endIndex)) 34 | app.launchArguments = ["-AppleLanguages", "(\(deviceLanguage))", "-AppleLocale", "\"\(locale)\"","-ui_testing"] 35 | } catch { 36 | print("Couldn't detect/set language...") 37 | } 38 | } 39 | 40 | class func snapshot(name: String, waitForLoadingIndicator: Bool = false) { 41 | if waitForLoadingIndicator { 42 | waitForLoadingIndicatorToDisappear() 43 | } 44 | print("snapshot: \(name)") // more information about this, check out https://github.com/krausefx/snapshot 45 | 46 | let view = XCUIApplication() 47 | let start = view.coordinateWithNormalizedOffset(CGVectorMake(32.10, 30000)) 48 | let finish = view.coordinateWithNormalizedOffset(CGVectorMake(31, 30000)) 49 | start.pressForDuration(0, thenDragToCoordinate: finish) 50 | sleep(1) 51 | } 52 | 53 | class func waitForLoadingIndicatorToDisappear() { 54 | let query = XCUIApplication().statusBars.childrenMatchingType(.Other).elementBoundByIndex(1).childrenMatchingType(.Other) 55 | 56 | while query.count > 4 { 57 | sleep(1) 58 | print("Number of Elements in Status Bar: \(query.count)... waiting for status bar to disappear") 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/Charts.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/Marshal.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/ParkKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/SwiftyDrop.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/SwiftyTimer.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/kilian.xcuserdatad/xcschemes/ObjectMapper.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Highlight/HorizontalBarHighlighter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HorizontalBarHighlighter.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(HorizontalBarChartHighlighter) 16 | open class HorizontalBarHighlighter: BarHighlighter 17 | { 18 | open override func getHighlight(x: CGFloat, y: CGFloat) -> Highlight? 19 | { 20 | guard let barData = self.chart?.data as? BarChartData else { return nil } 21 | 22 | let pos = getValsForTouch(x: y, y: x) 23 | guard let high = getHighlight(xValue: Double(pos.y), x: y, y: x) else { return nil } 24 | 25 | if let set = barData.getDataSetByIndex(high.dataSetIndex) as? IBarChartDataSet, 26 | set.isStacked 27 | { 28 | return getStackedHighlight(high: high, 29 | set: set, 30 | xValue: Double(pos.y), 31 | yValue: Double(pos.x)) 32 | } 33 | 34 | return high 35 | } 36 | 37 | internal override func buildHighlights( 38 | dataSet set: IChartDataSet, 39 | dataSetIndex: Int, 40 | xValue: Double, 41 | rounding: ChartDataSetRounding) -> [Highlight] 42 | { 43 | guard let chart = self.chart as? BarLineScatterCandleBubbleChartDataProvider else { return [] } 44 | 45 | var entries = set.entriesForXValue(xValue) 46 | if entries.count == 0, let closest = set.entryForXValue(xValue, closestToY: .nan, rounding: rounding) 47 | { 48 | // Try to find closest x-value and take all entries for that x-value 49 | entries = set.entriesForXValue(closest.x) 50 | } 51 | 52 | return entries.map { e in 53 | let px = chart.getTransformer(forAxis: set.axisDependency) 54 | .pixelForValues(x: e.y, y: e.x) 55 | return Highlight(x: e.x, y: e.y, xPx: px.x, yPx: px.y, dataSetIndex: dataSetIndex, axis: set.axisDependency) 56 | } 57 | } 58 | 59 | internal override func getDistance(x1: CGFloat, y1: CGFloat, x2: CGFloat, y2: CGFloat) -> CGFloat 60 | { 61 | return abs(y1 - y2) 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Jobs/ZoomViewJob.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ZoomViewJob.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc(ZoomChartViewJob) 16 | open class ZoomViewJob: ViewPortJob 17 | { 18 | internal var scaleX: CGFloat = 0.0 19 | internal var scaleY: CGFloat = 0.0 20 | internal var axisDependency: YAxis.AxisDependency = .left 21 | 22 | @objc public init( 23 | viewPortHandler: ViewPortHandler, 24 | scaleX: CGFloat, 25 | scaleY: CGFloat, 26 | xValue: Double, 27 | yValue: Double, 28 | transformer: Transformer, 29 | axis: YAxis.AxisDependency, 30 | view: ChartViewBase) 31 | { 32 | super.init( 33 | viewPortHandler: viewPortHandler, 34 | xValue: xValue, 35 | yValue: yValue, 36 | transformer: transformer, 37 | view: view) 38 | 39 | self.scaleX = scaleX 40 | self.scaleY = scaleY 41 | self.axisDependency = axis 42 | } 43 | 44 | open override func doJob() 45 | { 46 | guard 47 | let viewPortHandler = viewPortHandler, 48 | let transformer = transformer, 49 | let view = view 50 | else { return } 51 | 52 | var matrix = viewPortHandler.setZoom(scaleX: scaleX, scaleY: scaleY) 53 | viewPortHandler.refresh(newMatrix: matrix, chart: view, invalidate: false) 54 | 55 | let yValsInView = (view as! BarLineChartViewBase).getAxis(axisDependency).axisRange / Double(viewPortHandler.scaleY) 56 | let xValsInView = (view as! BarLineChartViewBase).xAxis.axisRange / Double(viewPortHandler.scaleX) 57 | 58 | var pt = CGPoint( 59 | x: CGFloat(xValue - xValsInView / 2.0), 60 | y: CGFloat(yValue + yValsInView / 2.0) 61 | ) 62 | 63 | transformer.pointValueToPixel(&pt) 64 | 65 | matrix = viewPortHandler.translate(pt: pt) 66 | viewPortHandler.refresh(newMatrix: matrix, chart: view, invalidate: false) 67 | 68 | (view as! BarLineChartViewBase).calculateOffsets() 69 | view.setNeedsDisplay() 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Renderers/Scatter/SquareShapeRenderer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SquareShapeRenderer.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | import Foundation 12 | import CoreGraphics 13 | 14 | open class SquareShapeRenderer : NSObject, IShapeRenderer 15 | { 16 | open func renderShape( 17 | context: CGContext, 18 | dataSet: IScatterChartDataSet, 19 | viewPortHandler: ViewPortHandler, 20 | point: CGPoint, 21 | color: NSUIColor) 22 | { 23 | let shapeSize = dataSet.scatterShapeSize 24 | let shapeHalf = shapeSize / 2.0 25 | let shapeHoleSizeHalf = dataSet.scatterShapeHoleRadius 26 | let shapeHoleSize = shapeHoleSizeHalf * 2.0 27 | let shapeHoleColor = dataSet.scatterShapeHoleColor 28 | let shapeStrokeSize = (shapeSize - shapeHoleSize) / 2.0 29 | let shapeStrokeSizeHalf = shapeStrokeSize / 2.0 30 | 31 | if shapeHoleSize > 0.0 32 | { 33 | context.setStrokeColor(color.cgColor) 34 | context.setLineWidth(shapeStrokeSize) 35 | var rect = CGRect() 36 | rect.origin.x = point.x - shapeHoleSizeHalf - shapeStrokeSizeHalf 37 | rect.origin.y = point.y - shapeHoleSizeHalf - shapeStrokeSizeHalf 38 | rect.size.width = shapeHoleSize + shapeStrokeSize 39 | rect.size.height = shapeHoleSize + shapeStrokeSize 40 | context.stroke(rect) 41 | 42 | if let shapeHoleColor = shapeHoleColor 43 | { 44 | context.setFillColor(shapeHoleColor.cgColor) 45 | rect.origin.x = point.x - shapeHoleSizeHalf 46 | rect.origin.y = point.y - shapeHoleSizeHalf 47 | rect.size.width = shapeHoleSize 48 | rect.size.height = shapeHoleSize 49 | context.fill(rect) 50 | } 51 | } 52 | else 53 | { 54 | context.setFillColor(color.cgColor) 55 | var rect = CGRect() 56 | rect.origin.x = point.x - shapeHalf 57 | rect.origin.y = point.y - shapeHalf 58 | rect.size.width = shapeSize 59 | rect.size.height = shapeSize 60 | context.fill(rect) 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Pods/Charts/Source/Charts/Data/Interfaces/IPieChartDataSet.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IPieChartDataSet.swift 3 | // Charts 4 | // 5 | // Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda 6 | // A port of MPAndroidChart for iOS 7 | // Licensed under Apache License 2.0 8 | // 9 | // https://github.com/danielgindi/Charts 10 | // 11 | 12 | import Foundation 13 | import CoreGraphics 14 | 15 | @objc 16 | public protocol IPieChartDataSet: IChartDataSet 17 | { 18 | // MARK: - Styling functions and accessors 19 | 20 | /// the space in pixels between the pie-slices 21 | /// **default**: 0 22 | /// **maximum**: 20 23 | var sliceSpace: CGFloat { get set } 24 | 25 | /// When enabled, slice spacing will be 0.0 when the smallest value is going to be smaller than the slice spacing itself. 26 | var automaticallyDisableSliceSpacing: Bool { get set } 27 | 28 | /// indicates the selection distance of a pie slice 29 | var selectionShift: CGFloat { get set } 30 | 31 | var xValuePosition: PieChartDataSet.ValuePosition { get set } 32 | var yValuePosition: PieChartDataSet.ValuePosition { get set } 33 | 34 | /// When valuePosition is OutsideSlice, indicates line color 35 | var valueLineColor: NSUIColor? { get set } 36 | 37 | /// When valuePosition is OutsideSlice and enabled, line will have the same color as the slice 38 | var useValueColorForLine: Bool { get set } 39 | 40 | /// When valuePosition is OutsideSlice, indicates line width 41 | var valueLineWidth: CGFloat { get set } 42 | 43 | /// When valuePosition is OutsideSlice, indicates offset as percentage out of the slice size 44 | var valueLinePart1OffsetPercentage: CGFloat { get set } 45 | 46 | /// When valuePosition is OutsideSlice, indicates length of first half of the line 47 | var valueLinePart1Length: CGFloat { get set } 48 | 49 | /// When valuePosition is OutsideSlice, indicates length of second half of the line 50 | var valueLinePart2Length: CGFloat { get set } 51 | 52 | /// When valuePosition is OutsideSlice, this allows variable line length 53 | var valueLineVariableLength: Bool { get set } 54 | 55 | /// the font for the slice-text labels 56 | var entryLabelFont: NSUIFont? { get set } 57 | 58 | /// the color for the slice-text labels 59 | var entryLabelColor: NSUIColor? { get set } 60 | 61 | /// get/sets the color for the highlighted sector 62 | var highlightColor: NSUIColor? { get set } 63 | 64 | } 65 | --------------------------------------------------------------------------------