From 510bfe4087cbd70d1311961f4befbb529aa9a0f3 Mon Sep 17 00:00:00 2001 From: Georg Reisinger <43533139+GeorgReisinger@users.noreply.github.com> Date: Thu, 21 Feb 2019 00:00:52 +0100 Subject: [PATCH] Push send --- .../smartshopper/activitys/Dash.java | 8 ++++ .../messaging/MyFirebaseMessagingService.java | 2 +- .../messaging/MyFirebaseSender.java | 43 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseSender.java diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java index 951bc1c..ff2afed 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java @@ -47,6 +47,7 @@ import java.util.List; import at.smartshopper.smartshopper.R; import at.smartshopper.smartshopper.db.Database; +import at.smartshopper.smartshopper.messaging.MyFirebaseSender; import at.smartshopper.smartshopper.shoppinglist.Shoppinglist; import at.smartshopper.smartshopper.shoppinglist.ShoppinglistAdapter; import at.smartshopper.smartshopper.shoppinglist.ShoppinglistSharedAdapter; @@ -783,6 +784,13 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte @Override public void sharedOnChangeItemClick(String sl_id, View v) { onChangeItemClickContainer(sl_id, v); + try { + new MyFirebaseSender(db.getMembers(sl_id)).sendMessage("Eine ihrer Shoppinglisten wurde geƤndert", "MY_ACTION"); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } } @Override diff --git a/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java index 9562edb..1be0a9e 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java +++ b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java @@ -26,7 +26,7 @@ public class MyFirebaseMessagingService extends FirebaseMessagingService { */ @Override public void onMessageReceived(RemoteMessage remoteMessage) { - super.onMessageReceived(remoteMessage); + sendNotification(remoteMessage.getNotification().getBody()); } /** diff --git a/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseSender.java b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseSender.java new file mode 100644 index 0000000..9017f7b --- /dev/null +++ b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseSender.java @@ -0,0 +1,43 @@ +package at.smartshopper.smartshopper.messaging; + +import com.google.firebase.messaging.FirebaseMessaging; +import com.google.firebase.messaging.RemoteMessage; + +import java.util.ArrayList; +import java.util.List; + +import at.smartshopper.smartshopper.R; +import at.smartshopper.smartshopper.shoppinglist.Member; + +public class MyFirebaseSender { + + private List messageIds; + + public MyFirebaseSender(List members) { + ArrayList tmp = new ArrayList<>(); + for (Member m : members) { + tmp.add(m.getMsid()); + } + messageIds = tmp; + } + + + /** + * Sendet die Firebase Messages zum server + * + * @param message Push Nachricht + * @param action Push action + */ + public void sendMessage(String message, String action) { + FirebaseMessaging firebaseMessaging = FirebaseMessaging.getInstance(); + for (int i = 0; messageIds.size() > i; i++) { + + firebaseMessaging.send(new RemoteMessage.Builder(R.string.firebase_sender_id + "@fcm.googleapis.com/fcm/send") + .setMessageId(messageIds.get(i)) + .addData("my_message", message) + .addData("my_action", action) + .build()); + } + } + +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3c8f3a3..b5de851 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,4 +4,5 @@ ShoppinglistDetail ShoppinglistDetails ItemListActivity + 221332577314