diff --git a/ParentLockScreenPlugin-iOS/Info.plist b/ParentLockScreenPlugin-iOS/Info.plist
index 6464ef6..fd850b9 100644
--- a/ParentLockScreenPlugin-iOS/Info.plist
+++ b/ParentLockScreenPlugin-iOS/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.0.2
+ 1.0.3
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
diff --git a/ParentLockScreenPlugin-iOS/ParentLockScreenPluginVC.swift b/ParentLockScreenPlugin-iOS/ParentLockScreenPluginVC.swift
index e8f14f7..3a8b6d7 100644
--- a/ParentLockScreenPlugin-iOS/ParentLockScreenPluginVC.swift
+++ b/ParentLockScreenPlugin-iOS/ParentLockScreenPluginVC.swift
@@ -17,7 +17,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
var pluginModel: ZPPluginModel?
var hookCompletion:HookCompletion?
var dataSourceModel: NSObject?
- var numberOfValidationButtons:String?
+ var numberOfValidationButtons:Int?
var isVlidated:Bool!
var generatedValues: [String]
var enterdValues: [String]
@@ -28,12 +28,14 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
let localizationDelegate: ZAAppDelegateConnectorLocalizationProtocol
let ParentLockScreenNumberLimit = 3;
let cornerRadius: CGFloat = 0.5;
+ let isFlowBlocker: Bool = true
@IBOutlet weak var backgroundImageView: UIImageView!
- @IBOutlet weak var imageView: UIImageView!
+ @IBOutlet weak var containerImageView: UIImageView!
@IBOutlet weak var closeButton: UIButton!
@IBOutlet weak var infoLabel: UILabel!
@IBOutlet weak var randomNumbersLabel: UILabel!
+ @IBOutlet weak var secondaryRandomNumbersLabel: UILabel!
@IBOutlet weak var dotsContainerView: UIView!
@IBOutlet var dotImagesCollection: [APImageView]!
@IBOutlet var numberButtonsCollection: [UIButton]!
@@ -66,7 +68,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
//MARK: - ZPScreenHookAdapterProtocol
func executeHook(presentationIndex: NSInteger, dataDict: [String : Any]?, taskFinishedWithCompletion: @escaping (Bool, NSError?, [String : Any]?) -> Void) {
- hookCompletion = taskFinishedWithCompletion
+ hookCompletion = taskFinishedWithCompletion
}
required convenience init?(pluginModel: ZPPluginModel, dataSourceModel: NSObject?) {
@@ -98,20 +100,15 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
private func setNumberButtons() {
for button in numberButtonsCollection {
+ if let backgroundImage = UIImage(named: "number_btn_not_selected_bg") {
+ button.setBackgroundImage(backgroundImage, for: .normal)
+ }
+ if let selectedBackgroundImage = UIImage(named: "number_btn_selected_bg") {
+ button.setBackgroundImage(selectedBackgroundImage, for: .highlighted)
+ }
if let pluginStyles = pluginStyles {
- if let backgroundImage = UIImage(named: "Number_btn_not_selected_bg") {
- button.setBackgroundImage(backgroundImage, for: .normal)
- if let selectedBackgroundImage = UIImage(named: "Number_btn_selected_bg") {
- button.setBackgroundImage(selectedBackgroundImage, for: .highlighted)
- }
- } else {
- button.layer.cornerRadius = cornerRadius * button.bounds.size.width
- button.clipsToBounds = true
- button.layer.borderWidth = 2
- button.layer.borderColor = StylesHelper.getColorForKey(key: "number_buttons_selected_background_color", from: pluginStyles).cgColor
- }
StylesHelper.setColorforButton(button: button, key: "number_color", from: pluginStyles, for: .normal)
- StylesHelper.setColorforButton(button: button, key: "number_color_pressed", from: pluginStyles, for: UIControl.State.highlighted)
+ StylesHelper.setColorforButton(button: button, key: "number_color_pressed", from: pluginStyles, for: .highlighted)
StylesHelper.setFontforButton(button: button, fontNameKey: "font", fontSizeKey: "number_font_size", from: pluginStyles)
}
if let buttonNumber = numberButtonsCollection.firstIndex(of: button) {
@@ -127,20 +124,22 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
setIndicatorsToMainColor()
setNumberButtons()
setInfoLabel()
+ let containerBackgroundImageName = (numberOfValidationDigitsToPresent() == 3) ? "background_image_1_3" : "background_image_1_9"
+ if let containerBackgroundImage = UIImage(named: containerBackgroundImageName) {
+ self.containerImageView.image = containerBackgroundImage
+ }
+ if let parentLockscreenBackgroundImage = UIImage(named: "parent_lock_background_image_736h") {
+ self.backgroundImageView.image = parentLockscreenBackgroundImage
+ }
if let pluginGeneralSettings = pluginGeneralSettings {
- if let screenBackgroundImage = StylesHelper.image(for: "container_background_image", using: pluginGeneralSettings) {
- self.imageView.image = screenBackgroundImage
- }
let screenBackgroundColor = StylesHelper.getColorForKey(key: "background_color", from: pluginGeneralSettings)
self.backgroundImageView.backgroundColor = screenBackgroundColor
}
}
private func setCloseButtonImage() {
- if let pluginGeneralSettings = pluginGeneralSettings {
- if let closeButtonImage = StylesHelper.image(for: "close_button", using: pluginGeneralSettings) {
- closeButton.setImage(closeButtonImage, for: .normal)
- }
+ if let closeButtonImage = UIImage(named: "close_button") {
+ closeButton.setImage(closeButtonImage, for: .normal)
}
}
@@ -153,41 +152,57 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
}
private func numberOfValidationDigitsToPresent() -> Int {
- let defaultNumberOfValidationDigits = 3;
- var validationDigits:Int = 3;
- if let pluginGeneralSettings = pluginGeneralSettings,
- let numberOfValidationButtons = pluginGeneralSettings["validation_flow_type"] as? String {
- validationDigits = Int(numberOfValidationButtons) ?? defaultNumberOfValidationDigits
+ var retVal:Int = 3;
+ if let numberOfValidationButtons = numberOfValidationButtons {
+ return numberOfValidationButtons
+ } else {
+ if let pluginGeneralSettings = pluginGeneralSettings,
+ let ValidationButtonsNumberString = pluginGeneralSettings["validation_flow_type"] as? String {
+ self.numberOfValidationButtons = Int(ValidationButtonsNumberString) ?? 3
+ retVal = self.numberOfValidationButtons!
+ }
}
- return validationDigits
+ return retVal
}
private func generateValues() {
var generatedValuesLocalizedArray = [String]()
+ var nonLocalizedGeneratedValues = [String]()
for _ in 1...ParentLockScreenNumberLimit {
let generatedValue = String(Int.random(in: 1 ... numberOfValidationDigitsToPresent()))
generatedValues.append(generatedValue)
if let stringGeneratedValue = NumbersDictionary[generatedValue] {
+ nonLocalizedGeneratedValues.append(stringGeneratedValue)
let stringGeneratedValueKey = "Number\(stringGeneratedValue)"
if let localizedValue = self.localizationDelegate.localizationString(byKey: stringGeneratedValueKey, defaultString: stringGeneratedValue) {
generatedValuesLocalizedArray.append(localizedValue)
}
}
}
- //set text font font size size and color
+ //set font, size and color
randomNumbersLabel.text = generatedValuesLocalizedArray.joined(separator: ", ")
StylesHelper.setColorforLabel(label: randomNumbersLabel, key: "random_numbers_color", from: pluginStyles)
StylesHelper.setFontforLabel(label: randomNumbersLabel, fontNameKey: "font", fontSizeKey: "random_numbers_font_size", from: pluginStyles)
+ let localizationLanguage = APApplicasterController.sharedInstance()?.localizationLanguage
+ if localizationLanguage == "en" || localizationLanguage == "en-GB" || localizationLanguage == "en-UK"{
+ secondaryRandomNumbersLabel.isHidden = true
+ } else {
+ //set font, size and color
+ secondaryRandomNumbersLabel.text = nonLocalizedGeneratedValues.joined(separator: ", ")
+ StylesHelper.setColorforLabel(label: secondaryRandomNumbersLabel, key: "secondary_random_numbers_color", from: pluginStyles)
+ StylesHelper.setFontforLabel(label: secondaryRandomNumbersLabel, fontNameKey: "font", fontSizeKey: "secondary_random_numbers_font_size", from: pluginStyles)
+ }
}
@IBAction func handleUserPushCloseButton(_ sender: UIButton) {
- closeScreenPlugin()
+ closeScreenPlugin(with: false)
}
- private func closeScreenPlugin() {
-// self.willMove(toParent: nil)
-// self.view.removeAllSubviews()
-// self.removeFromParent()
+ private func closeScreenPlugin(with success:Bool) {
+ if let hookCompletion = self.hookCompletion {
+ let error = success ? nil : NSError(domain: "User has closed hook execution failed", code: 0, userInfo: nil)
+ hookCompletion(success, error, nil)
+ }
if let screenPluginDelegate = self.screenPluginDelegate {
screenPluginDelegate.removeScreenPluginFromNavigationStack()
}
@@ -200,10 +215,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
if enterdValues.count == ParentLockScreenNumberLimit {
if enterdValues == generatedValues {
self.isVlidated = true
- closeScreenPlugin()
- if let hookCompletion = self.hookCompletion {
- hookCompletion(true,nil,nil)
- }
+ closeScreenPlugin(with: true)
} else {
generatedValues.removeAll()
generateValues()
@@ -217,7 +229,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
private func clearValidationIndicators() {
if let pluginGeneralSettings = pluginGeneralSettings {
for dot in dotImagesCollection {
- dot.backgroundColor = StylesHelper.getColorForKey(key: "indicator_main_color", from: pluginGeneralSettings)
+ dot.backgroundColor = StylesHelper.getColorForKey(key: "indicator_normal", from: pluginGeneralSettings)
}
}
}
@@ -227,7 +239,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
dot.layer.cornerRadius = cornerRadius * dot.bounds.size.width
dot.clipsToBounds = true
dot.layer.borderWidth = 1
- dot.layer.borderColor = StylesHelper.getColorForKey(key: "number_buttons_selected_background_color", from: pluginStyles).cgColor
+ dot.layer.borderColor = StylesHelper.getColorForKey(key: "indicator_highlighted", from: pluginStyles).cgColor
}
clearValidationIndicators()
}
@@ -235,7 +247,7 @@ class ParentLockScreenPluginVC: UIViewController,ZPPluggableScreenProtocol,ZPScr
private func updateIndicatorAtIndex(index:Int) {
if let pluginGeneralSettings = pluginGeneralSettings {
let dot = self.dotImagesCollection[index]
- dot.backgroundColor = StylesHelper.getColorForKey(key: "indicator_secondary_color", from: pluginGeneralSettings)
+ dot.backgroundColor = StylesHelper.getColorForKey(key: "indicator_highlighted", from: pluginGeneralSettings)
}
}
}
diff --git a/ParentLockScreenPlugin.podspec b/ParentLockScreenPlugin.podspec
index f7f2eed..ebcb06e 100644
--- a/ParentLockScreenPlugin.podspec
+++ b/ParentLockScreenPlugin.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "ParentLockScreenPlugin"
- s.version = '1.0.2'
+ s.version = '1.0.3'
s.summary = "ParentLockScreenPlugin"
s.description = <<-DESC
plugin that provides a parent Validation before entering a specific area.
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.resources = [
- "**/*.{png,xib}"
+ "Resources/*.{png,xib}"
]
s.xcconfig = {
diff --git a/Resources/ParentLockScreenPluginVC.xib b/Resources/ParentLockScreenPluginVC.xib
index b3e86c4..6549c3c 100644
--- a/Resources/ParentLockScreenPluginVC.xib
+++ b/Resources/ParentLockScreenPluginVC.xib
@@ -13,11 +13,12 @@
+
-
+
@@ -46,10 +47,10 @@
-
-
+
+
-