Notification channel description
This commit is contained in:
		| @@ -15,7 +15,6 @@ import android.media.RingtoneManager; | |||||||
| import android.net.Uri; | import android.net.Uri; | ||||||
| import android.os.Build; | import android.os.Build; | ||||||
| import androidx.core.app.NotificationCompat; | import androidx.core.app.NotificationCompat; | ||||||
| import android.util.Log; |  | ||||||
|  |  | ||||||
| import com.google.firebase.messaging.FirebaseMessagingService; | import com.google.firebase.messaging.FirebaseMessagingService; | ||||||
| import com.google.firebase.messaging.RemoteMessage; | import com.google.firebase.messaging.RemoteMessage; | ||||||
| @@ -31,10 +30,8 @@ public class MessagingService extends FirebaseMessagingService { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onMessageReceived(RemoteMessage remoteMessage) { |     public void onMessageReceived(RemoteMessage remoteMessage) { | ||||||
|         Log.d(TAG, "From: " + remoteMessage.getFrom()); |  | ||||||
|         Map<String, String> data = remoteMessage.getData(); |         Map<String, String> data = remoteMessage.getData(); | ||||||
|         if (data.size() > 0) { |         if (data.size() > 0) { | ||||||
|            Log.d(TAG, "Message data payload: " + data); |  | ||||||
|            if (data.containsKey("body") || data.containsKey("title")) { |            if (data.containsKey("body") || data.containsKey("title")) { | ||||||
|                 sendNotification(data); |                 sendNotification(data); | ||||||
|            } |            } | ||||||
| @@ -43,18 +40,18 @@ public class MessagingService extends FirebaseMessagingService { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onNewToken(String token) { |     public void onNewToken(String token) { | ||||||
|         Log.d(TAG, "Refreshed token: " + token); |  | ||||||
|         //TODO update token |         //TODO update token | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void sendNotification(Map<String, String> data) { |     private void sendNotification(Map<String, String> data) { | ||||||
|         String channelId, messageBody, messageTitle, imageUrl; |         String channelId, messageBody, messageTitle, imageUrl, nTag, channelDescription; | ||||||
|         String nTag; |  | ||||||
|         boolean autoCancel; |         boolean autoCancel; | ||||||
|         if (!data.containsKey("channelId")) { |         if (!data.containsKey("channelId")) { | ||||||
|             channelId = "ha_notify"; |             channelId = "ha_notify"; | ||||||
|  |             channelDescription = "Default notification channel"; | ||||||
|         } else { |         } else { | ||||||
|             channelId = data.get("channelId"); |             channelId = data.get("channelId"); | ||||||
|  |             channelDescription = channelId; | ||||||
|         } |         } | ||||||
|         if (!data.containsKey("body")) { |         if (!data.containsKey("body")) { | ||||||
|             messageBody = ""; |             messageBody = ""; | ||||||
| @@ -71,7 +68,6 @@ public class MessagingService extends FirebaseMessagingService { | |||||||
|         } else { |         } else { | ||||||
|             nTag = data.get("tag"); |             nTag = data.get("tag"); | ||||||
|         } |         } | ||||||
|         Log.d(TAG, "Notification tag: " + nTag); |  | ||||||
|         if (data.containsKey("dismiss")) { |         if (data.containsKey("dismiss")) { | ||||||
|             try { |             try { | ||||||
|                 boolean dismiss = Boolean.parseBoolean(data.get("dismiss")); |                 boolean dismiss = Boolean.parseBoolean(data.get("dismiss")); | ||||||
| @@ -132,8 +128,8 @@ public class MessagingService extends FirebaseMessagingService { | |||||||
|         // Since android Oreo notification channel is needed. |         // Since android Oreo notification channel is needed. | ||||||
|         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||||||
|             NotificationChannel channel = new NotificationChannel(channelId, |             NotificationChannel channel = new NotificationChannel(channelId, | ||||||
|                     "Home Assistant notifications", |                     channelDescription, | ||||||
|                     NotificationManager.IMPORTANCE_DEFAULT); |                     NotificationManager.IMPORTANCE_HIGH); | ||||||
|             notificationManager.createNotificationChannel(channel); |             notificationManager.createNotificationChannel(channel); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -22,7 +22,6 @@ public class NotificationActionReceiver extends BroadcastReceiver { | |||||||
|         String rawActionData = intent.getStringExtra("actionData"); |         String rawActionData = intent.getStringExtra("actionData"); | ||||||
|         if (intent.hasExtra("tag")) { |         if (intent.hasExtra("tag")) { | ||||||
|             String notificationTag = intent.getStringExtra("tag"); |             String notificationTag = intent.getStringExtra("tag"); | ||||||
|             Log.d(TAG, "Canceling notification by tag: " + notificationTag); |  | ||||||
|             NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); |             NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); | ||||||
|             notificationManager.cancel(notificationTag, 0); |             notificationManager.cancel(notificationTag, 0); | ||||||
|         } |         } | ||||||
| @@ -36,7 +35,6 @@ public class NotificationActionReceiver extends BroadcastReceiver { | |||||||
|                     ":" + |                     ":" + | ||||||
|                     prefs.getString("flutter.hassio-port", "") + "/api/webhook/" + webhookId; |                     prefs.getString("flutter.hassio-port", "") + "/api/webhook/" + webhookId; | ||||||
|                 JSONObject actionData = new JSONObject(rawActionData); |                 JSONObject actionData = new JSONObject(rawActionData); | ||||||
|                 Log.d(TAG, "request url: " + requestUrl); |  | ||||||
|                 if (URLUtil.isValidUrl(requestUrl)) { |                 if (URLUtil.isValidUrl(requestUrl)) { | ||||||
|                     JSONObject dataToSend = new JSONObject(); |                     JSONObject dataToSend = new JSONObject(); | ||||||
|                     JSONObject requestData = new JSONObject(); |                     JSONObject requestData = new JSONObject(); | ||||||
| @@ -53,17 +51,16 @@ public class NotificationActionReceiver extends BroadcastReceiver { | |||||||
|                     } |                     } | ||||||
|                     dataToSend.put("data", requestData); |                     dataToSend.put("data", requestData); | ||||||
|                     String stringRequest = dataToSend.toString(); |                     String stringRequest = dataToSend.toString(); | ||||||
|                     Log.d(TAG, "Data to send home: " + stringRequest); |  | ||||||
|                     SendTask sendTask = new SendTask(); |                     SendTask sendTask = new SendTask(); | ||||||
|                     sendTask.execute(requestUrl, stringRequest); |                     sendTask.execute(requestUrl, stringRequest); | ||||||
|                 } else { |                 } else { | ||||||
|                     Log.w(TAG, "Invalid url"); |                     Log.w(TAG, "Invalid HA url"); | ||||||
|                 } |                 } | ||||||
|             } catch (Exception e) { |             } catch (Exception e) { | ||||||
|                 Log.e(TAG, "Error handling notification action", e);     |                 Log.e(TAG, "Error handling notification action", e);     | ||||||
|             } |             } | ||||||
|         } else { |         } else { | ||||||
|             Log.d(TAG, "Webhook id not found"); |             Log.w(TAG, "Webhook id not found"); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -26,7 +26,6 @@ public class SendTask extends AsyncTask<String, String, String> { | |||||||
|         String data = params[1]; |         String data = params[1]; | ||||||
|  |  | ||||||
|         try { |         try { | ||||||
|             Log.d(TAG, "Connecting and sending..."); |  | ||||||
|             URL url = new URL(urlString); |             URL url = new URL(urlString); | ||||||
|             HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); |             HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); | ||||||
|             urlConnection.setRequestMethod("POST"); |             urlConnection.setRequestMethod("POST"); | ||||||
| @@ -38,7 +37,6 @@ public class SendTask extends AsyncTask<String, String, String> { | |||||||
|  |  | ||||||
|             int responseCode = urlConnection.getResponseCode(); |             int responseCode = urlConnection.getResponseCode(); | ||||||
|  |  | ||||||
|             Log.d(TAG, "responseCode: " + responseCode); |  | ||||||
|             urlConnection.disconnect(); |             urlConnection.disconnect(); | ||||||
|         } catch (Exception e) { |         } catch (Exception e) { | ||||||
|             Log.e(TAG, "Error sending data", e);  |             Log.e(TAG, "Error sending data", e);  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user