package com.base.datarecovery.fcm;

import android.annotation.SuppressLint;

import androidx.annotation.NonNull;

import com.base.datarecovery.help.BaseApplication;
import com.base.datarecovery.utils.EventUtils;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

import org.json.JSONException;
import org.json.JSONObject;


@SuppressLint("MissingFirebaseInstanceTokenRefresh")
public class MessagingService extends FirebaseMessagingService {

    private static final String TAG = "MessagingService";

    @Override
    public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
        try {
            JSONObject data = new JSONObject(remoteMessage.getData().toString());
            EventUtils.INSTANCE.event("FCM_Received", "", data, false);
        } catch (JSONException e) {
            throw new RuntimeException(e);
        }

        sendLocalNotification();
    }

    // Consider implementing this method if local notifications are needed
    private void sendLocalNotification() {
        NotificationUtil.INSTANCE.sendNotification(BaseApplication.context, "FCM");
    }

}