Skip to content

Commit

Permalink
feat: update to SDK v4.2.0
Browse files Browse the repository at this point in the history
- Display region results dynamically
  • Loading branch information
ricardocolombo committed Apr 5, 2024
1 parent 0f654de commit c0d854f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 83 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,6 @@
"version" : "5.8.1"
}
},
{
"identity" : "anyline-tiretread-spm-module",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Anyline/anyline-tiretread-spm-module",
"state" : {
"revision" : "4102dcc7baf7fe03d6ab615a2d849e5b11e0f027",
"version" : "4.1.0"
}
},
{
"identity" : "keychain-swift",
"kind" : "remoteSourceControl",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,6 @@ class ResultViewController: UIViewController {
return view
}()

// MARK: - Private Properties
private var topTireTreadValue: String?
private var leftTireTreadValue: String?
private var middleTireTreadValue: String?
private var rightTireTreadValue: String?

// MARK: - Public Properties
var measurementResult: TreadDepthResult
var uuid: String
Expand All @@ -30,7 +24,6 @@ class ResultViewController: UIViewController {
self.measurementResult = measurementResult

super.init(nibName: nil, bundle: nil)
setTireTreadValues()
}

required init?(coder: NSCoder) {
Expand All @@ -53,18 +46,18 @@ private extension ResultViewController {

func configureView() {
self.view.backgroundColor = ColorStruct.snowWhite

resultView.UUIDLabel.text = "Scan ID: \(self.uuid)"

let label = resultView.UUIDLabel

// add tap-to-copy-to-clipboard
label.isUserInteractionEnabled = true
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(labelTapped))
tapGesture.numberOfTapsRequired = 1
label.addGestureRecognizer(tapGesture)
}

@objc func labelTapped() {
if resultView.UUIDLabel.text != nil {
// Copy the label's text to the clipboard
Expand Down Expand Up @@ -97,37 +90,41 @@ private extension ResultViewController {
}
}

func setTireTreadValues() {
func setupMeasurements() {

// TreadDepths can be retrieved in the 'measurementResult.global' and 'measurementResult.regions' properties.
// more information about the measurement can be retrieved in 'measurementResult.measurement' property.

let useImperial = UserDefaultsManager.shared.imperialSystem

topTireTreadValue = String(useImperial ? Double(measurementResult.global.valueInch32nds) : measurementResult.global.valueMm)

if measurementResult.regions[0].isAvailable {
leftTireTreadValue = String(useImperial ?
Double(measurementResult.regions[0].valueInch32nds) : measurementResult.regions[0].valueMm)
}

if measurementResult.regions[1].isAvailable {
middleTireTreadValue = String(useImperial ?
Double(measurementResult.regions[1].valueInch32nds) : measurementResult.regions[1].valueMm)
}

if measurementResult.regions[2].isAvailable {
rightTireTreadValue = String(useImperial ?
Double(measurementResult.regions[2].valueInch32nds) : measurementResult.regions[2].valueMm)

// Display the Global Result
let globalResult = String(useImperial ? Double(measurementResult.global.valueInch32nds) : measurementResult.global.valueMm)
self.resultView.tireTreadMeasurementView.globalMeasurementView.measurementValue = globalResult

// Display the Regions
if(measurementResult.regions.count > 0) {
self.resultView.tireTreadMeasurementView.bottomTireTreadMeasurementHStackView.spacing = 180 / CGFloat(measurementResult.regions.count)

// Display the Region Results dynamically, from left to right.
for region in measurementResult.regions {

let measurementView = MeasurementView(location: .regional)
if(region.isAvailable){
measurementView.measurementValue = String(useImperial ? Double(region.valueInch32nds) : region.valueMm)
}
else {
measurementView.measurementValue = nil
}

self.resultView.tireTreadMeasurementView.bottomTireTreadMeasurementHStackView.addArrangedSubview(measurementView)

measurementView.snp.makeConstraints { make in
make.width.equalTo(resultView.tireTreadMeasurementView.globalMeasurementView).multipliedBy(0.8)
make.height.equalTo(resultView.tireTreadMeasurementView.globalMeasurementView).multipliedBy(0.8)
}
}
}
}

func setupMeasurements() {
self.resultView.tireTreadMeasurementView.topMeasurementView.measurementValue = self.topTireTreadValue
self.resultView.tireTreadMeasurementView.leftMeasurementView.measurementValue = self.leftTireTreadValue
self.resultView.tireTreadMeasurementView.middleMeasurementView.measurementValue = self.middleTireTreadValue
self.resultView.tireTreadMeasurementView.rightMeasurementView.measurementValue = self.rightTireTreadValue
}
}

// MARK: - SettingsButtonActionsDelegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class MeasurementView: UIView {
let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .center
stackView.distribution = .fillProportionally
stackView.distribution = .fillEqually
stackView.spacing = UserDefaultsManager.shared.imperialSystem ? 0 : -15
return stackView
}()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import UIKit
class TireTreadMeasurementView: UIView {

// MARK: - UI properties
lazy var topMeasurementView: MeasurementView = {
lazy var globalMeasurementView: MeasurementView = {
var view = MeasurementView()
return view
}()
Expand All @@ -15,27 +15,11 @@ class TireTreadMeasurementView: UIView {
return imageView
}()

lazy var leftMeasurementView: MeasurementView = {
var view = MeasurementView(location: .regional)
return view
}()

lazy var middleMeasurementView: MeasurementView = {
var view = MeasurementView(location: .regional)
return view
}()

lazy var rightMeasurementView: MeasurementView = {
var view = MeasurementView(location: .regional)
return view
}()

private lazy var bottomTireTreadMeasurementHStackView: UIStackView = {
lazy var bottomTireTreadMeasurementHStackView: UIStackView = {
let stackView = UIStackView()
stackView.axis = .horizontal
stackView.alignment = .center
stackView.distribution = .fillProportionally
stackView.spacing = 60
stackView.distribution = .equalCentering
return stackView
}()

Expand Down Expand Up @@ -77,12 +61,9 @@ private extension TireTreadMeasurementView {

func addSubviews() {
self.addSubview(contentVStackView)
self.contentVStackView.addArrangedSubview(topMeasurementView)
self.contentVStackView.addArrangedSubview(globalMeasurementView)
self.contentVStackView.addArrangedSubview(tireImageView)
self.contentVStackView.addArrangedSubview(bottomTireTreadMeasurementHStackView)
self.bottomTireTreadMeasurementHStackView.addArrangedSubview(leftMeasurementView)
self.bottomTireTreadMeasurementHStackView.addArrangedSubview(middleMeasurementView)
self.bottomTireTreadMeasurementHStackView.addArrangedSubview(rightMeasurementView)
}

func setupLayout() {
Expand All @@ -98,21 +79,6 @@ private extension TireTreadMeasurementView {
make.width.equalTo(450)
make.height.equalTo(150)
}

self.leftMeasurementView.snp.makeConstraints { make in
make.width.equalTo(self.topMeasurementView).multipliedBy(0.8)
make.height.equalTo(self.topMeasurementView).multipliedBy(0.8)
}

self.rightMeasurementView.snp.makeConstraints { make in
make.width.equalTo(self.topMeasurementView).multipliedBy(0.8)
make.height.equalTo(self.topMeasurementView).multipliedBy(0.8)
}

self.middleMeasurementView.snp.makeConstraints { make in
make.width.equalTo(self.topMeasurementView).multipliedBy(0.8)
make.height.equalTo(self.topMeasurementView).multipliedBy(0.8)
}
}
}

0 comments on commit c0d854f

Please sign in to comment.