From 46d21d584b5edf654dee18e7c4969b6013c7553d Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 20:23:00 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20[UX=20improvement]=20?= =?UTF-8?q?Localize=20notification=20channel=20name=20and=20description?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced technical identifiers (e.g. `CHANNEL_ID`) with descriptive, localized string resources for the application's Notification Channel. This ensures users see clear, human-readable labels in their Android System Settings. Co-authored-by: manupawickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com> --- .Jules/palette.md | 4 ++++ app/src/main/java/com/samsung/android/scan3d/serv/Cam.kt | 4 ++-- app/src/main/res/values/strings.xml | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.Jules/palette.md b/.Jules/palette.md index 8e61b09..0d52fa9 100644 --- a/.Jules/palette.md +++ b/.Jules/palette.md @@ -146,3 +146,7 @@ ## 2026-05-20 - Mouse Hover States for Custom Selectors **Learning:** Custom drawable selectors (like `ic_shutter.xml`) on Android often define `state_pressed` and `state_focused` but omit `state_hovered`. This strips visual feedback for users navigating with pointer devices (mice, trackpads) on environments like Chromebooks or Samsung DeX, degrading the user experience compared to native components. **Action:** Always include `android:state_hovered="true"` alongside focus and pressed states in custom interactive background selectors to ensure universal visual feedback across all input methods. + +## 2026-05-29 - Localized Notification Channels +**Learning:** Using raw technical identifiers like `CHANNEL_ID` for an Android `NotificationChannel` exposes non-user-friendly strings directly in the Android System Settings under App Notifications. +**Action:** Always provide descriptive, localized string resources for Notification Channel names and descriptions, as these labels are exposed directly to users in the system settings. diff --git a/app/src/main/java/com/samsung/android/scan3d/serv/Cam.kt b/app/src/main/java/com/samsung/android/scan3d/serv/Cam.kt index 902764a..3a3027e 100644 --- a/app/src/main/java/com/samsung/android/scan3d/serv/Cam.kt +++ b/app/src/main/java/com/samsung/android/scan3d/serv/Cam.kt @@ -45,10 +45,10 @@ class Cam : Service() { "start" -> { val channel = NotificationChannel( CHANNEL_ID, - CHANNEL_ID, + getString(R.string.notification_channel_name), NotificationManager.IMPORTANCE_DEFAULT ) - channel.description = "RemoteCam run" + channel.description = getString(R.string.notification_channel_desc) val notificationManager = getSystemService(NotificationManager::class.java) notificationManager.createNotificationChannel(channel) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b34ffb5..bb59bcf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -69,4 +69,7 @@ %1$d ms %1$d kB/sec %1$d%% + + RemoteCam Service + Background service running RemoteCam