Skip to content

Commit 73df801

Browse files
authored
Classify service HUD message severities
- Add explicit MessageSeverity arguments to ServiceMessageHUD call sites - Classify success, warning, error, and informational service messages consistently - Preserve existing message text, durations, and message types ?? Auto-generated
1 parent 20ee669 commit 73df801

17 files changed

Lines changed: 117 additions & 56 deletions

app/src/main/java/com/enaboapps/switchify/backend/iap/IAPHandler.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.enaboapps.switchify.BuildConfig
66
import com.enaboapps.switchify.R
77
import com.enaboapps.switchify.service.utils.DeviceLockObserver
88
import com.enaboapps.switchify.service.utils.ServiceUtils
9+
import com.enaboapps.switchify.service.window.MessageSeverity
910
import com.enaboapps.switchify.service.window.ServiceMessageHUD
1011
import com.enaboapps.switchify.utils.LogEvent
1112
import com.enaboapps.switchify.utils.Logger
@@ -368,7 +369,8 @@ object IAPHandler {
368369
} else {
369370
ServiceMessageHUD.instance.showMessage(
370371
R.string.pro_feature_message,
371-
ServiceMessageHUD.MessageType.DISAPPEARING
372+
ServiceMessageHUD.MessageType.DISAPPEARING,
373+
severity = MessageSeverity.Info
372374
)
373375
ServiceUtils().openProUpgrade(context)
374376
}

