UNPKG

ng-cordova

Version:

[ngCordova](http://ngcordova.com/) ==========

102 lines (83 loc) 2.9 kB
// install : cordova plugin add https://github.com/katzer/cordova-plugin-badge.git // link : https://github.com/katzer/cordova-plugin-badge angular.module('ngCordova.plugins.badge', []) .factory('$cordovaBadge', ['$q', function ($q) { return { hasPermission: function () { var q = $q.defer(); cordova.plugins.notification.badge.hasPermission(function (permission) { if (permission) { q.resolve(true); } else { q.reject('You do not have permission'); } }); return q.promise; }, promptForPermission: function () { return cordova.plugins.notification.badge.promptForPermission(); }, set: function (badge, callback, scope) { var q = $q.defer(); cordova.plugins.notification.badge.hasPermission(function (permission) { if (permission) { q.resolve( cordova.plugins.notification.badge.set(badge, callback, scope) ); } else { q.reject('You do not have permission to set Badge'); } }); return q.promise; }, get: function () { var q = $q.defer(); cordova.plugins.notification.badge.hasPermission(function (permission) { if (permission) { cordova.plugins.notification.badge.get(function (badge) { q.resolve(badge); }); } else { q.reject('You do not have permission to get Badge'); } }); return q.promise; }, clear: function (callback, scope) { var q = $q.defer(); cordova.plugins.notification.badge.hasPermission(function (permission) { if (permission) { q.resolve(cordova.plugins.notification.badge.clear(callback, scope)); } else { q.reject('You do not have permission to clear Badge'); } }); return q.promise; }, increase: function (count, callback, scope) { var q = $q.defer(); this.hasPermission().then(function (){ q.resolve( cordova.plugins.notification.badge.increase(count, callback, scope) ); }, function (){ q.reject('You do not have permission to increase Badge'); }) ; return q.promise; }, decrease: function (count, callback, scope) { var q = $q.defer(); this.hasPermission().then(function (){ q.resolve( cordova.plugins.notification.badge.decrease(count, callback, scope) ); }, function (){ q.reject('You do not have permission to decrease Badge'); }) ; return q.promise; }, configure: function (config) { return cordova.plugins.notification.badge.configure(config); } }; }]);