Skip to content

Commit cac9321

Browse files
authored
Merge pull request #76 from tumblr/kanvas-rename
Renames KanvasCamera to Kanvas
2 parents 364c1aa + 351b9b1 commit cac9321

File tree

619 files changed

+3810
-3346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

619 files changed

+3810
-3346
lines changed

.circleci/cache-version

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# To invalidate the cache, generate a new UUID using `uuidgen` on the command line then paste it here
2+
92DD7AFB-12E6-46E9-B74E-0E9430A5C43F

.circleci/config.yml

+7-7
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,28 @@ jobs:
2626
- git/shallow-checkout
2727
- ios/install-dependencies:
2828
bundle-install: true
29-
bundler-working-directory: KanvasCameraExample
29+
bundler-working-directory: KanvasExample
3030
pod-install: true
31-
cocoapods-working-directory: KanvasCameraExample
31+
cocoapods-working-directory: KanvasExample
3232
- run:
3333
name: Pod Install
3434
when: always
35-
working_directory: ./KanvasCameraExample
35+
working_directory: ./KanvasExample
3636
command: bundle exec pod install
3737
- ios/test:
3838
xcode-version: 11.2.1
39-
workspace: KanvasCameraExample/KanvasCameraExample.xcworkspace
40-
scheme: KanvasCameraExample
39+
workspace: KanvasExample/KanvasExample.xcworkspace
40+
scheme: KanvasExample
4141
device: iPhone 8
4242
ios-version: "14.0"
4343
- run:
4444
name: Zip failed diffs
4545
when: always
46-
working_directory: ./KanvasCameraExample/KanvasCameraExampleTests
46+
working_directory: ./KanvasExample/KanvasExampleTests
4747
command: zip -r diffoutput.zip FailureDiffs || true
4848
- store_artifacts:
4949
name: Save diffs
50-
path: KanvasCameraExample/KanvasCameraExampleTests/diffoutput.zip
50+
path: KanvasExample/KanvasExampleTests/diffoutput.zip
5151
destination: testresults
5252
- ios/save-xcodebuild-artifacts:
5353
result-bundle-path: build/results

Classes/Analytics/KanvasCameraAnalyticsProvider.swift Classes/Analytics/KanvasAnalyticsProvider.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ import Foundation
177177
}
178178
}
179179

