From bd53df0aa59000cbf9945bae80d69d02dbe7d852 Mon Sep 17 00:00:00 2001 From: Gerald Schneider Date: Wed, 16 Jul 2025 20:32:36 +0200 Subject: [PATCH 1/3] added TileService --- app/src/main/AndroidManifest.xml | 13 +++++++ .../services/VoiceRecorderTileService.kt | 39 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 806e9ee1..da8cc849 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -117,6 +117,19 @@ + + + + + + + + Date: Wed, 16 Jul 2025 20:42:36 +0200 Subject: [PATCH 2/3] cleaned up imports --- .../voicerecorder/services/VoiceRecorderTileService.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt b/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt index 0e69d75e..b41a0b40 100644 --- a/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt +++ b/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt @@ -3,8 +3,6 @@ package org.fossify.voicerecorder.services import android.content.Intent import android.service.quicksettings.Tile import android.service.quicksettings.TileService -import org.fossify.commons.extensions.toast -import org.fossify.voicerecorder.R import org.fossify.voicerecorder.services.RecorderService class VoiceRecorderTileService: TileService() { @@ -18,12 +16,10 @@ class VoiceRecorderTileService: TileService() { if (!RecorderService.isRunning) { startService(this) } - toast("Start") qsTile.state = Tile.STATE_ACTIVE qsTile.label = "stop recording" } else { - toast("Stop") // RecorderService.stopRecording() if (RecorderService.isRunning) { stopService(this) From 2e75b1bc9569edd49030e604b2ffb5cbb938f2e0 Mon Sep 17 00:00:00 2001 From: Gerald Schneider Date: Thu, 17 Jul 2025 19:11:06 +0200 Subject: [PATCH 3/3] Added EventBus notification --- .../services/VoiceRecorderTileService.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt b/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt index b41a0b40..9b433159 100644 --- a/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt +++ b/app/src/main/kotlin/org/fossify/voicerecorder/services/VoiceRecorderTileService.kt @@ -3,31 +3,39 @@ package org.fossify.voicerecorder.services import android.content.Intent import android.service.quicksettings.Tile import android.service.quicksettings.TileService +import org.fossify.voicerecorder.helpers.RECORDING_RUNNING +import org.fossify.voicerecorder.helpers.RECORDING_STOPPED +import org.fossify.voicerecorder.models.Events +import org.fossify.voicerecorder.R import org.fossify.voicerecorder.services.RecorderService +import org.greenrobot.eventbus.EventBus class VoiceRecorderTileService: TileService() { + private var status = RECORDING_STOPPED + // Called when the user taps on your tile in an active or inactive state. override fun onClick() { super.onClick() Intent(this@VoiceRecorderTileService, RecorderService::class.java).apply { // try { - if (qsTile.state == Tile.STATE_INACTIVE) { - // RecorderService.startRecording() + if (status == RECORDING_STOPPED) { if (!RecorderService.isRunning) { startService(this) } qsTile.state = Tile.STATE_ACTIVE qsTile.label = "stop recording" + status = RECORDING_RUNNING } else { - // RecorderService.stopRecording() if (RecorderService.isRunning) { stopService(this) } qsTile.state = Tile.STATE_INACTIVE - qsTile.label = "start recording" + qsTile.label = getString(R.string.recording) + status = RECORDING_STOPPED } qsTile.updateTile() + EventBus.getDefault().post(Events.RecordingStatus(status)) // } catch (ignored: Exception) { // } }