Quellcode durchsuchen

version 3.0 + ajuste notificacao

Gustavo Zanatta vor 2 Tagen
Ursprung
Commit
24ce94a90a

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "diarista-cliente-app",
-  "version": "2.8",
+  "version": "3.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "diarista-cliente-app",
-      "version": "2.8",
+      "version": "3.0",
       "dependencies": {
         "@bufbuild/protobuf": "^2.5.1",
         "@capacitor/browser": "^7.0.5",

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "diarista-cliente-app",
-  "version": "2.8",
+  "version": "3.0",
   "description": "Aplicativo para o cliente do Diaria",
   "productName": "Diaria App",
   "author": "zntt <zanattagg@gmail.com>",

+ 2 - 2
src-capacitor/android/app/build.gradle

@@ -13,8 +13,8 @@ android {
         applicationId "br.com.diarista.client"
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
-        versionCode 19
-        versionName "2.8"
+        versionCode 21
+        versionName "3.0"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         aaptOptions {
              // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.

+ 51 - 0
src-capacitor/android/app/src/main/java/br/com/diarista/client/MainActivity.java

@@ -3,6 +3,11 @@ package br.com.diarista.client;
 import android.graphics.Color;
 import android.os.Bundle;
 import android.webkit.WebView;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.media.AudioAttributes;
+import android.net.Uri;
+import android.os.Build;
 
 import com.getcapacitor.BridgeActivity;
 
@@ -14,6 +19,9 @@ public class MainActivity extends BridgeActivity {
         // WebView, então o WebView precisa ser transparente onde o mapa é exibido.
         // (O background do body cobre isso nas telas normais — só o LocationMapDialog
         //  torna a cadeia html/body/#q-app transparente para revelar o mapa.)
+
+        createNotificationChannel();
+
         getBridge().getWebView().setBackgroundColor(Color.TRANSPARENT);
     }
 
@@ -23,4 +31,47 @@ public class MainActivity extends BridgeActivity {
         WebView webview = getBridge().getWebView();
         webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
     }
+
+    private void createNotificationChannel() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+
+            Uri sound = Uri.parse(
+                    "android.resource://" + getPackageName() + "/" + R.raw.diaria
+            );
+
+            AudioAttributes audioAttributes = new AudioAttributes.Builder()
+                    .setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT)
+                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+                    .build();
+
+            NotificationChannel channel = new NotificationChannel(
+                    "diaria",
+                    "Confirmações de agendamento",
+                    NotificationManager.IMPORTANCE_HIGH
+            );
+
+            channel.setDescription("Canal para confirmações e propostas de prestadores");
+            channel.setShowBadge(true);
+            channel.enableLights(true);
+            channel.enableVibration(true);
+            channel.setSound(sound, audioAttributes);
+
+            NotificationChannel defaultChannel = new NotificationChannel(
+                    "padrao",
+                    "Avisos gerais",
+                    NotificationManager.IMPORTANCE_DEFAULT
+            );
+
+            defaultChannel.setDescription("Canal para os demais avisos do aplicativo");
+            defaultChannel.setShowBadge(true);
+            defaultChannel.enableLights(true);
+            defaultChannel.enableVibration(true);
+
+            NotificationManager notificationManager =
+                    getSystemService(NotificationManager.class);
+
+            notificationManager.createNotificationChannel(channel);
+            notificationManager.createNotificationChannel(defaultChannel);
+        }
+    }
 }

BIN
src-capacitor/android/app/src/main/res/raw/diaria.wav


+ 2 - 2
src-capacitor/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "diarista-cliente-app",
-  "version": "2.8",
+  "version": "3.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "diarista-cliente-app",
-      "version": "2.8",
+      "version": "3.0",
       "dependencies": {
         "@capacitor/android": "^7.6.8",
         "@capacitor/app": "^7.0.0",

+ 1 - 1
src-capacitor/package.json

@@ -1,6 +1,6 @@
 {
   "name": "diarista-cliente-app",
-  "version": "2.8",
+  "version": "3.0",
   "description": "Aplicativo para o cliente do Diaria",
   "author": "zntt <zanattagg@gmail.com>",
   "private": true,