cordova.define("cordova-plugin-badge.Badge.Proxy", function(require, exports, module) { /* * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apache License * Version 2.0 (the 'License'). You may not use this file except in * compliance with the License. Please obtain a copy of the License at * http://opensource.org/licenses/Apache-2.0/ and read it before using this * file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. */ // Instance of the Favico.js libary exports.favico = new cordova.plugins.notification.badge.Favico({ animation: 'none' }); // Holds the current badge number var BADGE_KEY = 'cordova_badge_number'; // Holds the saved badge config var CONFIG_KEY = 'APPBadgeConfigKey'; /** * Clears the badge of the app icon. * * @param [ Function ] success Success callback * @param [ Function ] error Error callback * * @return [ Void ] */ exports.clear = function (success, error) { exports.set(success, error, [0]); }; /** * Gets the badge of the app icon. * * @param [ Function ] success Success callback * @param [ Function ] error Error callback * * @return [ Void ] */ exports.get = function (success, error) { var badge = localStorage[BADGE_KEY]; success(badge || 0); }; /** * Sets the badge of the app icon. * * @param [ Function ] success Success callback * @param [ Function ] error Error callback * @param [ Int ] badge The badge number * * @return [ Void ] */ exports.set = function (success, error, args) { var badge = args[0]; exports.saveBadge(badge); exports.favico.badge(badge); success(badge); }; /** * Save the badge config. * * @param [ Function ] success Success callback * @param [ Function ] error Error callback * @param [ Int ] config The config map * * @return [ Void ] */ exports.save = function (success, error, args) { var config = args[0] || null, json = JSON.stringify(config); localStorage[CONFIG_KEY] = json; }; /** * Load the badge config. * * @param [ Function ] success Success callback * @param [ Function ] error Error callback * * @return [ Void ] */ exports.load = function (success, error) { var json = localStorage[CONFIG_KEY], config = JSON.parse(json || null); success(config); }; /** * Persist the badge of the app icon so that `getBadge` is able to return the * badge number back to the client. * * @param [ Int ] badge The badge number * * @return [ Void ] */ exports.saveBadge = function (badge) { localStorage[BADGE_KEY] = badge; }; cordova.commandProxy.add('Badge', exports); });