package com.webileapps.excalibur;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.util.Log;

import androidx.annotation.DrawableRes;
import androidx.core.app.NotificationCompat;

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

import java.util.Map;

import static android.app.NotificationManager.IMPORTANCE_DEFAULT;

public class ExcaliburNotification {
    

        private static final String TAG = "ExcaliburNotification";

        public ExcaliburNotification() {
        }

        public static void showNotification(Context context, @DrawableRes int smallIcon, Map<String, String> data) {
            if (data.containsKey("excalibur") && !isActivityShowing(context)) {
                String title;
                String text;
                try {
                    JSONObject json = new JSONObject((String)data.get("excalibur"));
                    title = json.getString("title");
                    text = json.getString("text");
                } catch (JSONException var11) {
                    Log.e("ExcaliburNotification", var11.toString());
                    return;
                }

                String channelId = context.getPackageName() + ":excalibur";
                NotificationCompat.Builder notification = (new NotificationCompat.Builder(context, channelId)).setSmallIcon(smallIcon).setContentTitle(title).setContentText(text).setChannelId(channelId);
                PendingIntent contentIntent = PendingIntent.getActivity(context, 0, new Intent(context, ExcaliburActivity.class), 134217728);
                notification.setContentIntent(contentIntent);
                NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
                if (Build.VERSION.SDK_INT >= 26) {
                    NotificationChannel channel = new NotificationChannel(channelId, "Excalibur Chat Message", IMPORTANCE_DEFAULT);
                    notificationManager.createNotificationChannel(channel);
                }

                notificationManager.notify(8375667, notification.build());
            }

        }

        static void cancelNotification(Context context) {
            NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
            notificationManager.cancel(8375667);
        }

        private static boolean isActivityShowing(Context context) {
            SharedPreferences preferences = context.getSharedPreferences("com.webileapps.excalibur", 0);
            return preferences.getBoolean("IS_ACTIVITY_ACTIVE", false);
        }
    }
