@@ -50,25 +50,30 @@ private var sharedInstance: UserReport?
50
50
public static let sdkVersion = Bundle ( for: UserReport . self) . infoDictionary ? [ " CFBundleShortVersionString " ] as! String
51
51
52
52
/// Survey view display style. Default `.alert`
53
- @objc public var displayMode : DisplayMode = . alert
53
+ @objc public class func setDisplayMode( _ displayMode : DisplayMode ) {
54
+ UserReport . shared? . displayMode = displayMode
55
+ }
56
+ @objc public private( set) var displayMode : DisplayMode = . alert
54
57
55
58
/// Level of messages printing to the console. Default `.debug`
56
- public var logLevel : LogLevel {
57
- set { self . logger. level = newValue }
58
- get { return self . logger. level }
59
+ public class var logLevel : LogLevel {
60
+ set { UserReport . shared ? . logger. level = newValue }
61
+ get { return UserReport . shared ? . logger. level ?? . debug }
59
62
}
60
63
61
64
/**
62
65
* Flag for testing the display of the survey view.
63
66
* The server will return data about the survey each time, otherwise they will set up the default settings.
64
67
* Default `false`
65
68
*/
66
- @objc public var testMode : Bool = false {
67
- didSet {
68
- self . network. testMode = self . testMode
69
- self . logger. log ( " Test mode: \( self . testMode ? " On " : " Off " ) " , level: . debug)
69
+ @objc public class var testMode : Bool {
70
+ set {
71
+ UserReport . shared ? . network. testMode = newValue
72
+ UserReport . shared ? . logger. log ( " Test mode: \( self . testMode ? " On " : " Off " ) " , level: . debug)
70
73
}
71
- }
74
+ get { return UserReport . shared? . testMode ?? false }
75
+ }
76
+ @objc private var testMode : Bool = false
72
77
73
78
/**
74
79
* Mute display of the survey.
@@ -77,15 +82,23 @@ private var sharedInstance: UserReport?
77
82
*
78
83
* - Note: Don't forget to return back to `false`
79
84
*/
80
- @objc public var mute : Bool = false
85
+ @objc public class var mute : Bool {
86
+ set { UserReport . shared? . mute = newValue }
87
+ get { return UserReport . shared? . mute ?? false }
88
+ }
89
+ @objc private var mute : Bool = false
81
90
82
91
/// Returns whether the survey is displayed on the screen
83
- @objc public var isSurveyShown : Bool {
84
- get { return self . surveyStatus == . surveyShown }
92
+ @objc public class var isSurveyShown : Bool {
93
+ get { return UserReport . shared ? . surveyStatus == . surveyShown }
85
94
}
86
95
87
96
/// Session data about count of screens viewed and the time the application is used
88
- @objc public var session : Session !
97
+ @objc public class var session : Session ? {
98
+ set { UserReport . shared? . session = newValue }
99
+ get { return UserReport . shared? . session }
100
+ }
101
+ @objc private var session : Session !
89
102
90
103
// MARK: private
91
104
private var logger : Logger !
@@ -159,7 +172,10 @@ private var sharedInstance: UserReport?
159
172
*
160
173
* - parameter user: User with new data
161
174
*/
162
- @objc public func updateUser( _ user: User ) {
175
+ @objc public class func updateUser( _ user: User ) {
176
+ UserReport . shared? . updateUser ( user)
177
+ }
178
+ @objc private func updateUser( _ user: User ) {
163
179
self . info. user = user
164
180
}
165
181
@@ -168,7 +184,10 @@ private var sharedInstance: UserReport?
168
184
*
169
185
* - parameter settings: New settings
170
186
*/
171
- @objc public func updateSettings( _ settings: Settings ) {
187
+ @objc public class func updateSettings( _ settings: Settings ) {
188
+ UserReport . shared? . session. updateSettings ( settings)
189
+ }
190
+ @objc private func updateSettings( _ settings: Settings ) {
172
191
self . session. updateSettings ( settings)
173
192
}
174
193
0 commit comments