From 2439f42f42786a8cd0487060e237435bbb805d0c Mon Sep 17 00:00:00 2001
From: Myzel394 <50424412+Myzel394@users.noreply.github.com>
Date: Sun, 6 Aug 2023 15:32:54 +0200
Subject: [PATCH] feat: Update notification locale on locale change
---
app/src/main/AndroidManifest.xml | 10 ++++++++-
.../app/myzel394/alibi/NotificationHelper.kt | 22 +++++++++++++++++++
.../java/app/myzel394/alibi/RunningApp.kt | 21 ------------------
.../app/myzel394/alibi/UpdateSettingsApp.kt | 16 ++++++++++++++
.../alibi/receivers/LocalChangeReceiver.kt | 15 +++++++++++++
app/src/main/res/values/strings.xml | 3 +++
6 files changed, 65 insertions(+), 22 deletions(-)
create mode 100644 app/src/main/java/app/myzel394/alibi/NotificationHelper.kt
delete mode 100644 app/src/main/java/app/myzel394/alibi/RunningApp.kt
create mode 100644 app/src/main/java/app/myzel394/alibi/UpdateSettingsApp.kt
create mode 100644 app/src/main/java/app/myzel394/alibi/receivers/LocalChangeReceiver.kt
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 69e0538..b8f2dbc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,7 +8,7 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/app/myzel394/alibi/NotificationHelper.kt b/app/src/main/java/app/myzel394/alibi/NotificationHelper.kt
new file mode 100644
index 0000000..b69cbed
--- /dev/null
+++ b/app/src/main/java/app/myzel394/alibi/NotificationHelper.kt
@@ -0,0 +1,22 @@
+package app.myzel394.alibi
+
+import android.app.NotificationChannel
+import android.app.NotificationManager
+import android.content.Context
+import android.os.Build
+import androidx.annotation.RequiresApi
+
+object NotificationHelper {
+ @RequiresApi(Build.VERSION_CODES.O)
+ fun createChannels(context: Context) {
+ val channel = NotificationChannel(
+ "recorder",
+ context.resources.getString(R.string.notificationChannels_recorder_name),
+ android.app.NotificationManager.IMPORTANCE_LOW,
+ )
+ channel.description = context.resources.getString(R.string.notificationChannels_recorder_description)
+
+ val notificationManager = context.getSystemService(NotificationManager::class.java)
+ notificationManager.createNotificationChannel(channel)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/app/myzel394/alibi/RunningApp.kt b/app/src/main/java/app/myzel394/alibi/RunningApp.kt
deleted file mode 100644
index 3599727..0000000
--- a/app/src/main/java/app/myzel394/alibi/RunningApp.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package app.myzel394.alibi
-
-import android.app.Application
-import android.app.NotificationChannel
-import android.os.Build
-
-class RunningApp: Application() {
- override fun onCreate() {
- super.onCreate()
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- val channel = NotificationChannel(
- "recorder",
- "Recorder",
- android.app.NotificationManager.IMPORTANCE_LOW,
- )
- val notificationManager = getSystemService(android.app.NotificationManager::class.java)
- notificationManager.createNotificationChannel(channel)
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/app/myzel394/alibi/UpdateSettingsApp.kt b/app/src/main/java/app/myzel394/alibi/UpdateSettingsApp.kt
new file mode 100644
index 0000000..3fee03f
--- /dev/null
+++ b/app/src/main/java/app/myzel394/alibi/UpdateSettingsApp.kt
@@ -0,0 +1,16 @@
+package app.myzel394.alibi
+
+import android.app.Application
+import android.app.NotificationChannel
+import android.os.Build
+import androidx.compose.ui.res.stringResource
+
+class UpdateSettingsApp: Application() {
+ override fun onCreate() {
+ super.onCreate()
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ NotificationHelper.createChannels(this)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/app/myzel394/alibi/receivers/LocalChangeReceiver.kt b/app/src/main/java/app/myzel394/alibi/receivers/LocalChangeReceiver.kt
new file mode 100644
index 0000000..c4d0ed3
--- /dev/null
+++ b/app/src/main/java/app/myzel394/alibi/receivers/LocalChangeReceiver.kt
@@ -0,0 +1,15 @@
+package app.myzel394.alibi.receivers
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.os.Build
+import app.myzel394.alibi.NotificationHelper
+
+class LocalChangeReceiver: BroadcastReceiver() {
+ override fun onReceive(context: Context?, p1: Intent?) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ NotificationHelper.createChannels(context!!)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1f7e073..0ce8e73 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,6 +11,9 @@
Please enter a number between %s and %s
Please enter a number greater than %s
+ Recorder
+ Shows the current recording status
+
Permission denied
Please grant the permission to continue. You will be redirected to the app settings to grant the permission there.