Notifications
Some errors use alert by default. This is overridable with the callbackNotify option

@param notifyText {string} the notification message
163926
function (notifyText) {
			this.writeDebug('notify',notifyText);
			if (this.settings.callbackNotify) {
				this.settings.callbackNotify.call(this, notifyText);
			}
			else {
				alert(notifyText);
			}
		}
494429
function notifyRetroactively(object) {
  if (object && typeof object === 'object') {
    const type = 'add';
    var notifier = Object.getNotifier(object);
    keys(object).forEach(name => notifier.notify({type, name, object}));
  }
  return object;
}
206842
private void setWarningMessage(String newMessage) {
		if (getMessage() == null || getMessageType() < IMessageProvider.WARNING)
			setMessage(newMessage, IMessageProvider.WARNING);
	}
69709
function notify() {
    var args = arguments
    handlers.forEach(function(f){ f.apply(null, args) }) }
1184435
function EventHandlerError (status, info, id, msg){
        console.log ("#%d- Notice Info=%s Data=%s Id=%s Msg:%s", count, status, info, id, msg );
    }
82277
function showNotification(msg, type, reloadPage){
    // defaults to false
    reloadPage = reloadPage || false;

    $('#notify_message').removeClass();
    $('#notify_message').addClass('alert-' + type);
    $('#notify_message').html(msg);
    $('#notify_message').slideDown(600).delay(2500).slideUp(600, function(){
        if(reloadPage === true){
            location.reload();
        }
    });
}
515388
function Notifications(chrome) {
  this.chrome = chrome;
  
  
  /**
   * Creates and displays a notification.
   * 
   * @param {string} notificationId 
   * @param {[object Object]} options 
   * @param {function} callback 
   */
  this.create = sinon.stub();
  
  /**
   * Updates an existing notification.
   * 
   * @param {string} notificationId 
   * @param {[object Object]} options 
   * @param {function} callback 
   */
  this.update = sinon.stub();
  
  /**
   * Clears the specified notification.
   * 
   * @param {string} notificationId 
   * @param {function} callback 
   */
  this.clear = sinon.stub();
  
  /**
   * Retrieves all the notifications.
   * 
   * @param {function} callback 
   */
  this.getAll = sinon.stub();
  
  /**
   * Retrieves whether the user has enabled notifications from this app or extension.
   * 
   * @param {function} callback 
   */
  this.getPermissionLevel = sinon.stub();
  
  
  /**
   */
  this.onClosed = new Event();
  
  /**
   */
  this.onClicked = new Event();
  
  /**
   */
  this.onButonClicked = new Event();
  
  /**
   */
  this.onPermissionLevelChanged = new Event();
  
  /**
   */
  this.onShowSettings = new Event();
  
}
1264251
private void requestNotificationListener() {
        AndPermission.with(this)
            .notification()
            .listener()
            .rationale(new NotifyListenerRationale())
            .onGranted(new Action<Void>() {
                @Override
                public void onAction(Void data) {
                    toast(R.string.successfully);
                }
            })
            .onDenied(new Action<Void>() {
                @Override
                public void onAction(Void data) {
                    toast(R.string.failure);
                }
            })
            .start();
    }
17542
function handleNotifyNext(e) {
  if (notifyOfNextSubs[e.type].length === 0) return;
  e.persist = blankFunction;
  const reNotifyOfNext = [];
  const reNotifyOfNextIDs = {};
  notifyOfNextSubs[e.type].forEach(sub => {
    if (sub.callback(e) === 'reNotifyOfNext') {
      reNotifyOfNextIDs[sub.id] = reNotifyOfNext.push(sub) - 1;
    }
  });
  notifyOfNextSubs[e.type] = reNotifyOfNext;
  subsIDs[e.type] = reNotifyOfNextIDs;
}
281574
def normal_notification(text, options = {})
      base = {
        aps: {
          alert: {
            title: nil,
            subtitle: nil,
            body: text
          },
          sound: options.delete(:sound),
          badge: 1,
          'mutable-content': 1,
          'content-available': 1
        }
      }
      base.merge(options)
    end
1034297
function( text, isImportant ) { 
		if(DEBUG && isImportant) {
			console.log("\n******************************************")
			console.log("* " + text)
			console.log("******************************************\n")
		} else if(DEBUG) {
			console.log(text); };
		}
214414
private static void addNotification(Notifable n) {
        NotificationManager.notifications.add(new ValueNotification(
                getNotificationID(),
                NotificationManager.sim.getSchedule().getSteps(), 
                n.getSource(), 
                n.getID(), 
                n.getElementValue()));
        logger.fine("Notification added. Element: "+ n.getID()+". Value ="+n.getElementValue());
    }
296422
function warn(msg) {
    console.log(TAG + ' ' + colors.bold.black.bgYellow('WARNING') + ' ' + msg);
}
503065
def handle_notification(self, data):
        """"""
        if data.get('method') in self._callbacks:
            self._callbacks.get(data.get('method'))(data.get('params'))
1312664
function alert(title, content, callback, type) {
  const opt = defaultOption.alert;
  const argLen = arguments.length;
  if (argLen === 1) {
    content = title;
    title = null;
  }
  if (argLen === 2) {
    if (typeof content === 'function') {
      callback = content;
      content = title;
      title = null;
    }
  }
  title = title || opt.title;
  if (opt.actions[0]) {
    opt.actions[0].onPress = callback;
  }
  tip(title, content, opt.actions, type);
}
582977
function matchAndIssueAlertEmails(eventDetails, alerts){
  underscore.each(alerts, function(alert) {
    if (shouldTriggerAlert(eventDetails, alert)){
      issueAlertEmail(eventDetails, alert);
    }
  });
}
106164
public void setAlert(final boolean ALERT) {
        if (null == alert) {
            _alert = ALERT;
            fireUpdateEvent(ALERT_EVENT);
        } else {
            alert.set(ALERT);
        }
    }