// Path: Example ExperienceSampler/exampleExperienceSampleriOS/plugins/cordova-plugin-local-notification/src/android/notification/Notification.java
// public static final String EXTRA_UPDATE = "NOTIFICATION_UPDATE";


import android.support.v4.media.session.MediaSessionCompat;
import java.util.List;
import java.util.Random;
import de.appplant.cordova.plugin.notification.action.Action;
import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
import static de.appplant.cordova.plugin.notification.Notification.EXTRA_UPDATE;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.MessagingStyle.Message;
import android.support.v4.media.app.NotificationCompat.MediaStyle;

    /**
     * Returns a new PendingIntent for a notification action, including the
     * action's identifier.
     *
     * @param action Notification action needing the PendingIntent
     */
    private PendingIntent getPendingIntentForAction (Action action) {
        Intent intent = new Intent(context, clickActivity)
                .putExtra(Notification.EXTRA_ID, options.getId())
                .putExtra(Action.EXTRA_ID, action.getId())
                .putExtra(Options.EXTRA_LAUNCH, action.isLaunchingApp())
                .setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

        if (extras != null) {
            intent.putExtras(extras);
        }

        int reqCode = random.nextInt();

        return PendingIntent.getService(
                context, reqCode, intent, FLAG_UPDATE_CURRENT);
    }

    /**
     * If the builder shall build an notification or an updated version.
     *
     * @return true in case of an updated version.
     */
    private boolean isUpdate() {
// Path: Example ExperienceSampler/exampleExperienceSampleriOS/plugins/cordova-plugin-local-notification/src/android/notification/Notification.java
// public static final String EXTRA_UPDATE = "NOTIFICATION_UPDATE";


// Path: Example ExperienceSampler/exampleExperienceSampleriOS/plugins/cordova-plugin-local-notification/src/android/notification/Builder.java
import android.support.v4.media.session.MediaSessionCompat;
import java.util.List;
import java.util.Random;
import de.appplant.cordova.plugin.notification.action.Action;
import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
import static de.appplant.cordova.plugin.notification.Notification.EXTRA_UPDATE;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.MessagingStyle.Message;
import android.support.v4.media.app.NotificationCompat.MediaStyle;


    /**
     * Returns a new PendingIntent for a notification action, including the
     * action's identifier.
     *
     * @param action Notification action needing the PendingIntent
     */
    private PendingIntent getPendingIntentForAction (Action action) {
        Intent intent = new Intent(context, clickActivity)
                .putExtra(Notification.EXTRA_ID, options.getId())
                .putExtra(Action.EXTRA_ID, action.getId())
                .putExtra(Options.EXTRA_LAUNCH, action.isLaunchingApp())
                .setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

        if (extras != null) {
            intent.putExtras(extras);
        }

        int reqCode = random.nextInt();

        return PendingIntent.getService(
                context, reqCode, intent, FLAG_UPDATE_CURRENT);
    }

    /**
     * If the builder shall build an notification or an updated version.
     *
     * @return true in case of an updated version.
     */
    private boolean isUpdate() {
        return extras != null && extras.getBoolean(EXTRA_UPDATE, false);