From 02811010cf62f1b21a06780d1e470d04bb24c50f Mon Sep 17 00:00:00 2001 From: Arjun Roychowdhury Date: Sat, 31 Oct 2015 08:21:38 -0400 Subject: removed unecessary files from git --- .../de.appplant.cordova.plugin.badge/CHANGELOG.md | 83 ------ plugins/de.appplant.cordova.plugin.badge/LICENSE | 202 --------------- plugins/de.appplant.cordova.plugin.badge/README.md | 113 --------- .../de.appplant.cordova.plugin.badge/package.json | 40 --- .../de.appplant.cordova.plugin.badge/plugin.xml | 201 --------------- .../src/android/Badge.java | 160 ------------ .../src/android/BadgeImpl.java | 277 --------------------- .../src/android/LaunchActivity.java | 88 ------- .../src/android/badge.gradle | 30 --- .../src/browser/BadgeProxy.js | 108 -------- .../src/browser/favico.min.js | 7 - .../src/ios/APPBadge.h | 40 --- .../src/ios/APPBadge.m | 205 --------------- .../src/ios/UIApplication+APPBadge.h | 31 --- .../src/ios/UIApplication+APPBadge.m | 85 ------- .../src/windows/BadgeProxy.js | 138 ---------- .../src/wp8/Badge.cs | 155 ------------ .../tests/plugin.xml | 34 --- .../tests/tests.js | 156 ------------ .../de.appplant.cordova.plugin.badge/www/badge.js | 271 -------------------- 20 files changed, 2424 deletions(-) delete mode 100644 plugins/de.appplant.cordova.plugin.badge/CHANGELOG.md delete mode 100644 plugins/de.appplant.cordova.plugin.badge/LICENSE delete mode 100644 plugins/de.appplant.cordova.plugin.badge/README.md delete mode 100644 plugins/de.appplant.cordova.plugin.badge/package.json delete mode 100644 plugins/de.appplant.cordova.plugin.badge/plugin.xml delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/android/Badge.java delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/android/BadgeImpl.java delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/android/LaunchActivity.java delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/android/badge.gradle delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/browser/BadgeProxy.js delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/browser/favico.min.js delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.h delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.m delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.h delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.m delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/windows/BadgeProxy.js delete mode 100644 plugins/de.appplant.cordova.plugin.badge/src/wp8/Badge.cs delete mode 100644 plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml delete mode 100644 plugins/de.appplant.cordova.plugin.badge/tests/tests.js delete mode 100644 plugins/de.appplant.cordova.plugin.badge/www/badge.js (limited to 'plugins/de.appplant.cordova.plugin.badge') diff --git a/plugins/de.appplant.cordova.plugin.badge/CHANGELOG.md b/plugins/de.appplant.cordova.plugin.badge/CHANGELOG.md deleted file mode 100644 index b2aba530..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/CHANGELOG.md +++ /dev/null @@ -1,83 +0,0 @@ -## ChangeLog -#### Version 0.7.1 (30.07.2015) -- Support for app icon badges on selective Android platforms thanks to [ShortcutBadger](https://github.com/leolin310148/ShortcutBadger) - - Sony - - Samsung - - LG - - HTC - - Xiaomi - - ASUS - - ADW, APEX, NOVA - -#### Version 0.7.0 (18.07.2015) -- New platform support: - - Amazon FireOS - - Browser - - Windows -- `get`, `set` and `clear` support callbacks. -- Support for [Glyphs](https://msdn.microsoft.com/de-de/library/windows/apps/hh779719#phone_badge) on _Windows_ platform. -- Added tests - -#### Version 0.6.4 (02.05.2015) -- Upgrade cordova dependency from 3.0 to 3.6 -- Fix incompatibility with local-notification plugin and PGB caused by the usage of hooks. - -#### Version 0.6.3 (22.03.2015) -- New interfaces to increase or decrease the badge number. -- Fix incompatibility with local-notification plugin. -- Add instead of replace permissions on iOS. -- Refreshed layout of the example app. - -#### Version 0.6.2 (01.03.2015) -- [change:] Renamed `promptForPermission` to `registerPermission`. Older one is still supported. -- [enhancement:] Support iOS8 and older SDK versions from a single binary. -- [enhancement:] `registerPermission` returns result of registration. -- [enhancement:] No need anymore to call `registerPermission` explicit before trying to set the badge number. - -#### Version 0.6.1 (03.10.2014) -- [bugfix:] `hasPermission` and `promptForPermission` let the app crash on iOS7 and older. - -#### Version 0.6.0 (29.09.2014) -- [enhancement:] iOS 8 support -- [enhancement:] All methods are asynchron now and do not block the main thread anymore. -- [feature:] New method `hasPermission` to ask if the user has granted to display badge notifications. -- [feature:] New method `promptForPermission` to promt the user to grant permission to display badge notifications. -- [feature:] New method `configure` to configure badge properties. -- [feature:] The small icon on Android can be changed through `configure`. -- [**change**:] The namespace `plugin.notification.badge` will be removed with v0.6.1 -- [**change**:] `setTitle` is deprecated, please use `configure({ title: 'title' })`. -- [**change**:] `clearOnTap` is deprecated, please use `configure({ autoClear: true })`. -- [bugfix:] `getBadge` still returned the number when autoClear: was set and the notification was already cleared by the system (Android). -- [bugfix:] `clean` was not working on Windows Phone. - -#### Version 0.5.3 (23.05.2014) -- Added new namespace `cordova.plugins.notification.badge`
- **Note:** The former `plugin.notification.badge` namespace is deprecated now and will be removed in the next major release. - -- [bugfix:] `get` returned the old value even after `clear` was called on Android. - -#### Version 0.5.2 (12.04.2014) -- [enhancement:] Badge can be cleared automatically through `setClearOnTap` -- [enhancement:] Badge can be retrieved through `get` - -#### Version 0.5.1 (25.01.2014) -- [enhancement:] Specify custom notification title on Android can be set through JS interface. -- [enhancement:] Setting launchMode to *singleInstance* isn't necessary anymore. App does not restart on click anymore. - -#### Version 0.5.0 (04.01.2014) -- Added Android support - -#### Version 0.4.1 (04.12.2013) -- Release under the Apache 2.0 license. - -#### Version 0.4.0 (07.10.2013) -- Added WP8 support -- **Note:** The former `plugin.badge` namespace is not longer available. - -#### Version 0.2.1 (15.08.2013) -- Added new namespace `plugin.notification.badge`
- **Note:** The former `plugin.badge` namespace is deprecated now and will be removed in the next major release. - -#### Version 0.2.0 (11.08.2013) -- Added iOS support
- *Based on the Badge iOS plugin made by* ***Joseph Stuhr*** diff --git a/plugins/de.appplant.cordova.plugin.badge/LICENSE b/plugins/de.appplant.cordova.plugin.badge/LICENSE deleted file mode 100644 index 7a4a3ea2..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/plugins/de.appplant.cordova.plugin.badge/README.md b/plugins/de.appplant.cordova.plugin.badge/README.md deleted file mode 100644 index e7f44ba9..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/README.md +++ /dev/null @@ -1,113 +0,0 @@ - -[![PayPayl](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FF6GG425KEQ3E "Donate once-off to this project using Paypal") -[![npm version](https://badge.fury.io/js/de.appplant.cordova.plugin.badge.svg)](http://badge.fury.io/js/de.appplant.cordova.plugin.badge) -[![Code Climate](https://codeclimate.com/github/katzer/cordova-plugin-badge/badges/gpa.svg)](https://codeclimate.com/github/katzer/cordova-plugin-badge) - -Cordova Badge Plugin -==================== - -The essential purpose of badge numbers is to enable an application to inform its users that it has something for them — for example, unread messages — when the application isn’t running in the foreground. - - - -### How they appear to the user -Users see notifications in the following ways: -- Badging the app’s icon - - -## Supported Platforms -The current 0.7 branch does support the following platforms: -- __Amazon FireOS__ -- __Android__ -- __Browser__ -- __iOS__ -- __Windows__ -- __WP8__ and __WP8.1 Silverlight__ - -Find out more informations [here][wiki_platforms] in our wiki. - - -## Installation -The plugin is installable from source and available on Cordova Plugin Registry and PhoneGap Build. - -Find out more informations [here][wiki_installation] in our wiki. - - -## I want to get a quick overview -All wiki pages contain samples, but for a quick overview the sample section may be the fastest way. - -Find out more informations [here][wiki_samples] in our wiki. - - -## I want to get a deep overview -The plugin allows you to set, get, clear, increase and decrease the badge number. For Android the plugin offers additional configuration flags. - -Find out more about how to set, increase or decrease the badge [here][wiki_set]. - -To get a deep overview we recommend to read about all the topics in this wiki and try out the [Kitchen Sink App][wiki_kitchensink] - - -## I want to see the plugin in action -The plugin offers a kitchen sink sample app. Check out the cordova project and run the app directly from your command line or preferred IDE. - -Find out more informations [here][wiki_kitchensink] in our wiki. - - -## What's new -We are proud to announce our newest release version 0.7.x. Beside the hard work at the office and at the weekends it contains a lot of goodies, new features and easy to use APIs. - -Find out more informations [here][wiki_changelog] in our wiki. - - -## Sample -The sample demonstrates how to set a fix badge number and how to increase the current badge number. - -```javascript -// Set 10 on device ready -document.addEventListener('deviceready', function () { - cordova.plugins.notification.badge.set(10); -}, false); -``` -```javascript -// Increase the badge each time on pause -document.addEventListener('pause', function () { - cordova.plugins.notification.badge.increase(); -}, false); -``` - -Find out more informations [here][wiki_samples] in our wiki. - - -## Supporting -Your support is needed. If you use the plugin please support us in order to ensure further development and send us a drop through the donation button. - -Thank you! - -[![PayPayl](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FF6GG425KEQ3E "Donate once-off to this project using Paypal") - - -## Contributing - -1. Fork it -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request - - -## License - -This software is released under the [Apache 2.0 License][apache2_license]. - -© 2013-2015 appPlant UG, Inc. All rights reserved - - -[cordova]: https://cordova.apache.org -[wiki]: https://github.com/katzer/cordova-plugin-badge/wiki -[wiki_platforms]: https://github.com/katzer/cordova-plugin-badge/wiki/01.-Platforms -[wiki_installation]: https://github.com/katzer/cordova-plugin-badge/wiki/02.-Installation -[wiki_kitchensink]: https://github.com/katzer/cordova-plugin-badge/tree/example -[wiki_set]: https://github.com/katzer/cordova-plugin-badge/wiki/03.-Set-Badge -[wiki_samples]: https://github.com/katzer/cordova-plugin-badge/wiki/07.-Samples -[wiki_changelog]: https://github.com/katzer/cordova-plugin-badge/wiki/08.-Changelog -[apache2_license]: http://opensource.org/licenses/Apache-2.0 diff --git a/plugins/de.appplant.cordova.plugin.badge/package.json b/plugins/de.appplant.cordova.plugin.badge/package.json deleted file mode 100644 index 391794a7..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "version": "0.7.1", - "name": "de.appplant.cordova.plugin.badge", - "cordova_name": "Cordova Badge Plugin", - "description": "Cordova plugin to access and modify the badge number of the app icon", - "author": "Sebastián Katzer", - "license": "Apache 2.0", - "repo": "https://github.com/katzer/cordova-plugin-badge.git", - "issue": "https://github.com/katzer/cordova-plugin-badge/issues", - "keywords": [ - "appplant", - "badge", - "cordova", - "ecosystem:cordova", - "cordova-android", - "cordova-amazon-fireos", - "cordova-ios", - "cordova-wp8", - "cordova-windows", - "cordova-browser" - ], - "platforms": [ - "ios", - "wp8", - "android", - "amazon-fireos", - "browser", - "windows" - ], - "engines": [ - { - "name": "cordova", - "version": ">=3.0.0" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/katzer/cordova-plugin-badge.git" - } -} diff --git a/plugins/de.appplant.cordova.plugin.badge/plugin.xml b/plugins/de.appplant.cordova.plugin.badge/plugin.xml deleted file mode 100644 index 46bae990..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/plugin.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - Cordova Badge Plugin - - - Cordova plugin to access and modify the badge number of the app icon - - - https://github.com/katzer/cordova-plugin-badge.git - - https://github.com/katzer/cordova-plugin-badge/issues - - appplant, badge - - Apache 2.0 - - Sebastián Katzer - - - - - - - - - - - - - - - - - Your support is needed. If you use the badge plugin please support us in order to ensure further development. - https://github.com/katzer/cordova-plugin-badge#supporting - - Thank you! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/de.appplant.cordova.plugin.badge/src/android/Badge.java b/plugins/de.appplant.cordova.plugin.badge/src/android/Badge.java deleted file mode 100644 index 97f710e6..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/android/Badge.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -package de.appplant.cordova.plugin.badge; - -import android.content.Context; - -import org.apache.cordova.CallbackContext; -import org.apache.cordova.CordovaPlugin; -import org.json.JSONArray; -import org.json.JSONException; - - -public class Badge extends CordovaPlugin { - - /** - * Implementation of the badge interface methods. - */ - private final BadgeImpl badgeImpl = new BadgeImpl(); - - /** - * Executes the request. - * - * @param action The action to execute. - * @param args The exec() arguments. - * @param callback The callback context used when - * calling back into JavaScript. - * - * @return - * Returning false results in a "MethodNotFound" error. - * - * @throws JSONException - */ - @Override - public boolean execute (String action, JSONArray args, CallbackContext callback) - throws JSONException { - - if (action.equalsIgnoreCase("clearBadge")) { - clearBadge(callback); - return true; - } - - if (action.equalsIgnoreCase("getBadge")) { - getBadge(callback); - return true; - } - - if (action.equalsIgnoreCase("hasPermission")) { - hasPermission(callback); - return true; - } - - if (action.equalsIgnoreCase("registerPermission")) { - hasPermission(callback); - return true; - } - - if (action.equalsIgnoreCase("setBadge")) { - setBadge(args, callback); - return true; - } - - return false; - } - - /** - * Clears the badge of the app icon. - * - * @param callback - * The function to be exec as the callback - */ - private void clearBadge (final CallbackContext callback) { - cordova.getThreadPool().execute(new Runnable() { - @Override - public void run() { - badgeImpl.clearBadge(getContext()); - badgeImpl.getBadge(callback, getContext()); - } - }); - } - - /** - * Retrieves the badge of the app icon. - * - * @param callback - * The function to be exec as the callback - */ - private void getBadge (final CallbackContext callback) { - cordova.getThreadPool().execute(new Runnable() { - @Override - public void run() { - badgeImpl.getBadge(callback, getContext()); - } - }); - } - - /** - * Informs if the app has the permission to show badges. - * - * @param callback - * The function to be exec as the callback - */ - private void hasPermission (final CallbackContext callback) { - cordova.getThreadPool().execute(new Runnable() { - @Override - public void run() { - badgeImpl.hasPermission(callback); - } - }); - } - - /** - * Sets the badge of the app icon. - * - * @param args - * The new badge number - * @param callback - * The function to be exec as the callback - */ - private void setBadge (final JSONArray args, - final CallbackContext callback) { - - cordova.getThreadPool().execute(new Runnable() { - @Override - public void run() { - badgeImpl.clearBadge(getContext()); - badgeImpl.setBadge(args, getContext()); - badgeImpl.getBadge(callback, getContext()); - } - }); - } - - /** - * Returns the context of the activity. - */ - private Context getContext () { - return cordova.getActivity(); - } - -} diff --git a/plugins/de.appplant.cordova.plugin.badge/src/android/BadgeImpl.java b/plugins/de.appplant.cordova.plugin.badge/src/android/BadgeImpl.java deleted file mode 100644 index 9f55c920..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/android/BadgeImpl.java +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Copyright (c) 2014-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -package de.appplant.cordova.plugin.badge; - -import android.app.Notification; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.os.Build; - -import org.apache.cordova.CallbackContext; -import org.apache.cordova.PluginResult; -import org.json.JSONArray; - -import me.leolin.shortcutbadger.ShortcutBadger; -import me.leolin.shortcutbadger.impl.DefaultBadger; - -/** - * Implementation of the badge interface methods. - */ -class BadgeImpl { - - /** - * The ID for the notification - */ - private final int ID = -450793490; - - /** - * The name for the shared preferences key - */ - protected static final String KEY = "badge"; - - /** - * Bundle identifier for the autoCancel value - */ - protected static final String EXTRA_AUTO_CANCEL = "EXTRA_AUTO_CANCEL"; - - /** - * Finds out if badgeing the app icon is possible on that device. - * - * @param ctx - * The application context. - * @return - * true if its supported. - */ - private boolean canBadgeAppIcon (Context ctx) { - ShortcutBadger badger = ShortcutBadger.with(ctx); - - return !(badger instanceof DefaultBadger); - } - - /** - * Clears the badge of the app icon. - * - * @param ctx - * The application context. - */ - protected void clearBadge (Context ctx) { - saveBadge(0, ctx); - getNotificationManager(ctx).cancel(ID); - ShortcutBadger.with(ctx).remove(); - } - - /** - * Retrieves the badge of the app icon. - * - * @param ctx - * The application context. - * @param callback - * The function to be exec as the callback. - */ - protected void getBadge (CallbackContext callback, Context ctx) { - SharedPreferences settings = getSharedPreferences(ctx); - int badge = settings.getInt(KEY, 0); - PluginResult result; - - result = new PluginResult(PluginResult.Status.OK, badge); - - callback.sendPluginResult(result); - } - - /** - * Sets the badge of the app icon. - * - * @param args - * The new badge number - * @param ctx - * The application context - */ - protected void setBadge (JSONArray args, Context ctx) { - int badge = args.optInt(0); - - saveBadge(badge, ctx); - - if (canBadgeAppIcon(ctx)) { - ShortcutBadger.with(ctx).count(badge); - } else { - setBadgeNotification(badge, args, ctx); - } - } - - /** - * Sets the badge of the app icon. - * - * @param args - * The new badge number - * @param ctx - * The application context - */ - @SuppressWarnings("deprecation") - private void setBadgeNotification (int badge, JSONArray args, Context ctx) { - String title = args.optString(1, "%d new messages"); - String icon = args.optString(2); - boolean autoCancel = args.optBoolean(3, false); - - Resources res = ctx.getResources(); - Bitmap appIcon = BitmapFactory.decodeResource( - res, getDrawableIcon(ctx)); - - Intent intent = new Intent(ctx, LaunchActivity.class) - .setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); - - intent.putExtra(EXTRA_AUTO_CANCEL, autoCancel); - - PendingIntent contentIntent = PendingIntent.getActivity( - ctx, ID, intent, PendingIntent.FLAG_CANCEL_CURRENT); - - String title_ = String.format(title, badge); - - Notification.Builder notification = new Notification.Builder(ctx) - .setContentTitle(title_) - .setNumber(badge) - .setTicker(title_) - .setAutoCancel(autoCancel) - .setSmallIcon(getResIdForSmallIcon(icon, ctx)) - .setLargeIcon(appIcon) - .setContentIntent(contentIntent); - - if (Build.VERSION.SDK_INT<16) { - // Build notification for HoneyComb to ICS - getNotificationManager(ctx).notify(ID, notification.getNotification()); - } else if (Build.VERSION.SDK_INT>15) { - // Notification for Jellybean and above - getNotificationManager(ctx).notify(ID, notification.build()); - } - } - - /** - * Persist the badge of the app icon so that `getBadge` is able to return - * the badge number back to the client. - * - * @param badge - * The badge of the app icon. - * @param ctx - * The application context. - */ - protected void saveBadge (int badge, Context ctx) { - SharedPreferences.Editor editor = getSharedPreferences(ctx).edit(); - - editor.putInt(KEY, badge); - editor.apply(); - } - - /** - * Informs if the app has the permission to show badges. - * - * @param callback - * The function to be exec as the callback - */ - protected void hasPermission (final CallbackContext callback) { - PluginResult result = new PluginResult(PluginResult.Status.OK, true); - - callback.sendPluginResult(result); - } - - /** - * The Local storage for the application. - */ - private SharedPreferences getSharedPreferences (Context context) { - return context.getSharedPreferences(KEY, Context.MODE_PRIVATE); - } - - /** - * The NotificationManager for the app. - */ - private NotificationManager getNotificationManager (Context context) { - return (NotificationManager) context.getSystemService( - Context.NOTIFICATION_SERVICE); - } - - /** - * Returns the ID for the given resource. - * - * @return - * The resource ID of the app icon - */ - private int getDrawableIcon (Context ctx) { - Resources res = ctx.getResources(); - String pkgName = ctx.getPackageName(); - - int resId; - resId = res.getIdentifier("icon", "drawable", pkgName); - - return resId; - } - - /** - * Returns the ID for the given resource. - * - * @return - * The resource ID for the small icon. - */ - private int getResIdForSmallIcon (String smallIcon, Context ctx) { - int resId; - - String pkgName = ctx.getPackageName(); - - resId = getResId(pkgName, smallIcon); - - if (resId == 0) { - resId = getResId("android", smallIcon); - } - - if (resId == 0) { - resId = getResId("android", "ic_dialog_email"); - } - - return resId; - } - - /** - * Returns numerical icon Value. - * - * @param className - * The class name prefix either from Android or the app. - * @param iconName - * The resource name. - */ - private int getResId (String className, String iconName) { - int icon = 0; - - try { - Class klass = Class.forName(className + ".R$drawable"); - - icon = (Integer) klass.getDeclaredField(iconName).get(Integer.class); - } catch (Exception ignored) {} - - return icon; - } - -} diff --git a/plugins/de.appplant.cordova.plugin.badge/src/android/LaunchActivity.java b/plugins/de.appplant.cordova.plugin.badge/src/android/LaunchActivity.java deleted file mode 100644 index 8e2227fb..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/android/LaunchActivity.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -package de.appplant.cordova.plugin.badge; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.Bundle; - -public class LaunchActivity extends Activity { - - /** - * Clears the badge and moves the launch intent - * (web view) back to front. - */ - @Override - public void onCreate (Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - Intent intent = getIntent(); - boolean cancel = intent.getBooleanExtra( - BadgeImpl.EXTRA_AUTO_CANCEL, false); - - if (cancel) { - clearBagde(); - } - - launchMainIntent(); - } - - /** - * Launch main intent for package. - */ - private void launchMainIntent () { - Context context = getApplicationContext(); - String pkgName = context.getPackageName(); - Intent intent = context.getPackageManager() - .getLaunchIntentForPackage(pkgName); - - intent.addFlags( - Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP); - - context.startActivity(intent); - } - - /** - * Removes the badge of the app icon so that `getBadge` - * will return 0 back to the client. - */ - private void clearBagde () { - SharedPreferences.Editor editor = getSharedPreferences().edit(); - - editor.putInt(BadgeImpl.KEY, 0); - editor.apply(); - } - - /** - * The Local storage for the application. - */ - private SharedPreferences getSharedPreferences () { - Context context = getApplicationContext(); - - return context.getSharedPreferences(BadgeImpl.KEY, Context.MODE_PRIVATE); - } - -} diff --git a/plugins/de.appplant.cordova.plugin.badge/src/android/badge.gradle b/plugins/de.appplant.cordova.plugin.badge/src/android/badge.gradle deleted file mode 100644 index b2a7b07d..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/android/badge.gradle +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -repositories { - mavenCentral() -} - -dependencies { - compile 'me.leolin:ShortcutBadger:1.1.2@aar' -} diff --git a/plugins/de.appplant.cordova.plugin.badge/src/browser/BadgeProxy.js b/plugins/de.appplant.cordova.plugin.badge/src/browser/BadgeProxy.js deleted file mode 100644 index 44edd023..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/browser/BadgeProxy.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - - -/** - * Instance of the Favico.js libary. - * @type {Favico} - */ -exports.favico = new cordova.plugins.notification.badge.Favico({ - animation: 'none' -}); - -/** - * Holds the current badge number value. - * @type {Number} - */ -exports.badgeNumber = 0; - - -/** - * Clears the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.clearBadge = function (success, error) { - exports.setBadge(success, error, [0]); -}; - -/** - * Sets the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - * @param {Number} badge - * The new badge number - */ -exports.setBadge = function (success, error, args) { - var badge = args[0]; - - exports.badgeNumber = badge; - - exports.favico.badge(badge); - success(badge); -}; - -/** - * Gets the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.getBadge = function (success, error) { - success(exports.badgeNumber); -}; - -/** - * Informs if the app has the permission to show badges. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.hasPermission = function (success, error) { - success(true); -}; - -/** - * Register permission to show badges if not already granted. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.registerPermission = function (success, error) { - success(true); -}; - - -cordova.commandProxy.add('Badge', exports); diff --git a/plugins/de.appplant.cordova.plugin.badge/src/browser/favico.min.js b/plugins/de.appplant.cordova.plugin.badge/src/browser/favico.min.js deleted file mode 100644 index de0de6bc..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/browser/favico.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license MIT - * @fileOverview Favico animations - * @author Miroslav Magda, http://blog.ejci.net - * @version 0.3.9 - */ -!function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{f.clearRect(0,0,s,l),f.drawImage(e,0,0,s,l)}catch(o){}p=setTimeout(t,S.duration,e),O.setIcon(h)}function o(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,o,n){return t+t+o+o+n+n});var o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16)}:!1}function n(e,t){var o,n={};for(o in e)n[o]=e[o];for(o in t)n[o]=t[o];return n}function r(){return b.hidden||b.msHidden||b.webkitHidden||b.mozHidden}e=e?e:{};var i,a,l,s,h,f,c,d,u,y,w,g,x,m,p,b,v={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1,win:window};x={},x.ff="undefined"!=typeof InstallTrigger,x.chrome=!!window.chrome,x.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,x.ie=/*@cc_on!@*/!1,x.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,x.supported=x.chrome||x.ff||x.opera;var C=[];w=function(){},d=g=!1;var E=function(){i=n(v,e),i.bgColor=o(i.bgColor),i.textColor=o(i.textColor),i.position=i.position.toLowerCase(),i.animation=S.types[""+i.animation]?i.animation:v.animation,b=i.win.document;var t=i.position.indexOf("up")>-1,r=i.position.indexOf("left")>-1;if(t||r)for(var d=0;d0?c.height:32,s=c.width>0?c.width:32,h.height=l,h.width=s,f=h.getContext("2d"),M.ready()}):(c.setAttribute("src",""),l=32,s=32,c.height=l,c.width=s,h.height=l,h.width=s,f=h.getContext("2d"),M.ready())},M={};M.ready=function(){d=!0,M.reset(),w()},M.reset=function(){d&&(C=[],u=!1,y=!1,f.clearRect(0,0,s,l),f.drawImage(c,0,0,s,l),O.setIcon(h),window.clearTimeout(m),window.clearTimeout(p))},M.start=function(){if(d&&!y){var e=function(){u=C[0],y=!1,C.length>0&&(C.shift(),M.start())};if(C.length>0){y=!0;var t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(e){e in C[0].options&&(i[e]=C[0].options[e])}),S.run(C[0].options,function(){e()},!1)};u?S.run(u.options,function(){t()},!0):t()}}};var A={},I=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=s*e.x,e.y=l*e.y,e.w=s*e.w,e.h=l*e.h,e.len=(""+e.n).length,e};A.circle=function(e){e=I(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),f.clearRect(0,0,s,l),f.drawImage(c,0,0,s,l),f.beginPath(),f.font=i.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+i.fontFamily,f.textAlign="center",t?(f.moveTo(e.x+e.w/2,e.y),f.lineTo(e.x+e.w-e.h/2,e.y),f.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),f.lineTo(e.x+e.w,e.y+e.h-e.h/2),f.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),f.lineTo(e.x+e.h/2,e.y+e.h),f.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),f.lineTo(e.x,e.y+e.h/2),f.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):f.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),f.fillStyle="rgba("+i.bgColor.r+","+i.bgColor.g+","+i.bgColor.b+","+e.o+")",f.fill(),f.closePath(),f.beginPath(),f.stroke(),f.fillStyle="rgba("+i.textColor.r+","+i.textColor.g+","+i.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?f.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):f.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),f.closePath()},A.rectangle=function(e){e=I(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),f.clearRect(0,0,s,l),f.drawImage(c,0,0,s,l),f.beginPath(),f.font=i.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+i.fontFamily,f.textAlign="center",f.fillStyle="rgba("+i.bgColor.r+","+i.bgColor.g+","+i.bgColor.b+","+e.o+")",f.fillRect(e.x,e.y,e.w,e.h),f.fillStyle="rgba("+i.textColor.r+","+i.textColor.g+","+i.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?f.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):f.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),f.closePath()};var T=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},w=function(){try{if("number"==typeof e?e>0:""!==e){var n={type:"badge",options:{n:e}};if("animation"in t&&S.types[""+t.animation]&&(n.options.animation=""+t.animation),"type"in t&&A[""+t.type]&&(n.options.type=""+t.type),["bgColor","textColor"].forEach(function(e){e in t&&(n.options[e]=o(t[e]))}),["fontStyle","fontFamily"].forEach(function(e){e in t&&(n.options[e]=t[e])}),C.push(n),C.length>100)throw new Error("Too many badges requests in queue.");M.start()}else M.reset()}catch(r){throw new Error("Error setting badge. Message: "+r.message)}},d&&w()},U=function(e){w=function(){try{var t=e.width,o=e.height,n=document.createElement("img"),r=o/l>t/s?t/s:o/l;n.setAttribute("crossOrigin","anonymous"),n.setAttribute("src",e.getAttribute("src")),n.height=o/r,n.width=t/r,f.clearRect(0,0,s,l),f.drawImage(n,0,0,s,l),O.setIcon(h)}catch(i){throw new Error("Error setting image. Message: "+i.message)}},d&&w()},R=function(e){w=function(){try{if("stop"===e)return g=!0,M.reset(),void(g=!1);e.addEventListener("play",function(){t(this)},!1)}catch(o){throw new Error("Error setting video. Message: "+o.message)}},d&&w()},L=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),x.supported){var o=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,w=function(){try{if("stop"===e)return g=!0,M.reset(),void(g=!1);o=document.createElement("video"),o.width=s,o.height=l,navigator.getUserMedia({video:!0,audio:!1},function(e){o.src=URL.createObjectURL(e),o.play(),t(o)},function(){})}catch(n){throw new Error("Error setting webcam. Message: "+n.message)}},d&&w()}},O={};O.getIcon=function(){var e=!1,t=function(){for(var e=b.getElementsByTagName("head")[0].getElementsByTagName("link"),t=e.length,o=t-1;o>=0;o--)if(/(^|\s)icon(\s|$)/i.test(e[o].getAttribute("rel")))return e[o];return!1};return i.element?e=i.element:i.elementId?(e=b.getElementById(i.elementId),e.setAttribute("href",e.getAttribute("src"))):(e=t(),e===!1&&(e=b.createElement("link"),e.setAttribute("rel","icon"),b.getElementsByTagName("head")[0].appendChild(e))),e.setAttribute("type","image/png"),e},O.setIcon=function(e){var t=e.toDataURL("image/png");if(i.dataUrl&&i.dataUrl(t),i.element)i.element.setAttribute("href",t),i.element.setAttribute("src",t);else if(i.elementId){var o=b.getElementById(i.elementId);o.setAttribute("href",t),o.setAttribute("src",t)}else if(x.ff||x.opera){var n=a;a=b.createElement("link"),x.opera&&a.setAttribute("rel","icon"),a.setAttribute("rel","icon"),a.setAttribute("type","image/png"),b.getElementsByTagName("head")[0].appendChild(a),a.setAttribute("href",t),n.parentNode&&n.parentNode.removeChild(n)}else a.setAttribute("href",t)};var S={};return S.duration=40,S.types={},S.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],S.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],S.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],S.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],S.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],S.run=function(e,t,o,a){var l=S.types[r()?"none":i.animation];return a=o===!0?"undefined"!=typeof a?a:l.length-1:"undefined"!=typeof a?a:0,t=t?t:function(){},a=0?(A[i.type](n(e,l[a])),m=setTimeout(function(){o?a-=1:a+=1,S.run(e,t,o,a)},S.duration),O.setIcon(h),void 0):void t()},E(),{badge:T,video:R,image:U,webcam:L,reset:M.reset,browser:{supported:x.supported}}};"undefined"!=typeof define&&define.amd?define([],function(){return e}):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(); diff --git a/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.h b/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.h deleted file mode 100644 index bf9a1e58..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -#import -#import - -@interface APPBadge : CDVPlugin - -// Clears the badge of the app icon -- (void) clearBadge:(CDVInvokedUrlCommand *)command; -// Sets the badge of the app icon -- (void) setBadge:(CDVInvokedUrlCommand *)command; -// Gets the badge of the app icon -- (void) getBadge:(CDVInvokedUrlCommand *)command; -// Informs if the app has the permission to show badges -- (void) hasPermission:(CDVInvokedUrlCommand *)command; -// Register permission to show badges -- (void) registerPermission:(CDVInvokedUrlCommand *)command; - -@end diff --git a/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.m b/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.m deleted file mode 100644 index e7db643f..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/ios/APPBadge.m +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -#import "APPBadge.h" -#import "UIApplication+APPBadge.h" -#import "AppDelegate+APPRegisterUserNotificationSettings.h" - -@interface APPBadge () - -// Needed when calling `registerPermission` -@property (nonatomic, retain) CDVInvokedUrlCommand* command; - -@end - -@implementation APPBadge - -#pragma mark - -#pragma mark Interface - -/** - * Clears the badge of the app icon. - * - */ -- (void) clearBadge:(CDVInvokedUrlCommand *)command -{ - [self.commandDelegate runInBackground:^{ - [self.app setApplicationIconBadgeNumber:0]; - - [self sendPluginResult:CDVCommandStatus_OK - messageAsLong:0 - callbackId:command.callbackId]; - }]; -} - -/** - * Sets the badge of the app icon. - * - * @param badge - * The badge to be set - */ -- (void) setBadge:(CDVInvokedUrlCommand *)command -{ - NSArray* args = [command arguments]; - int number = [[args objectAtIndex:0] intValue]; - - [self.commandDelegate runInBackground:^{ - [self.app setApplicationIconBadgeNumber:number]; - - [self sendPluginResult:CDVCommandStatus_OK - messageAsLong:number - callbackId:command.callbackId]; - }]; -} - -/** - * Gets the badge of the app icon. - * - * @param callback - * The function to be exec as the callback - */ -- (void) getBadge:(CDVInvokedUrlCommand *)command -{ - [self.commandDelegate runInBackground:^{ - long badge = [self.app applicationIconBadgeNumber]; - - [self sendPluginResult:CDVCommandStatus_OK - messageAsLong:badge - callbackId:command.callbackId]; - }]; -} - -/** - * Informs if the app has the permission to show badges. - * - * @param callback - * The function to be exec as the callback - */ -- (void) hasPermission:(CDVInvokedUrlCommand *)command -{ - [self.commandDelegate runInBackground:^{ - BOOL hasPermission = [self.app hasPermissionToDisplayBadges]; - - [self sendPluginResult:CDVCommandStatus_OK - messageAsBool:hasPermission - callbackId:command.callbackId]; - }]; -} - -/** - * Register permission to show badges. - * - * @param callback - * The function to be exec as the callback - */ -- (void) registerPermission:(CDVInvokedUrlCommand *)command -{ - if (![[UIApplication sharedApplication] - respondsToSelector:@selector(registerUserNotificationSettings:)]) - { - return [self hasPermission:command]; - } - - _command = command; - - [self.commandDelegate runInBackground:^{ - [self.app registerPermissionToDisplayBadges]; - }]; -} - -#pragma mark - -#pragma mark Delegates - -/** - * Called on otification settings registration is completed. - */ -- (void) didRegisterUserNotificationSettings:(UIUserNotificationSettings*)settings -{ - if (_command) - { - [self hasPermission:_command]; - _command = NULL; - } -} - -#pragma mark - -#pragma mark Life Cycle - -/** - * Registers obervers after plugin was initialized. - */ -- (void) pluginInitialize -{ - NSNotificationCenter* center = [NSNotificationCenter - defaultCenter]; - - [center addObserver:self - selector:@selector(didRegisterUserNotificationSettings:) - name:UIApplicationRegisterUserNotificationSettings - object:nil]; -} - -#pragma mark - -#pragma mark Helper - -/** - * Short hand for shared application instance. - */ -- (UIApplication*) app -{ - return [UIApplication sharedApplication]; -} - -/** - * Sends a plugin result with the specified status and message. - */ -- (void) sendPluginResult:(CDVCommandStatus)status - messageAsBool:(BOOL)msg - callbackId:(NSString*)callbackId -{ - CDVPluginResult* result; - - result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK - messageAsBool:msg]; - - [self.commandDelegate sendPluginResult:result - callbackId:callbackId]; -} - -/** - * Sends a plugin result with the specified status and message. - */ -- (void) sendPluginResult:(CDVCommandStatus)status - messageAsLong:(long)msg - callbackId:(NSString*)callbackId -{ - CDVPluginResult* result; - - result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK - messageAsDouble:msg]; - - [self.commandDelegate sendPluginResult:result - callbackId:callbackId]; -} - -@end diff --git a/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.h b/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.h deleted file mode 100644 index 9ce7f7e5..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -@interface UIApplication (APPBadge) - -// If the app has the permission to display badges -- (BOOL) hasPermissionToDisplayBadges; -// Ask for permission to display badges -- (void) registerPermissionToDisplayBadges; - -@end diff --git a/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.m b/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.m deleted file mode 100644 index 3e4cd99b..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/ios/UIApplication+APPBadge.m +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -#import "UIApplication+APPBadge.h" - -@implementation UIApplication (APPBadge) - -#pragma mark - -#pragma mark Permissions - -/** - * If the app has the permission to display badges. - */ -- (BOOL) hasPermissionToDisplayBadges -{ - if (![self respondsToRegisterUserNotificationSettings]) - return YES; - - UIUserNotificationSettings *settings; - - settings = [[UIApplication sharedApplication] - currentUserNotificationSettings]; - - return (settings.types & UIUserNotificationTypeBadge); -} - -/** - * Register permission to display badges. - */ -- (void) registerPermissionToDisplayBadges -{ - if (![self respondsToRegisterUserNotificationSettings]) - return; - - UIUserNotificationType types; - UIUserNotificationSettings *settings; - - settings = [[UIApplication sharedApplication] - currentUserNotificationSettings]; - - types = settings.types | UIUserNotificationTypeBadge; - - settings = [UIUserNotificationSettings settingsForTypes:types - categories:nil]; - - [[UIApplication sharedApplication] - registerUserNotificationSettings:settings]; -} - -#pragma mark - -#pragma mark Helper methods - -/** - * If UIApplication responds to seelctor registerUserNotificationSettings: - * - * @return - * true for iOS8 and above - */ -- (BOOL) respondsToRegisterUserNotificationSettings -{ - return [[UIApplication sharedApplication] - respondsToSelector:@selector(registerUserNotificationSettings:)]; -} - -@end diff --git a/plugins/de.appplant.cordova.plugin.badge/src/windows/BadgeProxy.js b/plugins/de.appplant.cordova.plugin.badge/src/windows/BadgeProxy.js deleted file mode 100644 index 33029f2c..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/windows/BadgeProxy.js +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - - -/** - * Clears the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.clearBadge = function (success, error) { - exports.setBadge(success, error, [0]); -}; - -/** - * Gets the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.getBadge = function (success, error) { - var app = WinJS.Application, - file = exports._cordova_badge_number; - - app.local.exists(file).then(function (exists) { - if (exists) { - app.local.readText(file).then(function (badge) { - success(isNaN(badge) ? badge : Number(badge)); - }); - } else { - success(0); - } - }); -}; - -/** - * Informs if the app has the permission to show badges. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.hasPermission = function (success, error) { - success(true); -}; - -/** - * Register permission to show badges if not already granted. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - */ -exports.registerPermission = function (success, error) { - exports.hasPermission(success, error); -}; - -/** - * Sets the badge of the app icon. - * - * @param {Function} success - * Success callback - * @param {Function} error - * Error callback - * @param {Number} badge - * The new badge number - */ -exports.setBadge = function (success, error, args) { - var notifications = Windows.UI.Notifications, - badge = args[0], - type = notifications.BadgeTemplateType.badgeNumber, - xml = notifications.BadgeUpdateManager.getTemplateContent(type), - attrs = xml.getElementsByTagName('badge'), - notification = new notifications.BadgeNotification(xml); - - attrs[0].setAttribute('value', badge); - - notifications.BadgeUpdateManager - .createBadgeUpdaterForApplication() - .update(notification); - - exports._saveBadge(badge); - - success(badge); -}; - - -/******** - * UTIL * - ********/ - -/** - * Path to file that containes the badge number. - * @type {String} - */ -exports._cordova_badge_number = 'cordova_badge_number'; - -/** - * Persist the badge of the app icon so that `getBadge` is able to return the - * badge number back to the client. - * - * @param {Number|String} badge - * The badge number to save for. - * - * @return void - */ -exports._saveBadge = function (badge) { - WinJS.Application.local.writeText(exports._cordova_badge_number, badge); -}; - - -cordova.commandProxy.add('Badge', exports); diff --git a/plugins/de.appplant.cordova.plugin.badge/src/wp8/Badge.cs b/plugins/de.appplant.cordova.plugin.badge/src/wp8/Badge.cs deleted file mode 100644 index eb384c38..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/src/wp8/Badge.cs +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -using System; -using System.Linq; - -using Microsoft.Phone.Shell; - -using WPCordovaClassLib.Cordova; -using WPCordovaClassLib.Cordova.Commands; -using WPCordovaClassLib.Cordova.JSON; -using System.IO.IsolatedStorage; - -namespace Cordova.Extension.Commands -{ - public class Badge : BaseCommand - { - - /// - /// Name for the shared preferences - /// - private const string KEY = "badge"; - - /// - /// Clears the count property of the live tile - /// - public void clearBadge (string args) - { - setBadge(args); - getBadge(args); - } - - /// - /// Sets the count property of the live tile - /// - public void setBadge (string args) - { - // Application Tile is always the first Tile, even if it is not pinned to Start. - ShellTile tile = ShellTile.ActiveTiles.First(); - - // Application should always be found - if (tile != null) - { - string[] ary = JsonHelper.Deserialize(args); - int count = 0; - string title = ""; - - try { - count = int.Parse(ary[0]); - } - catch (FormatException) { }; - - if (ary.Length > 1) - { - title = ary[1].Replace("%d", "{0}"); - title = String.Format(title, count); - } - - StandardTileData TileData = new StandardTileData - { - Count = count, - BackTitle = title - }; - - SaveBadge(count); - - tile.Update(TileData); - } - - getBadge(args); - } - - /// - /// Gets the count property of the live tile - /// - public void getBadge (string args) - { - // Application Tile is always the first Tile, even if it is not pinned to Start. - ShellTile tile = ShellTile.ActiveTiles.First(); - - // Application should always be found - if (tile != null) - { - IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; - int badge = 0; - PluginResult result; - - if (settings.Contains(KEY)) { - badge = (int)settings[KEY]; - } - - result = new PluginResult(PluginResult.Status.OK, badge); - - DispatchCommandResult(result); - } - } - - /// - /// Informs if the app has the permission to show badges. - /// - public void hasPermission (string args) - { - PluginResult result; - - result = new PluginResult(PluginResult.Status.OK, true); - - DispatchCommandResult(result); - } - - /// - /// Ask for permission to show badges. - /// - public void registerPermission (string args) - { - hasPermission(args); - } - - /// - /// Persist the badge of the app icon so that `getBadge` is able to return - /// the badge number back to the client. - /// - private void SaveBadge (int badge) - { - IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; - - if (settings.Contains(KEY)) { - settings[KEY] = badge; - } - else { - settings.Add(KEY, badge); - } - } - - } -} diff --git a/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml b/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml deleted file mode 100644 index f8d815bf..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Cordova Badge Plugin Tests - Apache 2.0 - - - diff --git a/plugins/de.appplant.cordova.plugin.badge/tests/tests.js b/plugins/de.appplant.cordova.plugin.badge/tests/tests.js deleted file mode 100644 index 473cd02a..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/tests/tests.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - - -exports.defineAutoTests = function() { - - describe('Badge Plugin (cordova.plugins.notification.badge)', function () { - - describe('Plugin availability', function () { - - it("should exist", function() { - expect(cordova.plugins.notification.badge).toBeDefined(); - }); - - it("should define clear", function() { - expect(cordova.plugins.notification.badge.clear).toBeDefined(); - }); - - it("should define get", function() { - expect(cordova.plugins.notification.badge.get).toBeDefined(); - }); - - it("should define set", function() { - expect(cordova.plugins.notification.badge.set).toBeDefined(); - }); - - it("should define increase", function() { - expect(cordova.plugins.notification.badge.increase).toBeDefined(); - }); - - it("should define decrease", function() { - expect(cordova.plugins.notification.badge.decrease).toBeDefined(); - }); - - it("should define hasPermission", function() { - expect(cordova.plugins.notification.badge.hasPermission).toBeDefined(); - }); - - it("should define registerPermission", function() { - expect(cordova.plugins.notification.badge.registerPermission).toBeDefined(); - }); - - it("should define configure", function() { - expect(cordova.plugins.notification.badge.configure).toBeDefined(); - }); - - }); - - describe('API callbacks', function () { - - it("clear should invoke callback", function(done) { - cordova.plugins.notification.badge.clear(done); - }); - - it("get should invoke callback", function(done) { - cordova.plugins.notification.badge.get(done); - }); - - it("set should invoke callback", function(done) { - cordova.plugins.notification.badge.set(done); - }); - - it("increase should invoke callback", function(done) { - cordova.plugins.notification.badge.increase(done); - }); - - it("decrease should invoke callback", function(done) { - cordova.plugins.notification.badge.decrease(done); - }); - - it("hasPermission should invoke callback", function(done) { - cordova.plugins.notification.badge.hasPermission(done); - }); - - it("registerPermission should invoke callback", function(done) { - cordova.plugins.notification.badge.registerPermission(done); - }); - - }); - - describe('API functions', function () { - - it("clear should set badge to 0", function(done) { - cordova.plugins.notification.badge.clear(function (badge) { - expect(badge).toBe(0); - done(); - }); - }); - - it("should return badge", function(done) { - cordova.plugins.notification.badge.set(10, function (badge) { - expect(badge).toBe(10); - - cordova.plugins.notification.badge.get(function (badge2) { - expect(badge).toBe(badge2); - done(); - }); - }); - }); - - it("should increase badge", function(done) { - cordova.plugins.notification.badge.set(10, function () { - cordova.plugins.notification.badge.increase(1, function (badge) { - expect(badge).toBe(11); - done(); - }); - }); - }); - - it("should decrease badge", function(done) { - cordova.plugins.notification.badge.set(10, function () { - cordova.plugins.notification.badge.decrease(1, function (badge) { - expect(badge).toBe(9); - done(); - }); - }); - }); - - it("hasPermission should return boolean", function(done) { - cordova.plugins.notification.badge.hasPermission(function (has) { - expect(has === true || has === false).toBe(true); - done(); - }); - }); - - it("registerPermission should return boolean", function(done) { - cordova.plugins.notification.badge.registerPermission(function (has) { - expect(has === true || has === false).toBe(true); - done(); - }); - }); - - }); - - }); -}; diff --git a/plugins/de.appplant.cordova.plugin.badge/www/badge.js b/plugins/de.appplant.cordova.plugin.badge/www/badge.js deleted file mode 100644 index ab6177cc..00000000 --- a/plugins/de.appplant.cordova.plugin.badge/www/badge.js +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * 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. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -var exec = require('cordova/exec'), - channel = require('cordova/channel'); - - -/************* - * INTERFACE * - *************/ - -/** - * Clears the badge of the app icon. - * - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.clear = function (callback, scope) { - this.exec('clearBadge', null, callback, scope); -}; - -/** - * Sets the badge of the app icon. - * - * @param {Number} badge - * The new badge number - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.set = function (badge, callback, scope) { - var args = [ - parseInt(badge) || 0, - this._config.title, - this._config.smallIcon, - this._config.autoClear - ]; - - this.registerPermission(function (granted) { - if (granted) { - this.exec('setBadge', args, callback, scope); - } - }, this); -}; - -/** - * Gets the badge of the app icon. - * - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.get = function (callback, scope) { - this.exec('getBadge', null, callback, scope); -}; - -/** - * Increases the badge number. - * - * @param {Number} count - * Count to add to the current badge number - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.increase = function (count, callback, scope) { - this.get(function (badge) { - this.set(badge + (count || 1), callback, scope); - }, this); -}; - -/** - * Decreases the badge number. - * - * @param {Number} count - * Count to subtract from the current badge number - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.decrease = function (count, callback, scope) { - this.get(function (badge) { - this.set(Math.max(0, badge - (count || 1)), callback, scope); - }, this); -}; - -/** - * Informs if the app has the permission to show badges. - * - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.hasPermission = function (callback, scope) { - this.exec('hasPermission', null, callback, scope); -}; - -/** - * Register permission to show badges if not already granted. - * - * @param {Function} callback - * The function to be exec as the callback - * @param {Object?} scope - * The callback function's scope - */ -exports.registerPermission = function (callback, scope) { - this.exec('registerPermission', null, callback, scope); -}; - -/** - * Configures the plugin's platform options. - * - * @param {Hash?} object - * The new configuration settings - * - * @return {Hash} - * The current configuration settings - */ -exports.configure = function (config) { - for (var key in config) { - if (this._config.hasOwnProperty(key)) { - this._config[key] = config[key]; - } - } - - return this._config; -}; - - -/**************** - * DEPRECATIONS * - ****************/ - -/** - * Sets the custom notification title for Android. - * - * @param {String} title - * The title of the notification - */ -exports.setTitle = function (title) { - console.warn('badge.setTitle(title) is deprecated! Please use badge.configure({ title:title }) instead.'); - - this._config.title = title; -}; - -/** - * Tells the plugin if the badge needs to be cleared when the user taps - * the icon. - * - * @param {Boolean} clearOnTap - * Either true or false - */ -exports.setClearOnTap = function (clearOnTap) { - console.warn('badge.clearOnTap(bool) is deprecated! Please use badge.configure({ autoClear:bool }) instead.'); - - this._config.autoClear = clearOnTap; -}; - -/** - * Register permission to show notifications - * if not already granted. - */ -exports.promptForPermission = function () { - console.warn('Depreated: Please use `notification.badge.registerPermission` instead.'); - - this.registerPermission.apply(this, arguments); -}; - - -/*********** - * MEMBERS * - ***********/ - -exports._config = { - // Titel der Meldung für Android - title: '%d new messages', - // Ob die Badge Zahl automatisch beim Öffnen der App gelöscht werden soll - autoClear: false, - // Ob und welches Icon für Android verwendet werden soll - smallIcon: 'ic_dialog_email' -}; - - -/******** - * UTIL * - ********/ - -/** - * Create callback, which will be executed within a specific scope. - * - * @param {Function} callbackFn - * The callback function - * @param {Object} scope - * The scope for the function - * - * @return {Function} - * The new callback function - */ -exports.createCallbackFn = function (callbackFn, scope) { - if (typeof callbackFn != 'function') - return; - - return function () { - callbackFn.apply(scope || this, arguments); - }; -}; - -/** - * Execute the native counterpart. - * - * @param {String} action - * The name of the action - * @param args[] - * Array of arguments - * @param {Function} callback - * The callback function - * @param {Object} scope - * The scope for the function - */ -exports.exec = function (action, args, callback, scope) { - var fn = this.createCallbackFn(callback, scope), - params = []; - - if (Array.isArray(args)) { - params = args; - } else if (args) { - params.push(args); - } - - exec(fn, null, 'Badge', action, params); -}; - - -/********* - * HOOKS * - *********/ - -channel.onCordovaReady.subscribe(function () { - if (exports._config.autoClear) { exports.clear(); } -}); - -channel.onResume.subscribe(function () { - if (exports._config.autoClear) { exports.clear(); } -}); -- cgit v1.2.3