From d3c4e7e8bd05280eb301cd27b2589dbba9612699 Mon Sep 17 00:00:00 2001 From: CarterChen247 Date: Thu, 28 Nov 2024 16:10:37 +0800 Subject: [PATCH] refactor: add PrettyFormatter to print more readable message --- .../alarmscheduler/demo/DemoAlarmTask.kt | 16 +++++++--------- .../alarmscheduler/demo/MainPresenter.kt | 2 +- .../alarmscheduler/demo/PrettyFormatter.kt | 12 ++++++++++++ 3 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/com/carterchen247/alarmscheduler/demo/PrettyFormatter.kt diff --git a/app/src/main/java/com/carterchen247/alarmscheduler/demo/DemoAlarmTask.kt b/app/src/main/java/com/carterchen247/alarmscheduler/demo/DemoAlarmTask.kt index 126266e..40d9328 100644 --- a/app/src/main/java/com/carterchen247/alarmscheduler/demo/DemoAlarmTask.kt +++ b/app/src/main/java/com/carterchen247/alarmscheduler/demo/DemoAlarmTask.kt @@ -3,7 +3,6 @@ package com.carterchen247.alarmscheduler.demo import com.carterchen247.alarmscheduler.demo.log.MessageDispatcher import com.carterchen247.alarmscheduler.model.DataPayload import com.carterchen247.alarmscheduler.task.AlarmTask -import com.google.gson.GsonBuilder class DemoAlarmTask : AlarmTask { @@ -12,13 +11,12 @@ class DemoAlarmTask : AlarmTask { } override fun onAlarmFires(alarmId: Int, dataPayload: DataPayload) { - val msg = """ - onAlarmFires callback was triggered. - alarmId=$alarmId - dataPayload= - """.trimIndent() - - val dataPayloadString = GsonBuilder().setPrettyPrinting().create().toJson(dataPayload) - MessageDispatcher.dispatchMessage(msg + dataPayloadString) + val map = buildMap { + put("alarmId", alarmId) + put("alarmType", TYPE) + put("dataPayload", dataPayload) + } + val msg = """Alarm triggered = ${PrettyFormatter.format(map)}""".trimIndent() + MessageDispatcher.dispatchMessage(msg) } } diff --git a/app/src/main/java/com/carterchen247/alarmscheduler/demo/MainPresenter.kt b/app/src/main/java/com/carterchen247/alarmscheduler/demo/MainPresenter.kt index 1e315b2..d962068 100644 --- a/app/src/main/java/com/carterchen247/alarmscheduler/demo/MainPresenter.kt +++ b/app/src/main/java/com/carterchen247/alarmscheduler/demo/MainPresenter.kt @@ -49,7 +49,7 @@ class MainPresenter( fun requestScheduledAlarmsInfo() { AlarmScheduler.getScheduledAlarmsAsync { scheduledAlarms -> - val msg = "Scheduled alarms = $scheduledAlarms" + val msg = "Scheduled alarms = ${PrettyFormatter.format(scheduledAlarms)}" val now = LocalDateTime.now() view.addListItem(ListItem(msg, now.toString())) } diff --git a/app/src/main/java/com/carterchen247/alarmscheduler/demo/PrettyFormatter.kt b/app/src/main/java/com/carterchen247/alarmscheduler/demo/PrettyFormatter.kt new file mode 100644 index 0000000..0238700 --- /dev/null +++ b/app/src/main/java/com/carterchen247/alarmscheduler/demo/PrettyFormatter.kt @@ -0,0 +1,12 @@ +package com.carterchen247.alarmscheduler.demo + +import com.google.gson.GsonBuilder + +object PrettyFormatter { + + private val gson by lazy { GsonBuilder().setPrettyPrinting().create() } + + fun format(obj: Any): String { + return gson.toJson(obj) + } +} \ No newline at end of file