Skip to content

Commit

Permalink
improve: add real time error message in the default error (SDKCF-6856)
Browse files Browse the repository at this point in the history
  • Loading branch information
Esakkiraja-Pothikannan authored Jan 22, 2024
1 parent 7cc394e commit 13c07ec
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions Sample/EventLogger/EventLoggerView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ struct EventLoggerView: View {
case custom, error1, error2
}
private let interactor: EventLogging
private let defaultErros = DefaultError()

@State private var sdkName: String = ""
@State private var sdkVersion: String = ""
Expand Down Expand Up @@ -63,15 +64,15 @@ struct EventLoggerView: View {
set: { value in
if value {
errorMessageType = .error1
errorMessage = DefaultErrors.error1
errorMessage = defaultErros.error1
}
})
let error2Enabled = Binding<Bool>(
get: { errorMessageType == .error2 },
set: { value in
if value {
errorMessageType = .error2
errorMessage = DefaultErrors.error2
errorMessage = defaultErros.error2
}
})
NavigationView {
Expand Down Expand Up @@ -201,34 +202,36 @@ extension View {
}
#endif

#Preview {
EventLoggerView(interactor: EventLoggerInteractor())
}
class DefaultError {
var error1: String = "Unbale to load realtime error"
var error2: String = "Unbale to load realtime error"

init() {
LoadError1()
loadError2()
}

enum DefaultErrors {
static var error1: String {
private func LoadError1() {
struct Error1Model: Decodable {
let name: String
let id: String
}
var errorMessage: String = "Invalid Error Message"
do {
_ = try JSONDecoder().decode(Error1Model.self, from: "{\"name\":\"EventLogger\"}".data(using: .utf8)!)
} catch {
errorMessage = error.localizedDescription
error1 = error.localizedDescription
}
return errorMessage
}

static var error2 : String {
var errorMessage: String = "Invalid Error Message"
if let data = "{\"name\":}".data(using: .utf8) {
do {
_ = try JSONSerialization.jsonObject(with: data, options: [])
} catch {
errorMessage = error.localizedDescription
}
private func loadError2() {
guard let url = URL(string: "https://sampe-eventlogger.com/sample-image") else { return }
let task = URLSession.shared.dataTask(with: url) { [weak self] _, _, error in
self?.error2 = error.debugDescription
}
return errorMessage
task.resume()
}
}

#Preview {
EventLoggerView(interactor: EventLoggerInteractor())
}

0 comments on commit 13c07ec

Please sign in to comment.