180-
/// A protocol for injecting analytics into the KanvasCamera module
181-
@objc public protocol KanvasCameraAnalyticsProvider {
180+
/// A protocol for injecting analytics into the Kanvas module
181+
@objc public protocol KanvasAnalyticsProvider {
182182

183183
/// Logs an event when the camera is opened
184184
///

Classes/Camera/CameraController.swift

+11-11
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import Foundation
99
import UIKit
1010

1111
// Media wrapper for media generated from the CameraController
12-
public enum KanvasCameraMedia {
12+
public enum KanvasMedia {
1313
case image(URL, MediaInfo, CGSize)
1414
case video(URL, MediaInfo, CGSize)
1515
case frames(URL, MediaInfo, CGSize)
@@ -43,10 +43,10 @@ enum CameraControllerError: Swift.Error {
4343
public protocol CameraControllerDelegate: class {
4444
/**
4545
A function that is called when an image is exported. Can be nil if the export fails
46-
- parameter media: KanvasCameraMedia - this is the media created in the controller (can be image, video, etc)
47-
- seealso: enum KanvasCameraMedia
46+
- parameter media: KanvasMedia - this is the media created in the controller (can be image, video, etc)
47+
- seealso: enum KanvasMedia
4848
*/
49-
func didCreateMedia(_ cameraController: CameraController, media: KanvasCameraMedia?, exportAction: KanvasExportAction, error: Error?)
49+
func didCreateMedia(_ cameraController: CameraController, media: KanvasMedia?, exportAction: KanvasExportAction, error: Error?)
5050

5151
/**
5252
A function that is called when the main camera dismiss button is pressed
@@ -172,7 +172,7 @@ public class CameraController: UIViewController, MediaClipsEditorDelegate, Camer
172172
}()
173173

174174
private let settings: CameraSettings
175-
private let analyticsProvider: KanvasCameraAnalyticsProvider?
175+
private let analyticsProvider: KanvasAnalyticsProvider?
176176
private var currentMode: CameraMode
177177
private var isRecording: Bool
178178
private var disposables: [NSKeyValueObservation] = []
@@ -196,8 +196,8 @@ public class CameraController: UIViewController, MediaClipsEditorDelegate, Camer
196196
/// interact with the user, which options should the controller give the user
197197
/// and which should be the result of the interaction.
198198
/// - stickerProvider: Class that will provide the stickers in the editor.
199-
/// - analyticsProvider: An class conforming to KanvasCameraAnalyticsProvider
200-
convenience public init(settings: CameraSettings, stickerProvider: StickerProvider?, analyticsProvider: KanvasCameraAnalyticsProvider?, quickBlogSelectorCoordinator: KanvasQuickBlogSelectorCoordinating?, tagCollection: UIView?) {
199+
/// - analyticsProvider: An class conforming to KanvasAnalyticsProvider
200+
convenience public init(settings: CameraSettings, stickerProvider: StickerProvider?, analyticsProvider: KanvasAnalyticsProvider?, quickBlogSelectorCoordinator: KanvasQuickBlogSelectorCoordinating?, tagCollection: UIView?) {
201201
self.init(settings: settings, recorderClass: CameraRecorder.self, segmentsHandlerClass: CameraSegmentHandler.self, captureDeviceAuthorizer: CaptureDeviceAuthorizer(), stickerProvider: stickerProvider, analyticsProvider: analyticsProvider, quickBlogSelectorCoordinator: quickBlogSelectorCoordinator, tagCollection: tagCollection)
202202
}
203203

@@ -213,13 +213,13 @@ public class CameraController: UIViewController, MediaClipsEditorDelegate, Camer
213213
/// motion segments and constructing final input.
214214
/// - captureDeviceAuthorizer: Class responsible for authorizing access to capture devices.
215215
/// - stickerProvider: Class that will provide the stickers in the editor.
216-
/// - analyticsProvider: A class conforming to KanvasCameraAnalyticsProvider
216+
/// - analyticsProvider: A class conforming to KanvasAnalyticsProvider
217217
init(settings: CameraSettings,
218218
recorderClass: CameraRecordingProtocol.Type,
219219
segmentsHandlerClass: SegmentsHandlerType.Type,
220220
captureDeviceAuthorizer: CaptureDeviceAuthorizing,
221221
stickerProvider: StickerProvider?,
222-
analyticsProvider: KanvasCameraAnalyticsProvider?,
222+
analyticsProvider: KanvasAnalyticsProvider?,
223223
quickBlogSelectorCoordinator: KanvasQuickBlogSelectorCoordinating?,
224224
tagCollection: UIView?) {
225225
self.settings = settings
@@ -657,7 +657,7 @@ public class CameraController: UIViewController, MediaClipsEditorDelegate, Camer
657657
func didTapForMode(_ mode: CameraMode) {
658658
switch mode.group {
659659
case .gif:
660-
takeGif(numberOfFrames: KanvasCameraTimes.gifTapNumberOfFrames, framesPerSecond: KanvasCameraTimes.gifPreferredFramesPerSecond)
660+
takeGif(numberOfFrames: KanvasTimes.gifTapNumberOfFrames, framesPerSecond: KanvasTimes.gifPreferredFramesPerSecond)
661661
case .photo, .video:
662662
takePhoto()
663663
}
@@ -666,7 +666,7 @@ public class CameraController: UIViewController, MediaClipsEditorDelegate, Camer
666666
func didStartPressingForMode(_ mode: CameraMode) {
667667
switch mode.group {
668668
case .gif:
669-
takeGif(numberOfFrames: KanvasCameraTimes.gifHoldNumberOfFrames, framesPerSecond: KanvasCameraTimes.gifPreferredFramesPerSecond)
669+
takeGif(numberOfFrames: KanvasTimes.gifHoldNumberOfFrames, framesPerSecond: KanvasTimes.gifPreferredFramesPerSecond)
670670
case .video:
671671
prepareHapticFeedback()
672672
let _ = cameraInputController.startRecording(on: mode)

Classes/Camera/CameraPermissionsViewController.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ class CameraPermissionsView: UIView, CameraPermissionsViewable, MediaPickerButto
5151

5252
private struct Constants {
5353
static let borderWidth: CGFloat = 2
54-
static let titleFont: UIFont = KanvasCameraFonts.shared.permissions.titleFont
54+
static let titleFont: UIFont = KanvasFonts.shared.permissions.titleFont
5555
static let textColor: UIColor = .white
56-
static let descriptionFont: UIFont = KanvasCameraFonts.shared.permissions.descriptionFont
56+
static let descriptionFont: UIFont = KanvasFonts.shared.permissions.descriptionFont
5757
static let descriptionOpacity: CGFloat = 0.65
58-
static let buttonFont: UIFont = KanvasCameraFonts.shared.permissions.buttonFont
58+
static let buttonFont: UIFont = KanvasFonts.shared.permissions.buttonFont
5959
static let buttonColor: UIColor = .init(red: 0, green: 184.0/255.0, blue: 1.0, alpha: 1.0)
6060
static let buttonAcceptedBackgroundColor: UIColor = .init(hex: 0x00cf35)
6161
static let buttonAcceptedColor: UIColor = .black
@@ -126,7 +126,7 @@ class CameraPermissionsView: UIView, CameraPermissionsViewable, MediaPickerButto
126126
}()
127127

128128
private static var checkImage: UIImage? = {
129-
return KanvasCameraImages.permissionCheckmark?.withRenderingMode(.alwaysTemplate)
129+
return KanvasImages.permissionCheckmark?.withRenderingMode(.alwaysTemplate)
130130
}()
131131

132132
weak var delegate: CameraPermissionsViewDelegate?

Classes/Camera/CameraView.swift

+10-10
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ protocol CameraViewDelegate: class {
1313
}
1414

1515
struct CameraConstants {
16-
static let optionVerticalMargin: CGFloat = KanvasCameraDesign.shared.cameraViewOptionVerticalMargin
17-
static let optionHorizontalMargin: CGFloat = KanvasCameraDesign.shared.cameraViewOptionHorizontalMargin
18-
static let optionButtonSize: CGFloat = KanvasCameraDesign.shared.cameraViewOptionButtonSize
19-
static let optionSpacing: CGFloat = KanvasCameraDesign.shared.cameraViewOptionSpacing
16+
static let optionVerticalMargin: CGFloat = KanvasDesign.shared.cameraViewOptionVerticalMargin
17+
static let optionHorizontalMargin: CGFloat = KanvasDesign.shared.cameraViewOptionHorizontalMargin
18+
static let optionButtonSize: CGFloat = KanvasDesign.shared.cameraViewOptionButtonSize
19+
static let optionSpacing: CGFloat = KanvasDesign.shared.cameraViewOptionSpacing
2020
private static let hidingAnimationDuration: CGFloat = 0.2
2121
fileprivate static let defaultOptionRows: CGFloat = 2
2222

23-
static let buttonBackgroundColor: UIColor = KanvasCameraDesign.shared.cameraViewButtonBackgroundColor
24-
static let buttonInvertedBackgroundColor: UIColor = KanvasCameraDesign.shared.cameraViewButtonInvertedBackgroundColor
23+
static let buttonBackgroundColor: UIColor = KanvasDesign.shared.cameraViewButtonBackgroundColor
24+
static let buttonInvertedBackgroundColor: UIColor = KanvasDesign.shared.cameraViewButtonInvertedBackgroundColor
2525
}
2626

2727
/// View with containers for all camera subviews (input, mode selector, etc)
@@ -152,7 +152,7 @@ final class CameraView: UIView {
152152
private func setupModeLayoutGuide() {
153153
addLayoutGuide(modeLayoutGuide)
154154

155-
let bottomMargin: CGFloat = KanvasCameraDesign.shared.isBottomPicker ? MediaClipsEditorView.height - (ModeSelectorAndShootView.modeSelectorHeight + ModeSelectorAndShootView.modeSelectorTopMargin) : MediaClipsEditorView.height
155+
let bottomMargin: CGFloat = KanvasDesign.shared.isBottomPicker ? MediaClipsEditorView.height - (ModeSelectorAndShootView.modeSelectorHeight + ModeSelectorAndShootView.modeSelectorTopMargin) : MediaClipsEditorView.height
156156

157157
modeLayoutGuide.leadingAnchor.constraint(equalTo: safeLayoutGuide.leadingAnchor).isActive = true
158158
modeLayoutGuide.trailingAnchor.constraint(equalTo: safeLayoutGuide.trailingAnchor).isActive = true
@@ -225,7 +225,7 @@ final class CameraView: UIView {
225225
closeButton.translatesAutoresizingMaskIntoConstraints = false
226226

227227

228-
if KanvasCameraDesign.shared.isBottomPicker {
228+
if KanvasDesign.shared.isBottomPicker {
229229
closeButton.backgroundColor = CameraConstants.buttonBackgroundColor
230230
closeButton.layer.cornerRadius = CameraConstants.optionButtonSize / 2
231231
closeButton.layer.masksToBounds = true
@@ -236,7 +236,7 @@ final class CameraView: UIView {
236236
}
237237

238238
if settings.topButtonsSwapped {
239-
closeButton.setImage(KanvasCameraDesign.shared.cameraViewNextImage, for: .normal)
239+
closeButton.setImage(KanvasDesign.shared.cameraViewNextImage, for: .normal)
240240
NSLayoutConstraint.activate([
241241
closeButton.trailingAnchor.constraint(equalTo: safeLayoutGuide.trailingAnchor, constant: -CameraConstants.optionHorizontalMargin),
242242
closeButton.topAnchor.constraint(equalTo: safeLayoutGuide.topAnchor, constant: CameraConstants.optionVerticalMargin),
@@ -245,7 +245,7 @@ final class CameraView: UIView {
245245
])
246246
}
247247
else {
248-
closeButton.setImage(KanvasCameraDesign.shared.cameraViewCloseImage, for: .normal)
248+
closeButton.setImage(KanvasDesign.shared.cameraViewCloseImage, for: .normal)
249249

250250
NSLayoutConstraint.activate([
251251
closeButton.leadingAnchor.constraint(equalTo: safeLayoutGuide.leadingAnchor, constant: CameraConstants.optionHorizontalMargin),

Classes/Camera/CameraZoomHandler.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ final class CameraZoomHandler {
3131
private var currentDevice: AVCaptureDevice? {
3232
return delegate?.currentDeviceForZooming
3333
}
34-
private let analyticsProvider: KanvasCameraAnalyticsProvider?
34+
private let analyticsProvider: KanvasAnalyticsProvider?
3535

3636
/// The designated initializer
3737
///
3838
/// - Parameter analyticsProvider: Optionally provide an analytics class
39-
init(analyticsProvider: KanvasCameraAnalyticsProvider? = nil) {
39+
init(analyticsProvider: KanvasAnalyticsProvider? = nil) {
4040
self.analyticsProvider = analyticsProvider
4141
}
4242

Classes/Camera/Filters/CameraFilterCollectionCell.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import Foundation
88
import UIKit
99

1010
private struct CameraFilterCollectionCellDimensions: FilterCollectionCellDimensions {
11-
let circleDiameter: CGFloat = KanvasCameraDesign.shared.cameraFilterCollectionCellCircleDiameter
12-
let circleMaxDiameter: CGFloat = KanvasCameraDesign.shared.cameraFilterCollectionCellCircleMaxDiameter
11+
let circleDiameter: CGFloat = KanvasDesign.shared.cameraFilterCollectionCellCircleDiameter
12+
let circleMaxDiameter: CGFloat = KanvasDesign.shared.cameraFilterCollectionCellCircleMaxDiameter
1313
let padding: CGFloat = 0
1414
var minimumHeight: CGFloat { return circleMaxDiameter }
1515
var width: CGFloat { return circleMaxDiameter }

Classes/Camera/Filters/FilterSettingsView.swift

+9-9
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import UIKit
99

1010
private struct FilterSettingsViewConstants {
1111
static let animationDuration: TimeInterval = 0.25
12-
static let iconSize: CGFloat = KanvasCameraDesign.shared.filterSettingsViewIconSize
13-
static let padding: CGFloat = KanvasCameraDesign.shared.filterSettingsViewPadding
12+
static let iconSize: CGFloat = KanvasDesign.shared.filterSettingsViewIconSize
13+
static let padding: CGFloat = KanvasDesign.shared.filterSettingsViewPadding
1414
static let collectionViewHeight = CameraFilterCollectionCell.minimumHeight + 10
1515
static let height: CGFloat = collectionViewHeight + padding + iconSize
1616
}
@@ -37,7 +37,7 @@ final class FilterSettingsView: IgnoreTouchesView {
3737
collectionContainer.accessibilityIdentifier = "Filter Collection Container"
3838
collectionContainer.clipsToBounds = false
3939

40-
let defaultImage = KanvasCameraDesign.shared.filterSettingsViewFiltersOffImage
40+
let defaultImage = KanvasDesign.shared.filterSettingsViewFiltersOffImage
4141
visibilityButton = UIButton()
4242
visibilityButton.accessibilityIdentifier = "Filter Visibility Button"
4343
visibilityButton.setImage(defaultImage, for: .normal)
@@ -70,12 +70,12 @@ final class FilterSettingsView: IgnoreTouchesView {
7070
let backgroundColor: UIColor
7171

7272
if shown {
73-
image = KanvasCameraDesign.shared.filterSettingsViewFiltersOnImage
74-
backgroundColor = KanvasCameraDesign.shared.filterSettingsViewButtonBackgroundInvertedColor
73+
image = KanvasDesign.shared.filterSettingsViewFiltersOnImage
74+
backgroundColor = KanvasDesign.shared.filterSettingsViewButtonBackgroundInvertedColor
7575
}
7676
else {
77-
image = KanvasCameraDesign.shared.filterSettingsViewFiltersOffImage
78-
backgroundColor = KanvasCameraDesign.shared.filterSettingsViewButtonBackgroundColor
77+
image = KanvasDesign.shared.filterSettingsViewFiltersOffImage
78+
backgroundColor = KanvasDesign.shared.filterSettingsViewButtonBackgroundColor
7979
}
8080

8181
self.visibilityButton.backgroundColor = backgroundColor
@@ -116,8 +116,8 @@ private extension FilterSettingsView {
116116
addSubview(visibilityButton)
117117
visibilityButton.translatesAutoresizingMaskIntoConstraints = false
118118

119-
if KanvasCameraDesign.shared.isBottomPicker {
120-
visibilityButton.backgroundColor = KanvasCameraDesign.shared.filterSettingsViewButtonBackgroundColor
119+
if KanvasDesign.shared.isBottomPicker {
120+
visibilityButton.backgroundColor = KanvasDesign.shared.filterSettingsViewButtonBackgroundColor
121121
visibilityButton.layer.cornerRadius = FilterSettingsViewConstants.iconSize / 2
122122
visibilityButton.layer.masksToBounds = true
123123
}

Classes/Constants/KanvasCameraColors.swift Classes/Constants/KanvasColors.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ private let backgroundColorCollection = [brightBlue,
5858

5959

6060
// The colors used throughout the module
61-
public struct KanvasCameraColors {
61+
public struct KanvasColors {
6262

63-
public static var shared: KanvasCameraColors = {
64-
return KanvasCameraColors(
63+
public static var shared: KanvasColors = {
64+
return KanvasColors(
6565
drawingDefaultColor: brightBlue,
6666
colorPickerColors: pickerColors,
6767
selectedPickerColor: selectedColor,

Classes/Constants/KanvasCameraDesign.swift Classes/Constants/KanvasDesign.swift

+9-9
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
55
//
66

7-
public struct KanvasCameraDesign {
7+
public struct KanvasDesign {
88

99
// MARK: - General
1010
public let isBottomPicker: Bool
@@ -208,13 +208,13 @@ public struct KanvasCameraDesign {
208208
self.mediaClipsCollectionCellLabelHorizontalPadding = mediaClipsCollectionCellLabelHorizontalPadding
209209
}
210210

211-
public static var shared: KanvasCameraDesign = {
211+
public static var shared: KanvasDesign = {
212212
return .original
213213
}()
214214

215215

216-
public static var original: KanvasCameraDesign = {
217-
return KanvasCameraDesign(
216+
public static var original: KanvasDesign = {
217+
return KanvasDesign(
218218
isBottomPicker: false,
219219
cameraViewButtonBackgroundColor: .clear,
220220
cameraViewButtonInvertedBackgroundColor: .clear,
@@ -257,7 +257,7 @@ public struct KanvasCameraDesign {
257257
mediaClipsCollectionControllerLeftInset: 11,
258258
mediaClipsCollectionControllerRightInset: 11,
259259
mediaClipsCollectionViewFadeOutGradientLocations: [0, 0.05, 0.9, 1.0],
260-
mediaClipsEditorViewBackgroundColor: KanvasCameraColors.shared.translucentBlack,
260+
mediaClipsEditorViewBackgroundColor: KanvasColors.shared.translucentBlack,
261261
mediaClipsEditorViewButtonLeadingMargin: 16,
262262
mediaClipsEditorViewButtonTrailingMargin: 16,
263263
mediaClipsEditorViewTopPadding: 6,
@@ -270,15 +270,15 @@ public struct KanvasCameraDesign {
270270
mediaClipsCollectionCellSelectedBorderWidth: 2.0,
271271
mediaClipsCollectionCellCornerRadius: 8,
272272
mediaClipsCollectionCellClipAlpha: 0.5,
273-
mediaClipsCollectionCellFont: KanvasCameraFonts.shared.mediaClipsFont,
273+
mediaClipsCollectionCellFont: KanvasFonts.shared.mediaClipsFont,
274274
mediaClipsCollectionCellLabelVerticalPadding: 3.5,
275275
mediaClipsCollectionCellLabelHorizontalPadding: 5.5
276276
)
277277
}()
278278

279279

280-
public static var bottomPicker: KanvasCameraDesign = {
281-
return KanvasCameraDesign(
280+
public static var bottomPicker: KanvasDesign = {
281+
return KanvasDesign(
282282
isBottomPicker: true,
283283
cameraViewButtonBackgroundColor: UIColor.black.withAlphaComponent(0.4),
284284
cameraViewButtonInvertedBackgroundColor: UIColor.white,
@@ -334,7 +334,7 @@ public struct KanvasCameraDesign {
334334
mediaClipsCollectionCellSelectedBorderWidth: 3,
335335
mediaClipsCollectionCellCornerRadius: 4,
336336
mediaClipsCollectionCellClipAlpha: 0.87,
337-
mediaClipsCollectionCellFont: KanvasCameraFonts.shared.mediaClipsSmallFont,
337+
mediaClipsCollectionCellFont: KanvasFonts.shared.mediaClipsSmallFont,
338338
mediaClipsCollectionCellLabelVerticalPadding: 4.5,
339339
mediaClipsCollectionCellLabelHorizontalPadding: 3.5
340340
)

0 commit comments

Comments
 (0)