app/src/main/java/com/enaboapps/switchify/service/camera/CameraForegroundService.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import androidx.lifecycle.LifecycleOwner
3131
import androidx.lifecycle.Observer
3232
import com.enaboapps.switchify.R
3333
import com.enaboapps.switchify.service.face.FaceProcessingService
34+
import com.enaboapps.switchify.service.window.MessageSeverity
3435
import com.enaboapps.switchify.service.window.ServiceMessageHUD
3536
import com.enaboapps.switchify.utils.LogEvent
3637
import com.enaboapps.switchify.utils.Logger
@@ -438,7 +439,8 @@ class CameraForegroundService : Service(), CameraLifecycle {
438439
retryJob = null
439440
ServiceMessageHUD.instance.showMessage(
440441
R.string.hud_camera_recovered,
441-
ServiceMessageHUD.MessageType.DISAPPEARING
442+
ServiceMessageHUD.MessageType.DISAPPEARING,
443+
severity = MessageSeverity.Success
442444
)
443445

444446
} catch (e: Exception) {
@@ -481,7 +483,8 @@ class CameraForegroundService : Service(), CameraLifecycle {
481483
if (!isPausedForConflict) {
482484
ServiceMessageHUD.instance.showMessage(
483485
R.string.hud_camera_unavailable_external_app,
484-
ServiceMessageHUD.MessageType.DISAPPEARING
486+
ServiceMessageHUD.MessageType.DISAPPEARING,
487+
severity = MessageSeverity.Warning
485488
)
486489
pauseProcessing()
487490
scheduleRetry()
@@ -491,7 +494,8 @@ class CameraForegroundService : Service(), CameraLifecycle {
491494
private fun onCameraFatal() {
492495
ServiceMessageHUD.instance.showMessage(
493496
R.string.hud_camera_access_error,
494-
ServiceMessageHUD.MessageType.DISAPPEARING
497+
ServiceMessageHUD.MessageType.DISAPPEARING,
498+
severity = MessageSeverity.Error
495499
)
496500
pauseProcessing()
497501
}

app/src/main/java/com/enaboapps/switchify/service/gestures/AutoScrollManager.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.content.Context
44
import com.enaboapps.switchify.R
55
import com.enaboapps.switchify.backend.preferences.PreferenceManager
66
import com.enaboapps.switchify.service.gestures.data.GestureData
7+
import com.enaboapps.switchify.service.window.MessageSeverity
78
import com.enaboapps.switchify.service.window.ServiceMessageHUD
89
import kotlinx.coroutines.CoroutineScope
910
import kotlinx.coroutines.Dispatchers
@@ -68,7 +69,8 @@ class AutoScrollManager private constructor() {
6869
if (GestureLockManager.instance.isLocked()) return false
6970
ServiceMessageHUD.instance.showMessage(
7071
R.string.hud_auto_scroll_started,
71-
ServiceMessageHUD.MessageType.DISAPPEARING
72+
ServiceMessageHUD.MessageType.DISAPPEARING,
73+
severity = MessageSeverity.Success
7274
)
7375
isAutoScrolling = true
7476
scrollJob = scope.launch {
@@ -93,7 +95,8 @@ class AutoScrollManager private constructor() {
9395
isAutoScrolling = false
9496
ServiceMessageHUD.instance.showMessage(
9597
R.string.hud_auto_scroll_stopped,
96-
ServiceMessageHUD.MessageType.DISAPPEARING
98+
ServiceMessageHUD.MessageType.DISAPPEARING,
99+
severity = MessageSeverity.Info
97100
)
98101
return true
99102
}
@@ -108,4 +111,4 @@ class AutoScrollManager private constructor() {
108111
fun isAutoScrolling(): Boolean {
109112
return isAutoScrolling
110113
}
111-
}
114+
}

app/src/main/java/com/enaboapps/switchify/service/gestures/GestureLockManager.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.enaboapps.switchify.service.gestures
33
import android.accessibilityservice.AccessibilityService
44
import com.enaboapps.switchify.R
55
import com.enaboapps.switchify.service.gestures.data.GestureData
6+
import com.enaboapps.switchify.service.window.MessageSeverity
67
import com.enaboapps.switchify.service.window.ServiceMessageHUD
78
import java.util.Timer
89
import java.util.TimerTask
@@ -30,12 +31,14 @@ class GestureLockManager private constructor() {
3031
if (isLocked) {
3132
ServiceMessageHUD.instance.showMessage(
3233
R.string.gesture_lock_enabled,
33-
ServiceMessageHUD.MessageType.DISAPPEARING
34+
ServiceMessageHUD.MessageType.DISAPPEARING,
35+
severity = MessageSeverity.Info
3436
)
3537
} else {
3638
ServiceMessageHUD.instance.showMessage(
3739
R.string.gesture_lock_disabled,
38-
ServiceMessageHUD.MessageType.DISAPPEARING
40+
ServiceMessageHUD.MessageType.DISAPPEARING,
41+
severity = MessageSeverity.Info
3942
)
4043

4144
// Clear the locked gesture data
@@ -108,7 +111,8 @@ class GestureLockManager private constructor() {
108111
setLockedGestureData(null)
109112
ServiceMessageHUD.instance.showMessage(
110113
R.string.gesture_lock_timeout_disabled,
111-
ServiceMessageHUD.MessageType.DISAPPEARING
114+
ServiceMessageHUD.MessageType.DISAPPEARING,
115+
severity = MessageSeverity.Warning
112116
)
113117
}
114118
}, lockTimeout)

app/src/main/java/com/enaboapps/switchify/service/gestures/GesturePatternRecorder.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.util.Log
55
import com.enaboapps.switchify.R
66
import com.enaboapps.switchify.service.gestures.data.GestureData
77
import com.enaboapps.switchify.service.gestures.patterns.store.GesturePatternStore
8+
import com.enaboapps.switchify.service.window.MessageSeverity
89
import com.enaboapps.switchify.service.window.ServiceMessageHUD
910
import kotlinx.coroutines.CoroutineScope
1011
import kotlinx.coroutines.Dispatchers
@@ -46,7 +47,8 @@ object GesturePatternRecorder {
4647

4748
ServiceMessageHUD.instance.showMessage(
4849
R.string.started_recording,
49-
ServiceMessageHUD.MessageType.DISAPPEARING
50+
ServiceMessageHUD.MessageType.DISAPPEARING,
51+
severity = MessageSeverity.Info
5052
)
5153

5254
Log.i(TAG, "Started recording new gesture pattern")
@@ -79,7 +81,8 @@ object GesturePatternRecorder {
7981

8082
ServiceMessageHUD.instance.showMessage(
8183
R.string.saved_gesture_pattern,
82-
ServiceMessageHUD.MessageType.DISAPPEARING
84+
ServiceMessageHUD.MessageType.DISAPPEARING,
85+
severity = MessageSeverity.Success
8386
)
8487
}
8588
}
@@ -93,7 +96,8 @@ object GesturePatternRecorder {
9396
isRecording = false
9497
ServiceMessageHUD.instance.showMessage(
9598
R.string.recording_canceled,
96-
ServiceMessageHUD.MessageType.DISAPPEARING
99+
ServiceMessageHUD.MessageType.DISAPPEARING,
100+
severity = MessageSeverity.Warning
97101
)
98102
}
99103
}
@@ -140,4 +144,4 @@ object GesturePatternRecorder {
140144
recordedGestures.clear()
141145
Log.i(TAG, "Cleared recorded gestures")
142146
}
143-
}
147+
}

app/src/main/java/com/enaboapps/switchify/service/gestures/LinearGesturePerformer.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.enaboapps.switchify.service.gestures.placement.FingerModePreferences
1515
import com.enaboapps.switchify.service.gestures.placement.FingerPlacementAlgorithm
1616
import com.enaboapps.switchify.service.gestures.visuals.GestureVisualManager
1717
import com.enaboapps.switchify.service.utils.ScreenUtils
18+
import com.enaboapps.switchify.service.window.MessageSeverity
1819
import com.enaboapps.switchify.service.window.ServiceMessageHUD
1920

2021
/**
@@ -371,7 +372,8 @@ class LinearGesturePerformer(
371372
}
372373
ServiceMessageHUD.instance.showMessage(
373374
messageResId,
374-
ServiceMessageHUD.MessageType.DISAPPEARING
375+
ServiceMessageHUD.MessageType.DISAPPEARING,
376+
severity = MessageSeverity.Info
375377
)
376378
}
377379

app/src/main/java/com/enaboapps/switchify/service/gestures/patterns/GesturePatternExecutor.kt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.enaboapps.switchify.R
66
import com.enaboapps.switchify.backend.preferences.PreferenceManager
77
import com.enaboapps.switchify.service.gestures.GestureLockManager
88
import com.enaboapps.switchify.service.gestures.patterns.model.GesturePattern
9+
import com.enaboapps.switchify.service.window.MessageSeverity
910
import com.enaboapps.switchify.service.window.ServiceMessageHUD
1011
import com.enaboapps.switchify.utils.LogEvent
1112
import com.enaboapps.switchify.utils.Logger
@@ -85,7 +86,8 @@ class GesturePatternExecutor(
8586
// Show initial message
8687
ServiceMessageHUD.instance.showMessage(
8788
R.string.hud_gesture_pattern_manual_mode_started,
88-
ServiceMessageHUD.MessageType.DISAPPEARING
89+
ServiceMessageHUD.MessageType.DISAPPEARING,
90+
severity = MessageSeverity.Info
8991
)
9092

9193
// Execute first step immediately
@@ -122,7 +124,8 @@ class GesturePatternExecutor(
122124
ServiceMessageHUD.instance.showMessage(
123125
R.string.hud_gesture_pattern_step_completed,
124126
arrayOf(stepIndex + 1, gesturePattern.gestures.size, remaining),
125-
ServiceMessageHUD.MessageType.PERMANENT
127+
ServiceMessageHUD.MessageType.PERMANENT,
128+
severity = MessageSeverity.Success
126129
)
127130
} else {
128131
// Last step completed, finish the pattern
@@ -145,7 +148,8 @@ class GesturePatternExecutor(
145148
// Show user-facing error message
146149
ServiceMessageHUD.instance.showMessage(
147150
R.string.hud_gesture_pattern_error,
148-
ServiceMessageHUD.MessageType.DISAPPEARING
151+
ServiceMessageHUD.MessageType.DISAPPEARING,
152+
severity = MessageSeverity.Error
149153
)
150154

151155
cleanup()
@@ -183,7 +187,8 @@ class GesturePatternExecutor(
183187
)
184188
ServiceMessageHUD.instance.showMessage(
185189
R.string.hud_gesture_pattern_completed,
186-
ServiceMessageHUD.MessageType.DISAPPEARING
190+
ServiceMessageHUD.MessageType.DISAPPEARING,
191+
severity = MessageSeverity.Success
187192
)
188193
cleanup()
189194
}
@@ -195,7 +200,8 @@ class GesturePatternExecutor(
195200
executionJob?.cancel()
196201
ServiceMessageHUD.instance.showMessage(
197202
R.string.hud_gesture_pattern_stopped,
198-
ServiceMessageHUD.MessageType.DISAPPEARING
203+
ServiceMessageHUD.MessageType.DISAPPEARING,
204+
severity = MessageSeverity.Warning
199205
)
200206
cleanup()
201207
return true
@@ -205,7 +211,8 @@ class GesturePatternExecutor(
205211
if (isManualMode && currentStepIndex.get() >= 0 && currentStepIndex.get() < gesturePattern.gestures.size) {
206212
ServiceMessageHUD.instance.showMessage(
207213
R.string.hud_gesture_pattern_stopped,
208-
ServiceMessageHUD.MessageType.DISAPPEARING
214+
ServiceMessageHUD.MessageType.DISAPPEARING,
215+
severity = MessageSeverity.Warning
209216
)
210217
cleanup()
211218
return true

app/src/main/java/com/enaboapps/switchify/service/llm/ReplyDrafterManager.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@ object ReplyDrafterManager {
2727
R.string.reply_drafter_unsupported_os,
2828
ServiceMessageHUD.MessageType.DISAPPEARING,
2929
ServiceMessageHUD.Time.MEDIUM,
30-
MessageSeverity.Error
30+
severity = MessageSeverity.Error
3131
)
3232
return
3333
}
3434

3535
ServiceMessageHUD.instance.showMessage(
3636
R.string.reply_drafter_starting,
3737
ServiceMessageHUD.MessageType.DISAPPEARING,
38-
ServiceMessageHUD.Time.SHORT
38+
ServiceMessageHUD.Time.SHORT,
39+
severity = MessageSeverity.Info
3940
)
4041

4142
ScreenshotManager.takeScreenshotWithDelay(
@@ -64,7 +65,7 @@ object ReplyDrafterManager {
6465
R.string.reply_drafter_screenshot_failed,
6566
ServiceMessageHUD.MessageType.DISAPPEARING,
6667
ServiceMessageHUD.Time.MEDIUM,
67-
MessageSeverity.Error
68+
severity = MessageSeverity.Error
6869
)
6970
}
7071
}

app/src/main/java/com/enaboapps/switchify/service/llm/ScreenHighlightsManager.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@ object ScreenHighlightsManager {
2727
R.string.screen_highlights_unsupported_os,
2828
ServiceMessageHUD.MessageType.DISAPPEARING,
2929
ServiceMessageHUD.Time.MEDIUM,
30-
MessageSeverity.Error
30+
severity = MessageSeverity.Error
3131
)
3232
return
3333
}
3434

3535
ServiceMessageHUD.instance.showMessage(
3636
R.string.screen_highlights_starting,
3737
ServiceMessageHUD.MessageType.DISAPPEARING,
38-
ServiceMessageHUD.Time.SHORT
38+
ServiceMessageHUD.Time.SHORT,
39+
severity = MessageSeverity.Info
3940
)
4041

4142
ScreenshotManager.takeScreenshotWithDelay(
@@ -64,7 +65,7 @@ object ScreenHighlightsManager {
6465
R.string.screen_highlights_screenshot_failed,
6566
ServiceMessageHUD.MessageType.DISAPPEARING,
6667
ServiceMessageHUD.Time.MEDIUM,
67-
MessageSeverity.Error
68+
severity = MessageSeverity.Error
6869
)
6970
}
7071
}

app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/GestureMenuStructure.kt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.enaboapps.switchify.service.menu.MenuItem
1111
import com.enaboapps.switchify.service.menu.MenuManager
1212
import com.enaboapps.switchify.service.menu.structure.MenuItemRegistry
1313
import com.enaboapps.switchify.service.menu.structure.MenuStructure
14+
import com.enaboapps.switchify.service.window.MessageSeverity
1415
import com.enaboapps.switchify.service.window.ServiceMessageHUD
1516
import kotlinx.coroutines.CoroutineScope
1617

@@ -302,7 +303,8 @@ class GestureMenuStructure(
302303
ServiceMessageHUD.instance.showMessage(
303304
R.string.finger_mode_changed,
304305
arrayOf(FingerMode.ONE.getDisplayName(context)),
305-
ServiceMessageHUD.MessageType.DISAPPEARING
306+
ServiceMessageHUD.MessageType.DISAPPEARING,
307+
severity = MessageSeverity.Success
306308
)
307309
}
308310
),
@@ -317,7 +319,8 @@ class GestureMenuStructure(
317319
ServiceMessageHUD.instance.showMessage(
318320
R.string.finger_mode_changed,
319321
arrayOf(FingerMode.TWO.getDisplayName(context)),
320-
ServiceMessageHUD.MessageType.DISAPPEARING
322+
ServiceMessageHUD.MessageType.DISAPPEARING,
323+
severity = MessageSeverity.Success
321324
)
322325
}
323326
),
@@ -332,7 +335,8 @@ class GestureMenuStructure(
332335
ServiceMessageHUD.instance.showMessage(
333336
R.string.finger_mode_changed,
334337
arrayOf(FingerMode.THREE.getDisplayName(context)),
335-
ServiceMessageHUD.MessageType.DISAPPEARING
338+
ServiceMessageHUD.MessageType.DISAPPEARING,
339+
severity = MessageSeverity.Success
336340
)
337341
}
338342
),
@@ -347,7 +351,8 @@ class GestureMenuStructure(
347351
ServiceMessageHUD.instance.showMessage(
348352
R.string.finger_mode_changed,
349353
arrayOf(FingerMode.FOUR.getDisplayName(context)),
350-
ServiceMessageHUD.MessageType.DISAPPEARING
354+
ServiceMessageHUD.MessageType.DISAPPEARING,
355+
severity = MessageSeverity.Success
351356
)
352357
}
353358
),
@@ -362,12 +367,13 @@ class GestureMenuStructure(
362367
ServiceMessageHUD.instance.showMessage(
363368
R.string.finger_mode_changed,
364369
arrayOf(FingerMode.FIVE.getDisplayName(context)),
365-
ServiceMessageHUD.MessageType.DISAPPEARING
370+
ServiceMessageHUD.MessageType.DISAPPEARING,
371+
severity = MessageSeverity.Success
366372
)
367373
}
368374
)
369375
),
370376
context = context,
371377
coroutineScope = coroutineScope
372378
)
373-
}
379+
}

0 commit comments

Comments
 (0)