Commit ab7fa803 by Sebastián Katzer

Update project

parent 9b453cc0
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="EntryPointsManager"> <component name="EntryPointsManager">
<entry_points version="2.0" /> <entry_points version="2.0" />
</component> </component>
...@@ -32,61 +29,9 @@ ...@@ -32,61 +29,9 @@
<ConfirmationsSetting value="0" id="Add" /> <ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" /> <ConfirmationsSetting value="0" id="Remove" />
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="Android API 21 Platform" project-jdk-type="Android SDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="Android API 22 Platform" project-jdk-type="Android SDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
<component name="RunManager">
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
<method />
</configuration>
<list size="0" />
<configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
</configuration>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host>
<Port>5050</Port>
</configuration>
</component>
<component name="masterDetails"> <component name="masterDetails">
<states> <states>
<state key="Copyright.UI"> <state key="Copyright.UI">
...@@ -127,4 +72,3 @@ ...@@ -127,4 +72,3 @@
</states> </states>
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
<list default="true" id="fa860bb5-e33b-45b0-af5c-2a9cb390f8e8" name="Default" comment="" /> <list default="true" id="fa860bb5-e33b-45b0-af5c-2a9cb390f8e8" name="Default" comment="" />
<ignored path="cordova-example-local-notifications.iws" /> <ignored path="cordova-example-local-notifications.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
<ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
...@@ -25,89 +27,37 @@ ...@@ -25,89 +27,37 @@
<component name="CreatePatchCommitExecutor"> <component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" /> <option name="PATCH_PATH" value="" />
</component> </component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager"> <component name="FavoritesManager">
<favorites_list name="cordova-example-local-notifications" /> <favorites_list name="cordova-example-local-notifications" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf> <leaf />
<file leaf-file-name="LocalNotification.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6450" max-vertical-offset="8535">
<caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Manager.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4905" max-vertical-offset="6930">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Notification.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="5610">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component> </component>
<component name="FindManager"> <component name="FindManager">
<FindUsagesManager> <FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="true" /> <setting name="OPEN_NEW_TAB" value="true" />
</FindUsagesManager> </FindUsagesManager>
</component> </component>
<component name="GradleLocalSettings">
<option name="externalProjectsViewState">
<projects_view />
</option>
</component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="changedFiles"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Asset.java" /> <option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/NotificationBuilder.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractActivity.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractBroadcastReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Activity.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/BroadcastReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractDeleteReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/DeleteIntentReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ReceiverActivity.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/Receiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Builder.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/ClearReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractClearReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractClickActivity.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractTriggerReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/ClickActivity.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/TriggerReceiver.java" /> <option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/TriggerReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ClearReceiver.java" /> <option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/Restore.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/TriggerReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractRecstoreReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractRestoreReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/RestoreReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/RestoreReceiver.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ClickActivity.java" />
<option value="$PROJECT_DIR$/platforms/android/AndroidManifest.xml" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java" /> <option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java" />
<option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java" /> <option value="$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java" />
</list> </list>
</option> </option>
</component> </component>
<component name="NamedScopeManager">
<order />
</component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="y" value="23" /> <option name="y" value="23" />
<option name="width" value="1440" /> <option name="width" value="1440" />
...@@ -139,7 +89,6 @@ ...@@ -139,7 +89,6 @@
<sortByType /> <sortByType />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="AndroidView"> <pane id="AndroidView">
<subPane> <subPane>
<PATH> <PATH>
...@@ -147,10 +96,63 @@ ...@@ -147,10 +96,63 @@
<option name="myItemId" value="cordova-example-local-notifications" /> <option name="myItemId" value="cordova-example-local-notifications" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" /> <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="java" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidSourceTypeNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="cordova-example-local-notifications" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="java" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidSourceTypeNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="plugin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="cordova-example-local-notifications" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="java" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.NonAndroidSourceTypeNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="plugin" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="localnotification" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="cordova-example-local-notifications" />
<option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" />
</PATH_ELEMENT>
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
...@@ -171,6 +173,9 @@ ...@@ -171,6 +173,9 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="Scratches" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
...@@ -188,8 +193,8 @@ ...@@ -188,8 +193,8 @@
<property name="android.project.structure.proportion" value="0.15" /> <property name="android.project.structure.proportion" value="0.15" />
<property name="recentsLimit" value="5" /> <property name="recentsLimit" value="5" />
<property name="restartRequiresConfirmation" value="true" /> <property name="restartRequiresConfirmation" value="true" />
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS" value="TWPR9PJRFATWTSNR" /> <property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS" value="" />
<property name="ANDROID_EXTENDED_DEVICE_CHOOSER_AVD" value="Nexus_5_API_21" /> <property name="ANDROID_EXTENDED_DEVICE_CHOOSER_AVD" value="Nexus_5_API_22" />
<property name="FullScreen" value="false" /> <property name="FullScreen" value="false" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
...@@ -199,6 +204,30 @@ ...@@ -199,6 +204,30 @@
</key> </key>
</component> </component>
<component name="RunManager" selected="Android Application.android"> <component name="RunManager" selected="Android Application.android">
<configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
<module name="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="MODE" value="default_activity" />
<option name="DEPLOY" value="true" />
<option name="ARTIFACT_NAME" value="" />
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="USE_COMMAND_LINE" value="true" />
<option name="COMMAND_LINE" value="" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SELECTED_MATRIX_CONFIGURATION_ID" value="0" />
<option name="SELECTED_CLOUD_PROJECT_ID" value="" />
<option name="IS_VALID_CLOUD_SELECTION" value="false" />
<option name="INVALID_CLOUD_SELECTION_ERROR" value="" />
<method />
</configuration>
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests"> <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
<module name="" /> <module name="" />
<option name="TESTING_TYPE" value="0" /> <option name="TESTING_TYPE" value="0" />
...@@ -218,17 +247,14 @@ ...@@ -218,17 +247,14 @@
<option name="CLEAR_LOGCAT" value="false" /> <option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" /> <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" /> <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<method /> <option name="SELECTED_MATRIX_CONFIGURATION_ID" value="0" />
</configuration> <option name="SELECTED_CLOUD_PROJECT_ID" value="" />
<configuration default="true" type="Remote" factoryName="Remote"> <option name="IS_VALID_CLOUD_SELECTION" value="false" />
<option name="USE_SOCKET_TRANSPORT" value="true" /> <option name="INVALID_CLOUD_SELECTION_ERROR" value="" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="Application" factoryName="Application"> <configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" /> <option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" /> <option name="PROGRAM_PARAMETERS" />
...@@ -242,7 +268,24 @@ ...@@ -242,7 +268,24 @@
<envs /> <envs />
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list />
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<method />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit"> <configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" /> <module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" /> <option name="ALTERNATIVE_JRE_PATH" />
...@@ -261,28 +304,20 @@ ...@@ -261,28 +304,20 @@
<envs /> <envs />
<patterns /> <patterns />
<method> <method>
<option name="Make" enabled="true" />
<option name="Android.Gradle.BeforeRunTask" enabled="true" /> <option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application"> <configuration default="true" type="JarApplication" factoryName="JAR Application">
<module name="" /> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="ACTIVITY_CLASS" value="" /> <envs />
<option name="MODE" value="default_activity" /> <method />
<option name="DEPLOY" value="true" /> </configuration>
<option name="ARTIFACT_NAME" value="" /> <configuration default="true" type="Remote" factoryName="Remote">
<option name="TARGET_SELECTION_MODE" value="EMULATOR" /> <option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" /> <option name="SERVER_MODE" value="false" />
<option name="PREFERRED_AVD" value="" /> <option name="SHMEM_ADDRESS" value="javadebug" />
<option name="USE_COMMAND_LINE" value="true" /> <option name="HOST" value="localhost" />
<option name="COMMAND_LINE" value="" /> <option name="PORT" value="5005" />
<option name="WIPE_USER_DATA" value="false" />
<option name="DISABLE_BOOT_ANIMATION" value="false" />
<option name="NETWORK_SPEED" value="full" />
<option name="NETWORK_LATENCY" value="none" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<method /> <method />
</configuration> </configuration>
<configuration default="false" name="android" type="AndroidRunConfigurationType" factoryName="Android Application"> <configuration default="false" name="android" type="AndroidRunConfigurationType" factoryName="Android Application">
...@@ -303,6 +338,10 @@ ...@@ -303,6 +338,10 @@
<option name="CLEAR_LOGCAT" value="false" /> <option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" /> <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" /> <option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SELECTED_MATRIX_CONFIGURATION_ID" value="0" />
<option name="SELECTED_CLOUD_PROJECT_ID" value="" />
<option name="IS_VALID_CLOUD_SELECTION" value="false" />
<option name="INVALID_CLOUD_SELECTION_ERROR" value="" />
<RunnerSettings RunnerId="AndroidDebugRunner" /> <RunnerSettings RunnerId="AndroidDebugRunner" />
<ConfigurationWrapper RunnerId="AndroidDebugRunner" /> <ConfigurationWrapper RunnerId="AndroidDebugRunner" />
<method /> <method />
...@@ -319,39 +358,35 @@ ...@@ -319,39 +358,35 @@
</configuration> </configuration>
</component> </component>
<component name="ShelveChangesManager" show_recycled="false" /> <component name="ShelveChangesManager" show_recycled="false" />
<component name="SliceManager">
<option name="analysisUIOptions">
<AnalysisUIOptions />
</option>
</component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="23" width="1440" height="809" extended-state="6" /> <frame x="0" y="23" width="1440" height="809" extended-state="6" />
<editor active="false" /> <editor active="false" />
<layout> <layout>
<window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997114" sideWeight="0.46280402" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997114" sideWeight="0.46280402" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32900432" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32900432" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.19097957" sideWeight="0.5050505" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32900432" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32900432" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Android" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32756132" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Android" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2532189" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25299507" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26752505" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19097957" sideWeight="0.4949495" order="0" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Memory Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997114" sideWeight="0.53648067" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Memory Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997114" sideWeight="0.53648067" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756132" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout> </layout>
</component> </component>
...@@ -366,40 +401,72 @@ ...@@ -366,40 +401,72 @@
<component name="VcsContentAnnotationSettings"> <component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" /> <option name="myLimit" value="2678400000" />
</component> </component>
<component name="VcsManagerConfiguration">
<option name="myTodoPanelSettings">
<TodoPanelSettings />
</option>
</component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
<breakpoints> <option name="time" value="213" />
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java</url>
<line>292</line>
<properties />
<option name="timeStamp" value="169" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java</url>
<line>295</line>
<properties />
<option name="timeStamp" value="170" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java</url>
<line>298</line>
<properties />
<option name="timeStamp" value="171" />
</line-breakpoint>
</breakpoints>
<option name="time" value="191" />
</breakpoint-manager> </breakpoint-manager>
<watches-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6450" max-vertical-offset="8535"> <state vertical-scroll-proportion="0.0">
<caret line="542" column="7" selection-start-line="542" selection-start-column="7" selection-end-line="542" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" /> <caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -407,7 +474,7 @@ ...@@ -407,7 +474,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4905" max-vertical-offset="6930"> <state vertical-scroll-proportion="0.0">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" /> <caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -415,7 +482,7 @@ ...@@ -415,7 +482,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="5610"> <state vertical-scroll-proportion="0.0">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" /> <caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -423,7 +490,7 @@ ...@@ -423,7 +490,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6450" max-vertical-offset="8535"> <state vertical-scroll-proportion="0.0">
<caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" /> <caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -431,7 +498,7 @@ ...@@ -431,7 +498,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4905" max-vertical-offset="6930"> <state vertical-scroll-proportion="0.0">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" /> <caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -439,7 +506,7 @@ ...@@ -439,7 +506,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="5610"> <state vertical-scroll-proportion="0.0">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" /> <caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" />
<folding /> <folding />
</state> </state>
...@@ -447,7 +514,7 @@ ...@@ -447,7 +514,7 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="5100" max-vertical-offset="6015"> <state vertical-scroll-proportion="0.0">
<caret line="131" column="14" selection-start-line="131" selection-start-column="14" selection-end-line="131" selection-end-column="14" /> <caret line="131" column="14" selection-start-line="131" selection-start-column="14" selection-end-line="131" selection-end-column="14" />
<folding /> <folding />
</state> </state>
...@@ -455,21 +522,21 @@ ...@@ -455,21 +522,21 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2025" max-vertical-offset="4650"> <state vertical-scroll-proportion="0.0">
<caret line="135" column="0" selection-start-line="135" selection-start-column="0" selection-end-line="135" selection-end-column="0" /> <caret line="135" column="0" selection-start-line="135" selection-start-column="0" selection-end-line="135" selection-end-column="0" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Builder.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Builder.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2010" max-vertical-offset="3000"> <state vertical-scroll-proportion="0.0">
<caret line="134" column="22" selection-start-line="134" selection-start-column="22" selection-end-line="134" selection-end-column="22" /> <caret line="134" column="22" selection-start-line="134" selection-start-column="22" selection-end-line="134" selection-end-column="22" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="7515"> <state vertical-scroll-proportion="0.0">
<caret line="63" column="14" selection-start-line="63" selection-start-column="14" selection-end-line="63" selection-end-column="14" /> <caret line="63" column="14" selection-start-line="63" selection-start-column="14" selection-end-line="63" selection-end-column="14" />
<folding /> <folding />
</state> </state>
...@@ -477,14 +544,14 @@ ...@@ -477,14 +544,14 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="735" max-vertical-offset="3555"> <state vertical-scroll-proportion="0.0">
<caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" /> <caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="7575"> <state vertical-scroll-proportion="0.0">
<caret line="63" column="14" selection-start-line="63" selection-start-column="14" selection-end-line="63" selection-end-column="14" /> <caret line="63" column="14" selection-start-line="63" selection-start-column="14" selection-end-line="63" selection-end-column="14" />
<folding /> <folding />
</state> </state>
...@@ -492,14 +559,14 @@ ...@@ -492,14 +559,14 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="735" max-vertical-offset="3555"> <state vertical-scroll-proportion="0.0">
<caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" /> <caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="405" max-vertical-offset="7575"> <state vertical-scroll-proportion="0.0">
<caret line="62" column="14" selection-start-line="62" selection-start-column="14" selection-end-line="62" selection-end-column="14" /> <caret line="62" column="14" selection-start-line="62" selection-start-column="14" selection-end-line="62" selection-end-column="14" />
<folding /> <folding />
</state> </state>
...@@ -507,14 +574,14 @@ ...@@ -507,14 +574,14 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="735" max-vertical-offset="3555"> <state vertical-scroll-proportion="0.0">
<caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" /> <caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="8055"> <state vertical-scroll-proportion="0.0">
<caret line="46" column="45" selection-start-line="46" selection-start-column="39" selection-end-line="46" selection-end-column="52" /> <caret line="46" column="45" selection-start-line="46" selection-start-column="39" selection-end-line="46" selection-end-column="52" />
<folding /> <folding />
</state> </state>
...@@ -522,14 +589,14 @@ ...@@ -522,14 +589,14 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="3090"> <state vertical-scroll-proportion="0.0">
<caret line="54" column="32" selection-start-line="54" selection-start-column="32" selection-end-line="54" selection-end-column="32" /> <caret line="54" column="32" selection-start-line="54" selection-start-column="32" selection-end-line="54" selection-end-column="32" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="8055"> <state vertical-scroll-proportion="0.0">
<caret line="46" column="45" selection-start-line="46" selection-start-column="39" selection-end-line="46" selection-end-column="52" /> <caret line="46" column="45" selection-start-line="46" selection-start-column="39" selection-end-line="46" selection-end-column="52" />
<folding /> <folding />
</state> </state>
...@@ -537,106 +604,167 @@ ...@@ -537,106 +604,167 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="3090"> <state vertical-scroll-proportion="0.0">
<caret line="54" column="32" selection-start-line="54" selection-start-column="32" selection-end-line="54" selection-end-column="32" /> <caret line="54" column="32" selection-start-line="54" selection-start-column="32" selection-end-line="54" selection-end-column="32" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/AndroidManifest.xml"> <entry file="file://$PROJECT_DIR$/platforms/android/AndroidManifest.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="465"> <state vertical-scroll-proportion="0.0">
<caret line="13" column="68" selection-start-line="13" selection-start-column="68" selection-end-line="13" selection-end-column="68" /> <caret line="13" column="68" selection-start-line="13" selection-start-column="68" selection-end-line="13" selection-end-column="68" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.android/sdk/platforms/android-19/android.jar!/android/os/MessageQueue.class"> <entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345"> <state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractClickActivity.java"> <entry file="file://$PROJECT_DIR$/platforms/android/AndroidManifest.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.111872144" vertical-offset="199" max-vertical-offset="1230"> <state vertical-scroll-proportion="0.72">
<caret line="37" column="22" selection-start-line="37" selection-start-column="22" selection-end-line="37" selection-end-column="22" /> <caret line="18" column="60" selection-start-line="18" selection-start-column="60" selection-end-line="18" selection-end-column="60" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="353" column="0" selection-start-line="353" selection-start-column="0" selection-end-line="353" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/ClickActivity.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/ClickActivity.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="570"> <state vertical-scroll-proportion="0.0">
<caret line="30" column="45" selection-start-line="30" selection-start-column="35" selection-end-line="30" selection-end-column="56" /> <caret line="30" column="45" selection-start-line="30" selection-start-column="35" selection-end-line="30" selection-end-column="56" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/ClearReceiver.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Builder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="134" column="22" selection-start-line="134" selection-start-column="22" selection-end-line="134" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractRestoreReceiver.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="38" column="22" selection-start-line="38" selection-start-column="22" selection-end-line="38" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractClickActivity.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="37" column="22" selection-start-line="37" selection-start-column="22" selection-end-line="37" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractClearReceiver.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="39" column="7" selection-start-line="39" selection-start-column="7" selection-end-line="39" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ClearReceiver.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="33" column="13" selection-start-line="33" selection-start-column="13" selection-end-line="33" selection-end-column="13" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ClickActivity.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/ClickActivity.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.6232877" vertical-offset="102" max-vertical-offset="780"> <state vertical-scroll-proportion="0.0">
<caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" /> <caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/TriggerReceiver.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="255" max-vertical-offset="3090"> <state vertical-scroll-proportion="0.40601504">
<caret line="49" column="36" selection-start-line="49" selection-start-column="36" selection-end-line="49" selection-end-column="36" /> <caret line="39" column="26" selection-start-line="39" selection-start-column="26" selection-end-line="39" selection-end-column="26" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/AndroidManifest.xml"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/RestoreReceiver.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.72" vertical-offset="0" max-vertical-offset="495"> <state vertical-scroll-proportion="0.24812031">
<caret line="18" column="60" selection-start-line="18" selection-start-column="60" selection-end-line="18" selection-end-column="60" /> <caret line="34" column="13" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-8.561644" vertical-offset="5100" max-vertical-offset="6015"> <state vertical-scroll-proportion="0.7669173">
<caret line="131" column="14" selection-start-line="131" selection-start-column="14" selection-end-line="131" selection-end-column="14" /> <caret line="192" column="27" selection-start-line="192" selection-start-column="27" selection-end-line="192" selection-end-column="27" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Options.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="771" max-vertical-offset="3915"> <state vertical-scroll-proportion="0.4781955">
<caret line="135" column="0" selection-start-line="135" selection-start-column="0" selection-end-line="135" selection-end-column="0" /> <caret line="220" column="0" selection-start-line="220" selection-start-column="0" selection-end-line="220" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Builder.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AbstractTriggerReceiver.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1296" max-vertical-offset="2565"> <state vertical-scroll-proportion="0.75789475">
<caret line="134" column="22" selection-start-line="134" selection-start-column="22" selection-end-line="134" selection-end-column="22" /> <caret line="69" column="0" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Notification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/TriggerReceiver.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="4965"> <state vertical-scroll-proportion="0.518797">
<caret line="46" column="28" selection-start-line="0" selection-start-column="0" selection-end-line="368" selection-end-column="0" /> <caret line="46" column="0" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/Manager.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4114" max-vertical-offset="6270"> <state vertical-scroll-proportion="-1.5618557">
<caret line="327" column="17" selection-start-line="0" selection-start-column="0" selection-end-line="456" selection-end-column="0" /> <caret line="268" column="6" selection-start-line="268" selection-start-column="6" selection-end-line="268" selection-end-column="6" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/localnotification/LocalNotification.java"> <entry file="file://$PROJECT_DIR$/platforms/android/src/de/appplant/cordova/plugin/notification/AssetUtil.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6450" max-vertical-offset="8535"> <state vertical-scroll-proportion="-4.39433">
<caret line="465" column="0" selection-start-line="465" selection-start-column="0" selection-end-line="465" selection-end-column="0" /> <caret line="208" column="39" selection-start-line="208" selection-start-column="20" selection-end-line="208" selection-end-column="39" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -22,6 +22,6 @@ ...@@ -22,6 +22,6 @@
<activity android:exported="false" android:launchMode="singleInstance" android:name="de.appplant.cordova.plugin.notification.ClickActivity" android:theme="@android:style/Theme.NoDisplay" /> <activity android:exported="false" android:launchMode="singleInstance" android:name="de.appplant.cordova.plugin.notification.ClickActivity" android:theme="@android:style/Theme.NoDisplay" />
</application> </application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" /> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest> </manifest>
...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) { ...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isPresent = function (id, callback, scope) { exports.isPresent = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isPresent', id || 0, callback, scope);
this.exec('isPresent', notId, callback, scope);
}; };
/** /**
...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) { ...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isScheduled = function (id, callback, scope) { exports.isScheduled = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isScheduled', id || 0, callback, scope);
this.exec('isScheduled', notId, callback, scope);
}; };
/** /**
...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) { ...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isTriggered = function (id, callback, scope) { exports.isTriggered = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isTriggered', id || 0, callback, scope);
this.exec('isTriggered', notId, callback, scope);
}; };
/** /**
...@@ -275,7 +269,7 @@ exports.get = function () { ...@@ -275,7 +269,7 @@ exports.get = function () {
scope = args[2]; scope = args[2];
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingle', ids.toString(), callback, scope); this.exec('getSingle', Number(ids), callback, scope);
return; return;
} }
...@@ -323,7 +317,7 @@ exports.getScheduled = function () { ...@@ -323,7 +317,7 @@ exports.getScheduled = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleScheduled', ids.toString(), callback, scope); this.exec('getSingleScheduled', Number(ids), callback, scope);
return; return;
} }
...@@ -371,7 +365,7 @@ exports.getTriggered = function () { ...@@ -371,7 +365,7 @@ exports.getTriggered = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleTriggered', ids.toString(), callback, scope); this.exec('getSingleTriggered', Number(ids), callback, scope);
return; return;
} }
......
...@@ -35,7 +35,7 @@ exports._defaults = { ...@@ -35,7 +35,7 @@ exports._defaults = {
title: '', title: '',
sound: 'res://platform_default', sound: 'res://platform_default',
badge: 0, badge: 0,
id: "0", id: 0,
data: undefined, data: undefined,
every: undefined, every: undefined,
at: undefined at: undefined
...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) { ...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) {
options.text = this.getValueFor(options, 'text', 'message'); options.text = this.getValueFor(options, 'text', 'message');
options.data = this.getValueFor(options, 'data', 'json'); options.data = this.getValueFor(options, 'data', 'json');
if (defaults.hasOwnProperty('autoClear')) {
options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel'); options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel');
}
if (options.autoClear !== true && options.ongoing) { if (options.autoClear !== true && options.ongoing) {
options.autoClear = false; options.autoClear = false;
...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) { ...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) {
if (options.id) { if (options.id) {
if (isNaN(options.id)) { if (isNaN(options.id)) {
options.id = this.getDefaults().id; options.id = this.getDefaults().id;
console.warn('Id is not a number: ' + options.id);
} else { } else {
options.id = options.id.toString(); options.id = Number(options.id);
} }
} }
...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) { ...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) {
if (options.badge) { if (options.badge) {
if (isNaN(options.badge)) { if (isNaN(options.badge)) {
options.badge = this.getDefaults().badge; options.badge = this.getDefaults().badge;
console.warn('Badge number is not a number: ' + options.id);
} else { } else {
options.badge = Number(options.badge); options.badge = Number(options.badge);
} }
} }
if (options.at) {
if (typeof options.at == 'object') { if (typeof options.at == 'object') {
options.at = Math.round(options.at.getTime()/1000); options.at = options.at.getTime();
}
options.at = Math.round(options.at/1000);
} }
if (typeof options.data == 'object') { if (typeof options.data == 'object') {
...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) { ...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) {
* The new callback function * The new callback function
*/ */
exports.createCallbackFn = function (callbackFn, scope) { exports.createCallbackFn = function (callbackFn, scope) {
if (typeof callbackFn != 'function') if (typeof callbackFn != 'function')
return; return;
...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) { ...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) {
}; };
/** /**
* Convert the IDs to Strings. * Convert the IDs to numbers.
* *
* @param {String/Number[]} ids * @param {String/Number[]} ids
* *
* @return Array of Strings * @return Array of Numbers
*/ */
exports.convertIds = function (ids) { exports.convertIds = function (ids) {
var convertedIds = []; var convertedIds = [];
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
convertedIds.push(ids[i].toString()); convertedIds.push(Number(ids[i]));
} }
return convertedIds; return convertedIds;
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Builder;
import de.appplant.cordova.plugin.notification.Notification;
import de.appplant.cordova.plugin.notification.TriggerReceiver; import de.appplant.cordova.plugin.notification.TriggerReceiver;
/** /**
......
...@@ -23,8 +23,7 @@ ...@@ -23,8 +23,7 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import java.util.ArrayList; import android.os.Build;
import java.util.List;
import org.apache.cordova.CallbackContext; import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface; import org.apache.cordova.CordovaInterface;
...@@ -35,9 +34,11 @@ import org.json.JSONArray; ...@@ -35,9 +34,11 @@ import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import android.os.Build; import java.util.ArrayList;
import java.util.List;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Manager;
import de.appplant.cordova.plugin.notification.Notification;
/** /**
* This plugin utilizes the Android AlarmManager in combination with local * This plugin utilizes the Android AlarmManager in combination with local
...@@ -249,9 +250,11 @@ public class LocalNotification extends CordovaPlugin { ...@@ -249,9 +250,11 @@ public class LocalNotification extends CordovaPlugin {
Notification notification = Notification notification =
getNotificationMgr().cancel(id); getNotificationMgr().cancel(id);
if (notification != null) {
fireEvent("cancel", notification); fireEvent("cancel", notification);
} }
} }
}
/** /**
* Cancel all scheduled notifications. * Cancel all scheduled notifications.
...@@ -274,9 +277,11 @@ public class LocalNotification extends CordovaPlugin { ...@@ -274,9 +277,11 @@ public class LocalNotification extends CordovaPlugin {
Notification notification = Notification notification =
getNotificationMgr().clear(id); getNotificationMgr().clear(id);
if (notification != null) {
fireEvent("clear", notification); fireEvent("clear", notification);
} }
} }
}
/** /**
* Clear all triggered notifications without canceling them. * Clear all triggered notifications without canceling them.
......
...@@ -42,8 +42,10 @@ public class RestoreReceiver extends AbstractRestoreReceiver { ...@@ -42,8 +42,10 @@ public class RestoreReceiver extends AbstractRestoreReceiver {
*/ */
@Override @Override
public void onRestore (Notification notification) { public void onRestore (Notification notification) {
if (notification.isScheduled()) {
notification.schedule(); notification.schedule();
} }
}
/** /**
* Build notification specified by options. * Build notification specified by options.
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Builder;
import de.appplant.cordova.plugin.notification.Notification;
/** /**
* The alarm receiver is triggered when a scheduled alarm is fired. This class * The alarm receiver is triggered when a scheduled alarm is fired. This class
......
...@@ -23,16 +23,6 @@ ...@@ -23,16 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.content.Context; import android.content.Context;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.content.res.Resources; import android.content.res.Resources;
...@@ -43,6 +33,16 @@ import android.net.Uri; ...@@ -43,6 +33,16 @@ import android.net.Uri;
import android.os.StrictMode; import android.os.StrictMode;
import android.util.Log; import android.util.Log;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/** /**
* Util class to map unified asset URIs to native URIs. URIs like file:/// * Util class to map unified asset URIs to native URIs. URIs like file:///
* map to absolute paths while file:// point relatively to the www folder * map to absolute paths while file:// point relatively to the www folder
...@@ -121,8 +121,6 @@ class AssetUtil { ...@@ -121,8 +121,6 @@ class AssetUtil {
return Uri.EMPTY; return Uri.EMPTY;
} }
/** /**
* URI for a file. * URI for a file.
* *
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.util.Random;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
...@@ -33,6 +31,8 @@ import android.support.v4.app.NotificationCompat; ...@@ -33,6 +31,8 @@ import android.support.v4.app.NotificationCompat;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.Random;
/** /**
* Builder class for local notifications. Build fully configured local * Builder class for local notifications. Build fully configured local
* notification specified by JSON object passed from JS side. * notification specified by JSON object passed from JS side.
...@@ -158,7 +158,7 @@ public class Builder { ...@@ -158,7 +158,7 @@ public class Builder {
return; return;
Intent deleteIntent = new Intent(context, clearReceiver) Intent deleteIntent = new Intent(context, clearReceiver)
.setAction(options.getId()) .setAction(options.getIdStr())
.putExtra(Options.EXTRA, options.toString()); .putExtra(Options.EXTRA, options.toString());
PendingIntent dpi = PendingIntent.getBroadcast( PendingIntent dpi = PendingIntent.getBroadcast(
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import static de.appplant.cordova.plugin.notification.Notification.PREF_KEY;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
...@@ -34,12 +32,13 @@ import org.json.JSONObject; ...@@ -34,12 +32,13 @@ import org.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import static de.appplant.cordova.plugin.notification.Notification.PREF_KEY;
/** /**
* Central way to access all or single local notifications set by specific * Central way to access all or single local notifications set by specific
* state like triggered or scheduled. Offers shortcut ways to schedule, * state like triggered or scheduled. Offers shortcut ways to schedule,
......
...@@ -45,7 +45,7 @@ import java.util.Date; ...@@ -45,7 +45,7 @@ import java.util.Date;
public class Notification { public class Notification {
// Used to differ notifications by their life cycle state // Used to differ notifications by their life cycle state
public static enum Type { public enum Type {
ALL, SCHEDULED, TRIGGERED ALL, SCHEDULED, TRIGGERED
} }
...@@ -105,7 +105,7 @@ public class Notification { ...@@ -105,7 +105,7 @@ public class Notification {
* Get notification ID. * Get notification ID.
*/ */
public int getId () { public int getId () {
return options.getIdAsInt(); return options.getId();
} }
/** /**
...@@ -162,27 +162,23 @@ public class Notification { ...@@ -162,27 +162,23 @@ public class Notification {
* Schedule the local notification. * Schedule the local notification.
*/ */
public void schedule() { public void schedule() {
long triggerTime = getNextTriggerTime(); long triggerTime = options.getTriggerTime();
persist(); persist();
// Intent gets called when the Notification gets fired // Intent gets called when the Notification gets fired
Intent intent = new Intent(context, receiver) Intent intent = new Intent(context, receiver)
.setAction(options.getId()) .setAction(options.getIdStr())
.putExtra(Options.EXTRA, options.toString()); .putExtra(Options.EXTRA, options.toString());
PendingIntent pi = PendingIntent.getBroadcast( PendingIntent pi = PendingIntent.getBroadcast(
context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
getAlarmMgr().set(AlarmManager.RTC_WAKEUP, triggerTime, pi);
}
/**
* Re-schedule the local notification if repeating.
*/
void reschedule () {
if (isRepeating()) { if (isRepeating()) {
schedule(); getAlarmMgr().setRepeating(AlarmManager.RTC_WAKEUP,
triggerTime, options.getRepeatInterval(), pi);
} else {
getAlarmMgr().set(AlarmManager.RTC_WAKEUP, triggerTime, pi);
} }
} }
...@@ -208,13 +204,13 @@ public class Notification { ...@@ -208,13 +204,13 @@ public class Notification {
*/ */
public void cancel() { public void cancel() {
Intent intent = new Intent(context, receiver) Intent intent = new Intent(context, receiver)
.setAction(options.getId()); .setAction(options.getIdStr());
PendingIntent pi = PendingIntent. PendingIntent pi = PendingIntent.
getBroadcast(context, 0, intent, 0); getBroadcast(context, 0, intent, 0);
getAlarmMgr().cancel(pi); getAlarmMgr().cancel(pi);
getNotMgr().cancel(options.getIdAsInt()); getNotMgr().cancel(options.getId());
unpersist(); unpersist();
} }
...@@ -232,7 +228,7 @@ public class Notification { ...@@ -232,7 +228,7 @@ public class Notification {
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private void showNotification () { private void showNotification () {
int id = getOptions().getIdAsInt(); int id = getOptions().getId();
if (Build.VERSION.SDK_INT <= 15) { if (Build.VERSION.SDK_INT <= 15) {
// Notification for HoneyComb to ICS // Notification for HoneyComb to ICS
...@@ -251,26 +247,11 @@ public class Notification { ...@@ -251,26 +247,11 @@ public class Notification {
} }
/** /**
* Next trigger time.
*/
public long getNextTriggerTime() {
long triggerTime = options.getTriggerTime();
if (!isRepeating() || !isTriggered())
return triggerTime;
long interval = options.getRepeatInterval();
int triggerCount = getTriggerCountSinceSchedule();
return triggerTime + (triggerCount + 1) * interval;
}
/**
* Count of triggers since schedule. * Count of triggers since schedule.
*/ */
public int getTriggerCountSinceSchedule() { public int getTriggerCountSinceSchedule() {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
long initTriggerTime = options.getTriggerTime(); long triggerTime = options.getTriggerTime();
if (!wasInThePast()) if (!wasInThePast())
return 0; return 0;
...@@ -278,7 +259,7 @@ public class Notification { ...@@ -278,7 +259,7 @@ public class Notification {
if (!isRepeating()) if (!isRepeating())
return 1; return 1;
return (int) ((now - initTriggerTime) / options.getRepeatInterval()); return (int) ((now - triggerTime) / options.getRepeatInterval());
} }
/** /**
...@@ -294,6 +275,7 @@ public class Notification { ...@@ -294,6 +275,7 @@ public class Notification {
e.printStackTrace(); e.printStackTrace();
} }
json.remove("firstAt");
json.remove("updatedAt"); json.remove("updatedAt");
json.remove("soundUri"); json.remove("soundUri");
json.remove("iconUri"); json.remove("iconUri");
...@@ -309,7 +291,7 @@ public class Notification { ...@@ -309,7 +291,7 @@ public class Notification {
private void persist () { private void persist () {
SharedPreferences.Editor editor = getPrefs().edit(); SharedPreferences.Editor editor = getPrefs().edit();
editor.putString(options.getId(), options.toString()); editor.putString(options.getIdStr(), options.toString());
if (Build.VERSION.SDK_INT < 9) { if (Build.VERSION.SDK_INT < 9) {
editor.commit(); editor.commit();
...@@ -324,7 +306,7 @@ public class Notification { ...@@ -324,7 +306,7 @@ public class Notification {
private void unpersist () { private void unpersist () {
SharedPreferences.Editor editor = getPrefs().edit(); SharedPreferences.Editor editor = getPrefs().edit();
editor.remove(options.getId()); editor.remove(options.getIdStr());
if (Build.VERSION.SDK_INT < 9) { if (Build.VERSION.SDK_INT < 9) {
editor.commit(); editor.commit();
......
...@@ -23,16 +23,16 @@ ...@@ -23,16 +23,16 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.util.Date;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Date;
/** /**
* Wrapper around the JSON object passed through JS which contains all * Wrapper around the JSON object passed through JS which contains all
* possible option values. Class provides simple readers and more advanced * possible option values. Class provides simple readers and more advanced
...@@ -189,35 +189,34 @@ public class Options { ...@@ -189,35 +189,34 @@ public class Options {
} }
/** /**
* Trigger date in milliseconds. * ID for the local notification as a number.
*/ */
public long getTriggerTime() { public Integer getId() {
return options.optLong("at", 0) * 1000; return options.optInt("id", 0);
} }
/** /**
* Trigger date. * ID for the local notification as a string.
*/ */
public Date getTriggerDate() { public String getIdStr() {
return new Date(getTriggerTime()); return getId().toString();
} }
/** /**
* ID for the local notification. * Trigger date.
*/ */
public String getId() { public Date getTriggerDate() {
return options.optString("id", "0"); return new Date(getTriggerTime());
} }
/** /**
* ID for the local notification. * Trigger date in milliseconds.
*/ */
public int getIdAsInt() { public long getTriggerTime() {
try { return Math.max(
return Integer.parseInt(getId()); System.currentTimeMillis(),
} catch (Exception ignore) { options.optLong("at", 0) * 1000
return 0; );
}
} }
/** /**
......
...@@ -42,11 +42,6 @@ public class TriggerReceiver extends AbstractTriggerReceiver { ...@@ -42,11 +42,6 @@ public class TriggerReceiver extends AbstractTriggerReceiver {
*/ */
@Override @Override
public void onTrigger (Notification notification, boolean updated) { public void onTrigger (Notification notification, boolean updated) {
if (notification.isRepeating()) {
notification.reschedule();
}
notification.show(); notification.show();
} }
......
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:CordovaLib.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>CordovaLib.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>D2AAC07D0554694100DB518D</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; }; 30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; };
30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; }; 30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; };
30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; }; 30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; };
345E79E8B29A4BC0911A1AD9 /* Toast.m in Sources */ = {isa = PBXBuildFile; fileRef = 73FFCCD6DE0C4F41A5CD8A42 /* Toast.m */; };
3EC215006CC74A65BB090187 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 47EB2B35CA524D62A59BD0CD /* QuartzCore.framework */; };
5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; }; 5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; };
7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; }; 7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; }; 7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; };
...@@ -40,12 +38,15 @@ ...@@ -40,12 +38,15 @@
7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; }; 7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; };
7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; }; 7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; }; 7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; };
9AF00F0BC0694C408D82918E /* Toast+UIView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C1FEB7986764F8D80C9460D /* Toast+UIView.m */; };
D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; }; D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; };
383D0BC6E5AD468CA0DB7269 /* APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF9550522254C17A4FD57FB /* APPLocalNotification.m */; }; AD7BE76F46AF46B98063DA33 /* CDVDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B4F6CD5151F4B6984357BD8 /* CDVDevice.m */; };
398FB094C4774595A5BD97A5 /* APPLocalNotificationOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B472F862994183B713CD99 /* APPLocalNotificationOptions.m */; }; 71589C47958B44A0AB9DF872 /* APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FAC8E7C327B45D3829E3051 /* APPLocalNotification.m */; };
19469EFA32F64CB7BD7A3A01 /* UIApplication+APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EAE9E33BA4D4133860A98E4 /* UIApplication+APPLocalNotification.m */; }; 31A5963AFA5A4FB2A383621E /* APPLocalNotificationOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 89090721992B40ABA8237698 /* APPLocalNotificationOptions.m */; };
0117A6A182EE4E83BEEC628F /* UILocalNotification+APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A82CC8177D4613A5D4F19F /* UILocalNotification+APPLocalNotification.m */; }; 3D2DB1BD087A46D793C1F291 /* UIApplication+APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F8A902D10214D7AB16CA6A1 /* UIApplication+APPLocalNotification.m */; };
3ED7D44238364BD3B99BF0CF /* UILocalNotification+APPLocalNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = BDCA0618D07B47B682A9410D /* UILocalNotification+APPLocalNotification.m */; };
6C5A5FDC69334EABB56FCE5A /* Toast+UIView.m in Sources */ = {isa = PBXBuildFile; fileRef = 80361C15F5A148A98AB5AC51 /* Toast+UIView.m */; };
23298A8B7C33459FADC63B77 /* Toast.m in Sources */ = {isa = PBXBuildFile; fileRef = 146586D566294E68A933F318 /* Toast.m */; };
333BC929814D4D72813E9983 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83079DD5936B45449D749489 /* QuartzCore.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
...@@ -68,7 +69,9 @@ ...@@ -68,7 +69,9 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; 1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; 1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* NotificationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NotificationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1D6058910D05DD3D006BFB54 /* NotificationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "NotificationExample.app"; sourceTree = BUILT_PRODUCTS_DIR; };
1F766FDD13BBADB100FB74C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
1F766FE013BBADB100FB74C0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = CordovaLib/CordovaLib.xcodeproj; sourceTree = "<group>"; }; 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = CordovaLib/CordovaLib.xcodeproj; sourceTree = "<group>"; };
...@@ -92,13 +95,7 @@ ...@@ -92,13 +95,7 @@
30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; }; 30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; };
30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; }; 30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; };
32CA4F630368D1EE00C91783 /* NotificationExample-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NotificationExample-Prefix.pch"; sourceTree = "<group>"; }; 32CA4F630368D1EE00C91783 /* NotificationExample-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NotificationExample-Prefix.pch"; sourceTree = "<group>"; };
3471FA8FC7F847CCABBCB926 /* CDVDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVDevice.h; path = org.apache.cordova.device/CDVDevice.h; sourceTree = "<group>"; };
422DA32284B54A2FA7DF8E04 /* Toast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Toast.h; path = "nl.x-services.plugins.toast/Toast.h"; sourceTree = "<group>"; };
47EB2B35CA524D62A59BD0CD /* QuartzCore.framework */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
49974152A0EA4CEE8C46D9A5 /* Toast+UIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Toast+UIView.h"; path = "nl.x-services.plugins.toast/Toast+UIView.h"; sourceTree = "<group>"; };
5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
6C1FEB7986764F8D80C9460D /* Toast+UIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "Toast+UIView.m"; path = "nl.x-services.plugins.toast/Toast+UIView.m"; sourceTree = "<group>"; };
73FFCCD6DE0C4F41A5CD8A42 /* Toast.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Toast.m; path = "nl.x-services.plugins.toast/Toast.m"; sourceTree = "<group>"; };
7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; }; 7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; };
7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; }; 7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; };
7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; }; 7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; };
...@@ -111,18 +108,25 @@ ...@@ -111,18 +108,25 @@
7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; }; 7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* NotificationExample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "NotificationExample-Info.plist"; path = "../NotificationExample-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; }; 8D1107310486CEB800E47090 /* NotificationExample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "NotificationExample-Info.plist"; path = "../NotificationExample-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; }; D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
E44647A1A9E44070A483ABAE /* CDVDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVDevice.m; path = org.apache.cordova.device/CDVDevice.m; sourceTree = "<group>"; }; EB87FDF21871DA7A0020F90C /* merges */ = {isa = PBXFileReference; lastKnownFileType = folder; name = merges; path = ../../merges; sourceTree = "<group>"; };
EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; }; EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; }; EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = NotificationExample/config.xml; sourceTree = "<group>"; }; F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "NotificationExample/config.xml"; sourceTree = "<group>"; };
7DF9550522254C17A4FD57FB /* APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; }; 2B4F6CD5151F4B6984357BD8 /* CDVDevice.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "CDVDevice.m"; path = "org.apache.cordova.device/CDVDevice.m"; sourceTree = "<group>"; fileEncoding = 4; };
99B472F862994183B713CD99 /* APPLocalNotificationOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "APPLocalNotificationOptions.m"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.m"; sourceTree = "<group>"; fileEncoding = 4; }; DD6A287E6650489AB756F123 /* CDVDevice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "CDVDevice.h"; path = "org.apache.cordova.device/CDVDevice.h"; sourceTree = "<group>"; fileEncoding = 4; };
6EAE9E33BA4D4133860A98E4 /* UIApplication+APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; }; 6FAC8E7C327B45D3829E3051 /* APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; };
71A82CC8177D4613A5D4F19F /* UILocalNotification+APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "UILocalNotification+APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; }; 89090721992B40ABA8237698 /* APPLocalNotificationOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "APPLocalNotificationOptions.m"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.m"; sourceTree = "<group>"; fileEncoding = 4; };
8DEA336FEF244C7EA2348418 /* APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; }; 0F8A902D10214D7AB16CA6A1 /* UIApplication+APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; };
84BE804849D645818468A4EA /* APPLocalNotificationOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "APPLocalNotificationOptions.h"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.h"; sourceTree = "<group>"; fileEncoding = 4; }; BDCA0618D07B47B682A9410D /* UILocalNotification+APPLocalNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "UILocalNotification+APPLocalNotification.m"; path = "de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.m"; sourceTree = "<group>"; fileEncoding = 4; };
88363D98DED14E718C166C96 /* UIApplication+APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "UIApplication+APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; }; E7A8A05F5EB447418EE3DEA3 /* APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; };
81C7D8155F7841779AA958E4 /* UILocalNotification+APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "UILocalNotification+APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; }; A02EF58E479D4B19893FEDD7 /* APPLocalNotificationOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "APPLocalNotificationOptions.h"; path = "de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.h"; sourceTree = "<group>"; fileEncoding = 4; };
F0E6140A2C7241BDBFAA17C2 /* UIApplication+APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "UIApplication+APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; };
9A9D5039A6A2473C88B826C6 /* UILocalNotification+APPLocalNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "UILocalNotification+APPLocalNotification.h"; path = "de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.h"; sourceTree = "<group>"; fileEncoding = 4; };
80361C15F5A148A98AB5AC51 /* Toast+UIView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "Toast+UIView.m"; path = "nl.x-services.plugins.toast/Toast+UIView.m"; sourceTree = "<group>"; fileEncoding = 4; };
146586D566294E68A933F318 /* Toast.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "Toast.m"; path = "nl.x-services.plugins.toast/Toast.m"; sourceTree = "<group>"; fileEncoding = 4; };
86CB24288F4E413CB00042A0 /* Toast+UIView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Toast+UIView.h"; path = "nl.x-services.plugins.toast/Toast+UIView.h"; sourceTree = "<group>"; fileEncoding = 4; };
D6FB32EC007141DF9D515817 /* Toast.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Toast.h"; path = "nl.x-services.plugins.toast/Toast.h"; sourceTree = "<group>"; fileEncoding = 4; };
83079DD5936B45449D749489 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "QuartzCore.framework"; path = "System/Library/Frameworks/QuartzCore.framework"; sourceTree = SDKROOT; fileEncoding = 4; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
...@@ -134,7 +138,7 @@ ...@@ -134,7 +138,7 @@
301BF552109A68D80062928A /* libCordova.a in Frameworks */, 301BF552109A68D80062928A /* libCordova.a in Frameworks */,
288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */, 305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */,
3EC215006CC74A65BB090187 /* QuartzCore.framework in Frameworks */, 333BC929814D4D72813E9983 /* QuartzCore.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -151,7 +155,7 @@ ...@@ -151,7 +155,7 @@
1D3623250D0F684500981E51 /* AppDelegate.m */, 1D3623250D0F684500981E51 /* AppDelegate.m */,
); );
name = Classes; name = Classes;
path = NotificationExample/Classes; path = "NotificationExample/Classes";
sourceTree = SOURCE_ROOT; sourceTree = SOURCE_ROOT;
}; };
19C28FACFE9D520D11CA2CBB /* Products */ = { 19C28FACFE9D520D11CA2CBB /* Products */ = {
...@@ -167,6 +171,7 @@ ...@@ -167,6 +171,7 @@
children = ( children = (
EB87FDF41871DAF40020F90C /* config.xml */, EB87FDF41871DAF40020F90C /* config.xml */,
EB87FDF31871DA8E0020F90C /* www */, EB87FDF31871DA8E0020F90C /* www */,
EB87FDF21871DA7A0020F90C /* merges */,
EB87FDF11871DA420020F90C /* Staging */, EB87FDF11871DA420020F90C /* Staging */,
301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */, 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */,
080E96DDFE201D6D7F000001 /* Classes */, 080E96DDFE201D6D7F000001 /* Classes */,
...@@ -186,7 +191,7 @@ ...@@ -186,7 +191,7 @@
29B97316FDCFA39411CA2CEA /* main.m */, 29B97316FDCFA39411CA2CEA /* main.m */,
); );
name = "Other Sources"; name = "Other Sources";
path = NotificationExample; path = "NotificationExample";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
29B97317FDCFA39411CA2CEA /* Resources */ = { 29B97317FDCFA39411CA2CEA /* Resources */ = {
...@@ -197,7 +202,7 @@ ...@@ -197,7 +202,7 @@
8D1107310486CEB800E47090 /* NotificationExample-Info.plist */, 8D1107310486CEB800E47090 /* NotificationExample-Info.plist */,
); );
name = Resources; name = Resources;
path = NotificationExample/Resources; path = "NotificationExample/Resources";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
29B97323FDCFA39411CA2CEA /* Frameworks */ = { 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
...@@ -206,7 +211,7 @@ ...@@ -206,7 +211,7 @@
5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */, 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */,
288765FC0DF74451002DB57D /* CoreGraphics.framework */, 288765FC0DF74451002DB57D /* CoreGraphics.framework */,
305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */, 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */,
47EB2B35CA524D62A59BD0CD /* QuartzCore.framework */, 83079DD5936B45449D749489 /* QuartzCore.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -222,23 +227,23 @@ ...@@ -222,23 +227,23 @@
307C750510C5A3420062BCA9 /* Plugins */ = { 307C750510C5A3420062BCA9 /* Plugins */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E44647A1A9E44070A483ABAE /* CDVDevice.m */, 2B4F6CD5151F4B6984357BD8 /* CDVDevice.m */,
3471FA8FC7F847CCABBCB926 /* CDVDevice.h */, DD6A287E6650489AB756F123 /* CDVDevice.h */,
6C1FEB7986764F8D80C9460D /* Toast+UIView.m */, 6FAC8E7C327B45D3829E3051 /* APPLocalNotification.m */,
73FFCCD6DE0C4F41A5CD8A42 /* Toast.m */, 89090721992B40ABA8237698 /* APPLocalNotificationOptions.m */,
49974152A0EA4CEE8C46D9A5 /* Toast+UIView.h */, 0F8A902D10214D7AB16CA6A1 /* UIApplication+APPLocalNotification.m */,
422DA32284B54A2FA7DF8E04 /* Toast.h */, BDCA0618D07B47B682A9410D /* UILocalNotification+APPLocalNotification.m */,
7DF9550522254C17A4FD57FB /* APPLocalNotification.m */, E7A8A05F5EB447418EE3DEA3 /* APPLocalNotification.h */,
99B472F862994183B713CD99 /* APPLocalNotificationOptions.m */, A02EF58E479D4B19893FEDD7 /* APPLocalNotificationOptions.h */,
6EAE9E33BA4D4133860A98E4 /* UIApplication+APPLocalNotification.m */, F0E6140A2C7241BDBFAA17C2 /* UIApplication+APPLocalNotification.h */,
71A82CC8177D4613A5D4F19F /* UILocalNotification+APPLocalNotification.m */, 9A9D5039A6A2473C88B826C6 /* UILocalNotification+APPLocalNotification.h */,
8DEA336FEF244C7EA2348418 /* APPLocalNotification.h */, 80361C15F5A148A98AB5AC51 /* Toast+UIView.m */,
84BE804849D645818468A4EA /* APPLocalNotificationOptions.h */, 146586D566294E68A933F318 /* Toast.m */,
88363D98DED14E718C166C96 /* UIApplication+APPLocalNotification.h */, 86CB24288F4E413CB00042A0 /* Toast+UIView.h */,
81C7D8155F7841779AA958E4 /* UILocalNotification+APPLocalNotification.h */, D6FB32EC007141DF9D515817 /* Toast.h */,
); );
name = Plugins; name = Plugins;
path = NotificationExample/Plugins; path = "NotificationExample/Plugins";
sourceTree = SOURCE_ROOT; sourceTree = SOURCE_ROOT;
}; };
308D052D1370CCF300D202BF /* icons */ = { 308D052D1370CCF300D202BF /* icons */ = {
...@@ -306,8 +311,8 @@ ...@@ -306,8 +311,8 @@
dependencies = ( dependencies = (
301BF551109A68C00062928A /* PBXTargetDependency */, 301BF551109A68C00062928A /* PBXTargetDependency */,
); );
name = NotificationExample; name = "NotificationExample";
productName = NotificationExample; productName = "NotificationExample";
productReference = 1D6058910D05DD3D006BFB54 /* NotificationExample.app */; productReference = 1D6058910D05DD3D006BFB54 /* NotificationExample.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
...@@ -319,7 +324,7 @@ ...@@ -319,7 +324,7 @@
attributes = { attributes = {
LastUpgradeCheck = 510; LastUpgradeCheck = 510;
}; };
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NotificationExample" */; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = English;
hasScannedForEncodings = 1; hasScannedForEncodings = 1;
...@@ -420,12 +425,13 @@ ...@@ -420,12 +425,13 @@
1D60589B0D05DD56006BFB54 /* main.m in Sources */, 1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* AppDelegate.m in Sources */, 1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
302D95F114D2391D003F00A1 /* MainViewController.m in Sources */, 302D95F114D2391D003F00A1 /* MainViewController.m in Sources */,
9AF00F0BC0694C408D82918E /* Toast+UIView.m in Sources */, AD7BE76F46AF46B98063DA33 /* CDVDevice.m in Sources */,
345E79E8B29A4BC0911A1AD9 /* Toast.m in Sources */, 71589C47958B44A0AB9DF872 /* APPLocalNotification.m in Sources */,
383D0BC6E5AD468CA0DB7269 /* APPLocalNotification.m in Sources */, 31A5963AFA5A4FB2A383621E /* APPLocalNotificationOptions.m in Sources */,
398FB094C4774595A5BD97A5 /* APPLocalNotificationOptions.m in Sources */, 3D2DB1BD087A46D793C1F291 /* UIApplication+APPLocalNotification.m in Sources */,
19469EFA32F64CB7BD7A3A01 /* UIApplication+APPLocalNotification.m in Sources */, 3ED7D44238364BD3B99BF0CF /* UILocalNotification+APPLocalNotification.m in Sources */,
0117A6A182EE4E83BEEC628F /* UILocalNotification+APPLocalNotification.m in Sources */, 6C5A5FDC69334EABB56FCE5A /* Toast+UIView.m in Sources */,
23298A8B7C33459FADC63B77 /* Toast.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -466,7 +472,7 @@ ...@@ -466,7 +472,7 @@
"-weak-lSystem", "-weak-lSystem",
"-ObjC", "-ObjC",
); );
PRODUCT_NAME = NotificationExample; PRODUCT_NAME = "NotificationExample";
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Debug; name = Debug;
...@@ -495,7 +501,7 @@ ...@@ -495,7 +501,7 @@
"-weak-lSystem", "-weak-lSystem",
"-ObjC", "-ObjC",
); );
PRODUCT_NAME = NotificationExample; PRODUCT_NAME = "NotificationExample";
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Release; name = Release;
...@@ -599,7 +605,7 @@ ...@@ -599,7 +605,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NotificationExample" */ = { C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */, C01FCF4F08A954540054247B /* Debug */,
......
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:NotificationExample.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>A63F5FF5-C059-403D-81B9-E740110FFC25</string>
<key>IDESourceControlProjectName</key>
<string>NotificationExample</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>E6A4395732CC1C6C7441E85472223F9AAF3A67CD</key>
<string>github.com:katzer/cordova-plugin-local-notifications.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>platforms/ios/NotificationExample.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>E6A4395732CC1C6C7441E85472223F9AAF3A67CD</key>
<string>../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>github.com:katzer/cordova-plugin-local-notifications.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>E6A4395732CC1C6C7441E85472223F9AAF3A67CD</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>E6A4395732CC1C6C7441E85472223F9AAF3A67CD</string>
<key>IDESourceControlWCCName</key>
<string>cordova-example-local-notifications</string>
</dict>
</array>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
</Bucket>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "NotificationExample.app"
BlueprintName = "NotificationExample"
ReferencedContainer = "container:NotificationExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "NotificationExample.app"
BlueprintName = "NotificationExample"
ReferencedContainer = "container:NotificationExample.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "NotificationExample.app"
BlueprintName = "NotificationExample"
ReferencedContainer = "container:NotificationExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "NotificationExample.app"
BlueprintName = "NotificationExample"
ReferencedContainer = "container:NotificationExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>NotificationExample.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>1D6058900D05DD3D006BFB54</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
...@@ -61,6 +61,13 @@ ...@@ -61,6 +61,13 @@
// List all ids from all triggered notifications // List all ids from all triggered notifications
- (void) getTriggeredIds:(CDVInvokedUrlCommand*)command; - (void) getTriggeredIds:(CDVInvokedUrlCommand*)command;
// Propertys for given local notification
- (void) getSingle:(CDVInvokedUrlCommand*)command;
// Propertya for given scheduled notification
- (void) getSingleScheduled:(CDVInvokedUrlCommand*)command;
// Propertys for given triggered notification
- (void) getSingleTriggered:(CDVInvokedUrlCommand*)command;
// Property list for given local notifications // Property list for given local notifications
- (void) getAll:(CDVInvokedUrlCommand*)command; - (void) getAll:(CDVInvokedUrlCommand*)command;
// Property list for given scheduled notifications // Property list for given scheduled notifications
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSDictionary* options in notifications) { for (NSDictionary* options in notifications) {
NSString* id = [options objectForKey:@"id"]; NSNumber* id = [options objectForKey:@"id"];
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
- (void) cancel:(CDVInvokedUrlCommand*)command - (void) cancel:(CDVInvokedUrlCommand*)command
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSString* id in command.arguments) { for (NSNumber* id in command.arguments) {
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
- (void) clear:(CDVInvokedUrlCommand*)command - (void) clear:(CDVInvokedUrlCommand*)command
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSString* id in command.arguments) { for (NSNumber* id in command.arguments) {
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
type:(APPLocalNotificationType)type; type:(APPLocalNotificationType)type;
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
NSString* id = [command argumentAtIndex:0]; NSNumber* id = [command argumentAtIndex:0];
BOOL exist; BOOL exist;
CDVPluginResult* result; CDVPluginResult* result;
...@@ -314,6 +314,28 @@ ...@@ -314,6 +314,28 @@
} }
/** /**
* Propertys for given local notification.
*/
- (void) getSingle:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeAll];
}
/**
* Propertya for given scheduled notification.
*/
- (void) getSingleScheduled:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeScheduled];
}
// Propertys for given triggered notification
- (void) getSingleTriggered:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeTriggered];
}
/**
* Property list for given local notifications. * Property list for given local notifications.
* *
* @param ids * @param ids
...@@ -347,6 +369,38 @@ ...@@ -347,6 +369,38 @@
} }
/** /**
* Propertys for given triggered notification.
*
* @param type
* Notification life cycle type
* @param ids
* The ID of the notification
*/
- (void) getOption:(CDVInvokedUrlCommand*)command
byType:(APPLocalNotificationType)type;
{
[self.commandDelegate runInBackground:^{
NSArray* ids = command.arguments;
NSArray* notifications;
CDVPluginResult* result;
if (type == NotifcationTypeAll) {
notifications = [self.app localNotificationOptionsById:ids];
}
else {
notifications = [self.app localNotificationOptionsByType:type
andId:ids];
}
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK
messageAsDictionary:notifications[0]];
[self.commandDelegate sendPluginResult:result
callbackId:command.callbackId];
}];
}
/**
* Property list for given triggered notifications. * Property list for given triggered notifications.
* *
* @param type * @param type
...@@ -474,7 +528,7 @@ ...@@ -474,7 +528,7 @@
*/ */
- (void) cancelForerunnerLocalNotification:(UILocalNotification*)notification - (void) cancelForerunnerLocalNotification:(UILocalNotification*)notification
{ {
NSString* id = notification.options.id; NSNumber* id = notification.options.id;
UILocalNotification* forerunner; UILocalNotification* forerunner;
forerunner = [self.app localNotificationWithId:id]; forerunner = [self.app localNotificationWithId:id];
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
- (id) initWithDict:(NSDictionary*)dict; - (id) initWithDict:(NSDictionary*)dict;
@property (readonly, getter=id) NSString* id; @property (readonly, getter=id) NSNumber* id;
@property (readonly, getter=badgeNumber) NSInteger badgeNumber; @property (readonly, getter=badgeNumber) NSInteger badgeNumber;
@property (readonly, getter=alertBody) NSString* alertBody; @property (readonly, getter=alertBody) NSString* alertBody;
@property (readonly, getter=soundName) NSString* soundName; @property (readonly, getter=soundName) NSString* soundName;
......
...@@ -59,9 +59,11 @@ NSString* const DEFAULT_SOUND = @"res://platform_default"; ...@@ -59,9 +59,11 @@ NSString* const DEFAULT_SOUND = @"res://platform_default";
/** /**
* The notification's ID. * The notification's ID.
*/ */
- (NSString*) id - (NSNumber*) id
{ {
return [dict objectForKey:@"id"]; NSInteger id = [[dict objectForKey:@"id"] integerValue];
return [NSNumber numberWithInteger:id];
} }
/** /**
...@@ -186,6 +188,14 @@ NSString* const DEFAULT_SOUND = @"res://platform_default"; ...@@ -186,6 +188,14 @@ NSString* const DEFAULT_SOUND = @"res://platform_default";
*/ */
- (NSDictionary*) userInfo - (NSDictionary*) userInfo
{ {
if ([dict objectForKey:@"updatedAt"]) {
NSMutableDictionary* data = [dict mutableCopy];
[data removeObjectForKey:@"updatedAt"];
return data;
}
return dict; return dict;
} }
......
...@@ -37,14 +37,14 @@ ...@@ -37,14 +37,14 @@
- (NSArray*) localNotificationIdsByType:(APPLocalNotificationType)type; - (NSArray*) localNotificationIdsByType:(APPLocalNotificationType)type;
// If local notification with ID exists // If local notification with ID exists
- (BOOL) localNotificationExist:(NSString*)id; - (BOOL) localNotificationExist:(NSNumber*)id;
// If local notification with ID and type exists // If local notification with ID and type exists
- (BOOL) localNotificationExist:(NSString*)id type:(APPLocalNotificationType)type; - (BOOL) localNotificationExist:(NSNumber*)id type:(APPLocalNotificationType)type;
// Local notification by ID // Local notification by ID
- (UILocalNotification*) localNotificationWithId:(NSString*)id; - (UILocalNotification*) localNotificationWithId:(NSNumber*)id;
// Local notification by ID and type // Local notification by ID and type
- (UILocalNotification*) localNotificationWithId:(NSString*)id andType:(APPLocalNotificationType)type; - (UILocalNotification*) localNotificationWithId:(NSNumber*)id andType:(APPLocalNotificationType)type;
// Property list from all local notifications // Property list from all local notifications
- (NSArray*) localNotificationOptions; - (NSArray*) localNotificationOptions;
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
* @param id * @param id
* Notification ID * Notification ID
*/ */
- (BOOL) localNotificationExist:(NSString*)id - (BOOL) localNotificationExist:(NSNumber*)id
{ {
return [self localNotificationWithId:id] != NULL; return [self localNotificationWithId:id] != NULL;
} }
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
* @param type * @param type
* Notification life cycle type * Notification life cycle type
*/ */
- (BOOL) localNotificationExist:(NSString*)id type:(APPLocalNotificationType)type - (BOOL) localNotificationExist:(NSNumber*)id type:(APPLocalNotificationType)type
{ {
return [self localNotificationWithId:id andType:type] != NULL; return [self localNotificationWithId:id andType:type] != NULL;
} }
...@@ -182,13 +182,13 @@ ...@@ -182,13 +182,13 @@
* @param id * @param id
* Notification ID * Notification ID
*/ */
- (UILocalNotification*) localNotificationWithId:(NSString*)id - (UILocalNotification*) localNotificationWithId:(NSNumber*)id
{ {
NSArray* notifications = self.localNotifications; NSArray* notifications = self.localNotifications;
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
if ([notification.options.id isEqualToString:id]) { if ([notification.options.id isEqualToNumber:id]) {
return notification; return notification;
} }
} }
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
* @param type * @param type
* Notification life cycle type * Notification life cycle type
*/ */
- (UILocalNotification*) localNotificationWithId:(NSString*)id andType:(APPLocalNotificationType)type - (UILocalNotification*) localNotificationWithId:(NSNumber*)id andType:(APPLocalNotificationType)type
{ {
UILocalNotification* notification = [self localNotificationWithId:id]; UILocalNotification* notification = [self localNotificationWithId:id];
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
return options; return options;
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
if (notification.type == type) { if (notification.type == type) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
...@@ -262,12 +262,12 @@ ...@@ -262,12 +262,12 @@
UILocalNotification* notification; UILocalNotification* notification;
NSMutableArray* options = [[NSMutableArray alloc] init]; NSMutableArray* options = [[NSMutableArray alloc] init];
for (NSString* id in ids) for (NSNumber* id in ids)
{ {
notification = [self localNotificationWithId:id]; notification = [self localNotificationWithId:id];
if (notification) { if (notification) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
...@@ -287,12 +287,12 @@ ...@@ -287,12 +287,12 @@
UILocalNotification* notification; UILocalNotification* notification;
NSMutableArray* options = [[NSMutableArray alloc] init]; NSMutableArray* options = [[NSMutableArray alloc] init];
for (NSString* id in ids) for (NSNumber* id in ids)
{ {
notification = [self localNotificationWithId:id]; notification = [self localNotificationWithId:id];
if (notification && notification.type == type) { if (notification && notification.type == type) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
......
...@@ -23,9 +23,6 @@ ...@@ -23,9 +23,6 @@
</author> </author>
<content src="index.html" /> <content src="index.html" />
<access origin="*" /> <access origin="*" />
<feature name="Toast">
<param name="ios-package" value="Toast" />
</feature>
<feature name="Device"> <feature name="Device">
<param name="ios-package" value="CDVDevice" /> <param name="ios-package" value="CDVDevice" />
</feature> </feature>
...@@ -33,4 +30,7 @@ ...@@ -33,4 +30,7 @@
<param name="ios-package" onload="true" value="APPLocalNotification" /> <param name="ios-package" onload="true" value="APPLocalNotification" />
<param name="onload" value="true" /> <param name="onload" value="true" />
</feature> </feature>
<feature name="Toast">
<param name="ios-package" value="Toast" />
</feature>
</widget> </widget>
cordova.define('cordova/plugin_list', function(require, exports, module) { cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [ module.exports = [
{ {
"file": "plugins/nl.x-services.plugins.toast/www/Toast.js",
"id": "nl.x-services.plugins.toast.Toast",
"clobbers": [
"window.plugins.toast"
]
},
{
"file": "plugins/nl.x-services.plugins.toast/test/tests.js",
"id": "nl.x-services.plugins.toast.tests"
},
{
"file": "plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js", "file": "plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js",
"id": "de.appplant.cordova.plugin.local-notification.LocalNotification", "id": "de.appplant.cordova.plugin.local-notification.LocalNotification",
"clobbers": [ "clobbers": [
...@@ -36,6 +25,17 @@ module.exports = [ ...@@ -36,6 +25,17 @@ module.exports = [
] ]
}, },
{ {
"file": "plugins/nl.x-services.plugins.toast/www/Toast.js",
"id": "nl.x-services.plugins.toast.Toast",
"clobbers": [
"window.plugins.toast"
]
},
{
"file": "plugins/nl.x-services.plugins.toast/test/tests.js",
"id": "nl.x-services.plugins.toast.tests"
},
{
"file": "plugins/org.apache.cordova.device/www/device.js", "file": "plugins/org.apache.cordova.device/www/device.js",
"id": "org.apache.cordova.device.device", "id": "org.apache.cordova.device.device",
"clobbers": [ "clobbers": [
...@@ -46,8 +46,8 @@ module.exports = [ ...@@ -46,8 +46,8 @@ module.exports = [
module.exports.metadata = module.exports.metadata =
// TOP OF METADATA // TOP OF METADATA
{ {
"nl.x-services.plugins.toast": "2.0.3",
"de.appplant.cordova.plugin.local-notification": "0.8.2dev", "de.appplant.cordova.plugin.local-notification": "0.8.2dev",
"nl.x-services.plugins.toast": "2.0.3",
"org.apache.cordova.device": "0.3.0" "org.apache.cordova.device": "0.3.0"
} }
// BOTTOM OF METADATA // BOTTOM OF METADATA
......
...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) { ...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isPresent = function (id, callback, scope) { exports.isPresent = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isPresent', id || 0, callback, scope);
this.exec('isPresent', notId, callback, scope);
}; };
/** /**
...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) { ...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isScheduled = function (id, callback, scope) { exports.isScheduled = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isScheduled', id || 0, callback, scope);
this.exec('isScheduled', notId, callback, scope);
}; };
/** /**
...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) { ...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isTriggered = function (id, callback, scope) { exports.isTriggered = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isTriggered', id || 0, callback, scope);
this.exec('isTriggered', notId, callback, scope);
}; };
/** /**
...@@ -275,7 +269,7 @@ exports.get = function () { ...@@ -275,7 +269,7 @@ exports.get = function () {
scope = args[2]; scope = args[2];
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingle', ids.toString(), callback, scope); this.exec('getSingle', Number(ids), callback, scope);
return; return;
} }
...@@ -323,7 +317,7 @@ exports.getScheduled = function () { ...@@ -323,7 +317,7 @@ exports.getScheduled = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleScheduled', ids.toString(), callback, scope); this.exec('getSingleScheduled', Number(ids), callback, scope);
return; return;
} }
...@@ -371,7 +365,7 @@ exports.getTriggered = function () { ...@@ -371,7 +365,7 @@ exports.getTriggered = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleTriggered', ids.toString(), callback, scope); this.exec('getSingleTriggered', Number(ids), callback, scope);
return; return;
} }
......
...@@ -35,7 +35,7 @@ exports._defaults = { ...@@ -35,7 +35,7 @@ exports._defaults = {
title: '', title: '',
sound: 'res://platform_default', sound: 'res://platform_default',
badge: 0, badge: 0,
id: "0", id: 0,
data: undefined, data: undefined,
every: undefined, every: undefined,
at: undefined at: undefined
...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) { ...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) {
options.text = this.getValueFor(options, 'text', 'message'); options.text = this.getValueFor(options, 'text', 'message');
options.data = this.getValueFor(options, 'data', 'json'); options.data = this.getValueFor(options, 'data', 'json');
if (defaults.hasOwnProperty('autoClear')) {
options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel'); options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel');
}
if (options.autoClear !== true && options.ongoing) { if (options.autoClear !== true && options.ongoing) {
options.autoClear = false; options.autoClear = false;
...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) { ...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) {
if (options.id) { if (options.id) {
if (isNaN(options.id)) { if (isNaN(options.id)) {
options.id = this.getDefaults().id; options.id = this.getDefaults().id;
console.warn('Id is not a number: ' + options.id);
} else { } else {
options.id = options.id.toString(); options.id = Number(options.id);
} }
} }
...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) { ...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) {
if (options.badge) { if (options.badge) {
if (isNaN(options.badge)) { if (isNaN(options.badge)) {
options.badge = this.getDefaults().badge; options.badge = this.getDefaults().badge;
console.warn('Badge number is not a number: ' + options.id);
} else { } else {
options.badge = Number(options.badge); options.badge = Number(options.badge);
} }
} }
if (options.at) {
if (typeof options.at == 'object') { if (typeof options.at == 'object') {
options.at = Math.round(options.at.getTime()/1000); options.at = options.at.getTime();
}
options.at = Math.round(options.at/1000);
} }
if (typeof options.data == 'object') { if (typeof options.data == 'object') {
...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) { ...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) {
* The new callback function * The new callback function
*/ */
exports.createCallbackFn = function (callbackFn, scope) { exports.createCallbackFn = function (callbackFn, scope) {
if (typeof callbackFn != 'function') if (typeof callbackFn != 'function')
return; return;
...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) { ...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) {
}; };
/** /**
* Convert the IDs to Strings. * Convert the IDs to numbers.
* *
* @param {String/Number[]} ids * @param {String/Number[]} ids
* *
* @return Array of Strings * @return Array of Numbers
*/ */
exports.convertIds = function (ids) { exports.convertIds = function (ids) {
var convertedIds = []; var convertedIds = [];
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
convertedIds.push(ids[i].toString()); convertedIds.push(Number(ids[i]));
} }
return convertedIds; return convertedIds;
......
cordova.define('cordova/plugin_list', function(require, exports, module) { cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [ module.exports = [
{ {
"file": "plugins/nl.x-services.plugins.toast/www/Toast.js",
"id": "nl.x-services.plugins.toast.Toast",
"clobbers": [
"window.plugins.toast"
]
},
{
"file": "plugins/nl.x-services.plugins.toast/test/tests.js",
"id": "nl.x-services.plugins.toast.tests"
},
{
"file": "plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js", "file": "plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js",
"id": "de.appplant.cordova.plugin.local-notification.LocalNotification", "id": "de.appplant.cordova.plugin.local-notification.LocalNotification",
"clobbers": [ "clobbers": [
...@@ -46,17 +57,6 @@ module.exports = [ ...@@ -46,17 +57,6 @@ module.exports = [
] ]
}, },
{ {
"file": "plugins/nl.x-services.plugins.toast/www/Toast.js",
"id": "nl.x-services.plugins.toast.Toast",
"clobbers": [
"window.plugins.toast"
]
},
{
"file": "plugins/nl.x-services.plugins.toast/test/tests.js",
"id": "nl.x-services.plugins.toast.tests"
},
{
"file": "plugins/org.apache.cordova.device/www/device.js", "file": "plugins/org.apache.cordova.device/www/device.js",
"id": "org.apache.cordova.device.device", "id": "org.apache.cordova.device.device",
"clobbers": [ "clobbers": [
...@@ -74,8 +74,8 @@ module.exports = [ ...@@ -74,8 +74,8 @@ module.exports = [
module.exports.metadata = module.exports.metadata =
// TOP OF METADATA // TOP OF METADATA
{ {
"de.appplant.cordova.plugin.local-notification": "0.8.2dev",
"nl.x-services.plugins.toast": "2.0.3", "nl.x-services.plugins.toast": "2.0.3",
"de.appplant.cordova.plugin.local-notification": "0.8.2dev",
"org.apache.cordova.device": "0.3.0" "org.apache.cordova.device": "0.3.0"
} }
// BOTTOM OF METADATA // BOTTOM OF METADATA
......
...@@ -209,6 +209,54 @@ exports.getTriggeredIds = function (success, error) { ...@@ -209,6 +209,54 @@ exports.getTriggeredIds = function (success, error) {
}; };
/** /**
* Propertys for given notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingle = function (success, error, ids) {
var notification = exports.core.getAll(ids)[0];
success(notification);
};
/**
* Propertys for given scheduled notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingleScheduled = function (success, error, ids) {
var notification = exports.core.getScheduled(ids)[0];
success(notification);
};
/**
* Propertys for given triggered notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingleTriggered = function (success, error, ids) {
var notification = exports.core.getTriggered(ids)[0];
success(notification);
};
/**
* Property list for given notifications. * Property list for given notifications.
* If called without IDs, all notification will be returned. * If called without IDs, all notification will be returned.
* *
......
...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) { ...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isPresent = function (id, callback, scope) { exports.isPresent = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isPresent', id || 0, callback, scope);
this.exec('isPresent', notId, callback, scope);
}; };
/** /**
...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) { ...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isScheduled = function (id, callback, scope) { exports.isScheduled = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isScheduled', id || 0, callback, scope);
this.exec('isScheduled', notId, callback, scope);
}; };
/** /**
...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) { ...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isTriggered = function (id, callback, scope) { exports.isTriggered = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isTriggered', id || 0, callback, scope);
this.exec('isTriggered', notId, callback, scope);
}; };
/** /**
...@@ -275,7 +269,7 @@ exports.get = function () { ...@@ -275,7 +269,7 @@ exports.get = function () {
scope = args[2]; scope = args[2];
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingle', ids.toString(), callback, scope); this.exec('getSingle', Number(ids), callback, scope);
return; return;
} }
...@@ -323,7 +317,7 @@ exports.getScheduled = function () { ...@@ -323,7 +317,7 @@ exports.getScheduled = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleScheduled', ids.toString(), callback, scope); this.exec('getSingleScheduled', Number(ids), callback, scope);
return; return;
} }
...@@ -371,7 +365,7 @@ exports.getTriggered = function () { ...@@ -371,7 +365,7 @@ exports.getTriggered = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleTriggered', ids.toString(), callback, scope); this.exec('getSingleTriggered', Number(ids), callback, scope);
return; return;
} }
......
...@@ -35,7 +35,7 @@ exports._defaults = { ...@@ -35,7 +35,7 @@ exports._defaults = {
title: '', title: '',
sound: 'res://platform_default', sound: 'res://platform_default',
badge: 0, badge: 0,
id: "0", id: 0,
data: undefined, data: undefined,
every: undefined, every: undefined,
at: undefined at: undefined
...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) { ...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) {
options.text = this.getValueFor(options, 'text', 'message'); options.text = this.getValueFor(options, 'text', 'message');
options.data = this.getValueFor(options, 'data', 'json'); options.data = this.getValueFor(options, 'data', 'json');
if (defaults.hasOwnProperty('autoClear')) {
options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel'); options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel');
}
if (options.autoClear !== true && options.ongoing) { if (options.autoClear !== true && options.ongoing) {
options.autoClear = false; options.autoClear = false;
...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) { ...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) {
if (options.id) { if (options.id) {
if (isNaN(options.id)) { if (isNaN(options.id)) {
options.id = this.getDefaults().id; options.id = this.getDefaults().id;
console.warn('Id is not a number: ' + options.id);
} else { } else {
options.id = options.id.toString(); options.id = Number(options.id);
} }
} }
...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) { ...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) {
if (options.badge) { if (options.badge) {
if (isNaN(options.badge)) { if (isNaN(options.badge)) {
options.badge = this.getDefaults().badge; options.badge = this.getDefaults().badge;
console.warn('Badge number is not a number: ' + options.id);
} else { } else {
options.badge = Number(options.badge); options.badge = Number(options.badge);
} }
} }
if (options.at) {
if (typeof options.at == 'object') { if (typeof options.at == 'object') {
options.at = Math.round(options.at.getTime()/1000); options.at = options.at.getTime();
}
options.at = Math.round(options.at/1000);
} }
if (typeof options.data == 'object') { if (typeof options.data == 'object') {
...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) { ...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) {
* The new callback function * The new callback function
*/ */
exports.createCallbackFn = function (callbackFn, scope) { exports.createCallbackFn = function (callbackFn, scope) {
if (typeof callbackFn != 'function') if (typeof callbackFn != 'function')
return; return;
...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) { ...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) {
}; };
/** /**
* Convert the IDs to Strings. * Convert the IDs to numbers.
* *
* @param {String/Number[]} ids * @param {String/Number[]} ids
* *
* @return Array of Strings * @return Array of Numbers
*/ */
exports.convertIds = function (ids) { exports.convertIds = function (ids) {
var convertedIds = []; var convertedIds = [];
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
convertedIds.push(ids[i].toString()); convertedIds.push(Number(ids[i]));
} }
return convertedIds; return convertedIds;
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<!-- cordova --> <!-- cordova -->
<engines> <engines>
<engine name="cordova" version=">=3.0.0" /> <engine name="cordova" version=">=3.0.0" />
<engine name="cordova" version="<4.0.0" />
</engines> </engines>
<!-- dependencies --> <!-- dependencies -->
......
...@@ -39,10 +39,16 @@ module.exports = function (context) { ...@@ -39,10 +39,16 @@ module.exports = function (context) {
var cordova_util = context.requireCordovaModule('cordova-lib/src/cordova/util'), var cordova_util = context.requireCordovaModule('cordova-lib/src/cordova/util'),
ConfigParser = context.requireCordovaModule('cordova-lib/src/configparser/ConfigParser'), ConfigParser = context.requireCordovaModule('cordova-lib/src/configparser/ConfigParser'),
platforms = context.requireCordovaModule('cordova-lib/src/cordova/platforms'),
projectRoot = cordova_util.isCordova(), projectRoot = cordova_util.isCordova(),
xml = cordova_util.projectConfig(projectRoot), xml = cordova_util.projectConfig(projectRoot),
cfg = new ConfigParser(xml); cfg = new ConfigParser(xml);
// Cordova moved the platforms stuff; try both locations so we'll work for new and old file layouts.
var platforms;
try {
platforms = context.requireCordovaModule('cordova-lib/src/cordova/platforms');
} catch(e) {
platforms = context.requireCordovaModule('cordova-lib/src/platforms/platforms');
}
/** /**
* The absolute path for the file. * The absolute path for the file.
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Builder;
import de.appplant.cordova.plugin.notification.Notification;
import de.appplant.cordova.plugin.notification.TriggerReceiver; import de.appplant.cordova.plugin.notification.TriggerReceiver;
/** /**
......
...@@ -23,8 +23,7 @@ ...@@ -23,8 +23,7 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import java.util.ArrayList; import android.os.Build;
import java.util.List;
import org.apache.cordova.CallbackContext; import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface; import org.apache.cordova.CordovaInterface;
...@@ -35,9 +34,11 @@ import org.json.JSONArray; ...@@ -35,9 +34,11 @@ import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import android.os.Build; import java.util.ArrayList;
import java.util.List;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Manager;
import de.appplant.cordova.plugin.notification.Notification;
/** /**
* This plugin utilizes the Android AlarmManager in combination with local * This plugin utilizes the Android AlarmManager in combination with local
...@@ -249,9 +250,11 @@ public class LocalNotification extends CordovaPlugin { ...@@ -249,9 +250,11 @@ public class LocalNotification extends CordovaPlugin {
Notification notification = Notification notification =
getNotificationMgr().cancel(id); getNotificationMgr().cancel(id);
if (notification != null) {
fireEvent("cancel", notification); fireEvent("cancel", notification);
} }
} }
}
/** /**
* Cancel all scheduled notifications. * Cancel all scheduled notifications.
...@@ -274,9 +277,11 @@ public class LocalNotification extends CordovaPlugin { ...@@ -274,9 +277,11 @@ public class LocalNotification extends CordovaPlugin {
Notification notification = Notification notification =
getNotificationMgr().clear(id); getNotificationMgr().clear(id);
if (notification != null) {
fireEvent("clear", notification); fireEvent("clear", notification);
} }
} }
}
/** /**
* Clear all triggered notifications without canceling them. * Clear all triggered notifications without canceling them.
......
...@@ -42,8 +42,10 @@ public class RestoreReceiver extends AbstractRestoreReceiver { ...@@ -42,8 +42,10 @@ public class RestoreReceiver extends AbstractRestoreReceiver {
*/ */
@Override @Override
public void onRestore (Notification notification) { public void onRestore (Notification notification) {
if (notification.isScheduled()) {
notification.schedule(); notification.schedule();
} }
}
/** /**
* Build notification specified by options. * Build notification specified by options.
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
package de.appplant.cordova.plugin.localnotification; package de.appplant.cordova.plugin.localnotification;
import de.appplant.cordova.plugin.notification.*; import de.appplant.cordova.plugin.notification.Builder;
import de.appplant.cordova.plugin.notification.Notification;
/** /**
* The alarm receiver is triggered when a scheduled alarm is fired. This class * The alarm receiver is triggered when a scheduled alarm is fired. This class
......
...@@ -23,16 +23,6 @@ ...@@ -23,16 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.content.Context; import android.content.Context;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.content.res.Resources; import android.content.res.Resources;
...@@ -43,6 +33,16 @@ import android.net.Uri; ...@@ -43,6 +33,16 @@ import android.net.Uri;
import android.os.StrictMode; import android.os.StrictMode;
import android.util.Log; import android.util.Log;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/** /**
* Util class to map unified asset URIs to native URIs. URIs like file:/// * Util class to map unified asset URIs to native URIs. URIs like file:///
* map to absolute paths while file:// point relatively to the www folder * map to absolute paths while file:// point relatively to the www folder
...@@ -121,8 +121,6 @@ class AssetUtil { ...@@ -121,8 +121,6 @@ class AssetUtil {
return Uri.EMPTY; return Uri.EMPTY;
} }
/** /**
* URI for a file. * URI for a file.
* *
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.util.Random;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
...@@ -33,6 +31,8 @@ import android.support.v4.app.NotificationCompat; ...@@ -33,6 +31,8 @@ import android.support.v4.app.NotificationCompat;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.Random;
/** /**
* Builder class for local notifications. Build fully configured local * Builder class for local notifications. Build fully configured local
* notification specified by JSON object passed from JS side. * notification specified by JSON object passed from JS side.
...@@ -158,7 +158,7 @@ public class Builder { ...@@ -158,7 +158,7 @@ public class Builder {
return; return;
Intent deleteIntent = new Intent(context, clearReceiver) Intent deleteIntent = new Intent(context, clearReceiver)
.setAction(options.getId()) .setAction(options.getIdStr())
.putExtra(Options.EXTRA, options.toString()); .putExtra(Options.EXTRA, options.toString());
PendingIntent dpi = PendingIntent.getBroadcast( PendingIntent dpi = PendingIntent.getBroadcast(
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import static de.appplant.cordova.plugin.notification.Notification.PREF_KEY;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
...@@ -34,12 +32,13 @@ import org.json.JSONObject; ...@@ -34,12 +32,13 @@ import org.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import static de.appplant.cordova.plugin.notification.Notification.PREF_KEY;
/** /**
* Central way to access all or single local notifications set by specific * Central way to access all or single local notifications set by specific
* state like triggered or scheduled. Offers shortcut ways to schedule, * state like triggered or scheduled. Offers shortcut ways to schedule,
......
...@@ -45,7 +45,7 @@ import java.util.Date; ...@@ -45,7 +45,7 @@ import java.util.Date;
public class Notification { public class Notification {
// Used to differ notifications by their life cycle state // Used to differ notifications by their life cycle state
public static enum Type { public enum Type {
ALL, SCHEDULED, TRIGGERED ALL, SCHEDULED, TRIGGERED
} }
...@@ -105,7 +105,7 @@ public class Notification { ...@@ -105,7 +105,7 @@ public class Notification {
* Get notification ID. * Get notification ID.
*/ */
public int getId () { public int getId () {
return options.getIdAsInt(); return options.getId();
} }
/** /**
...@@ -162,27 +162,23 @@ public class Notification { ...@@ -162,27 +162,23 @@ public class Notification {
* Schedule the local notification. * Schedule the local notification.
*/ */
public void schedule() { public void schedule() {
long triggerTime = getNextTriggerTime(); long triggerTime = options.getTriggerTime();
persist(); persist();
// Intent gets called when the Notification gets fired // Intent gets called when the Notification gets fired
Intent intent = new Intent(context, receiver) Intent intent = new Intent(context, receiver)
.setAction(options.getId()) .setAction(options.getIdStr())
.putExtra(Options.EXTRA, options.toString()); .putExtra(Options.EXTRA, options.toString());
PendingIntent pi = PendingIntent.getBroadcast( PendingIntent pi = PendingIntent.getBroadcast(
context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
getAlarmMgr().set(AlarmManager.RTC_WAKEUP, triggerTime, pi);
}
/**
* Re-schedule the local notification if repeating.
*/
void reschedule () {
if (isRepeating()) { if (isRepeating()) {
schedule(); getAlarmMgr().setRepeating(AlarmManager.RTC_WAKEUP,
triggerTime, options.getRepeatInterval(), pi);
} else {
getAlarmMgr().set(AlarmManager.RTC_WAKEUP, triggerTime, pi);
} }
} }
...@@ -208,13 +204,13 @@ public class Notification { ...@@ -208,13 +204,13 @@ public class Notification {
*/ */
public void cancel() { public void cancel() {
Intent intent = new Intent(context, receiver) Intent intent = new Intent(context, receiver)
.setAction(options.getId()); .setAction(options.getIdStr());
PendingIntent pi = PendingIntent. PendingIntent pi = PendingIntent.
getBroadcast(context, 0, intent, 0); getBroadcast(context, 0, intent, 0);
getAlarmMgr().cancel(pi); getAlarmMgr().cancel(pi);
getNotMgr().cancel(options.getIdAsInt()); getNotMgr().cancel(options.getId());
unpersist(); unpersist();
} }
...@@ -232,7 +228,7 @@ public class Notification { ...@@ -232,7 +228,7 @@ public class Notification {
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private void showNotification () { private void showNotification () {
int id = getOptions().getIdAsInt(); int id = getOptions().getId();
if (Build.VERSION.SDK_INT <= 15) { if (Build.VERSION.SDK_INT <= 15) {
// Notification for HoneyComb to ICS // Notification for HoneyComb to ICS
...@@ -251,26 +247,11 @@ public class Notification { ...@@ -251,26 +247,11 @@ public class Notification {
} }
/** /**
* Next trigger time.
*/
public long getNextTriggerTime() {
long triggerTime = options.getTriggerTime();
if (!isRepeating() || !isTriggered())
return triggerTime;
long interval = options.getRepeatInterval();
int triggerCount = getTriggerCountSinceSchedule();
return triggerTime + (triggerCount + 1) * interval;
}
/**
* Count of triggers since schedule. * Count of triggers since schedule.
*/ */
public int getTriggerCountSinceSchedule() { public int getTriggerCountSinceSchedule() {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
long initTriggerTime = options.getTriggerTime(); long triggerTime = options.getTriggerTime();
if (!wasInThePast()) if (!wasInThePast())
return 0; return 0;
...@@ -278,7 +259,7 @@ public class Notification { ...@@ -278,7 +259,7 @@ public class Notification {
if (!isRepeating()) if (!isRepeating())
return 1; return 1;
return (int) ((now - initTriggerTime) / options.getRepeatInterval()); return (int) ((now - triggerTime) / options.getRepeatInterval());
} }
/** /**
...@@ -294,6 +275,7 @@ public class Notification { ...@@ -294,6 +275,7 @@ public class Notification {
e.printStackTrace(); e.printStackTrace();
} }
json.remove("firstAt");
json.remove("updatedAt"); json.remove("updatedAt");
json.remove("soundUri"); json.remove("soundUri");
json.remove("iconUri"); json.remove("iconUri");
...@@ -309,7 +291,7 @@ public class Notification { ...@@ -309,7 +291,7 @@ public class Notification {
private void persist () { private void persist () {
SharedPreferences.Editor editor = getPrefs().edit(); SharedPreferences.Editor editor = getPrefs().edit();
editor.putString(options.getId(), options.toString()); editor.putString(options.getIdStr(), options.toString());
if (Build.VERSION.SDK_INT < 9) { if (Build.VERSION.SDK_INT < 9) {
editor.commit(); editor.commit();
...@@ -324,7 +306,7 @@ public class Notification { ...@@ -324,7 +306,7 @@ public class Notification {
private void unpersist () { private void unpersist () {
SharedPreferences.Editor editor = getPrefs().edit(); SharedPreferences.Editor editor = getPrefs().edit();
editor.remove(options.getId()); editor.remove(options.getIdStr());
if (Build.VERSION.SDK_INT < 9) { if (Build.VERSION.SDK_INT < 9) {
editor.commit(); editor.commit();
......
...@@ -23,16 +23,16 @@ ...@@ -23,16 +23,16 @@
package de.appplant.cordova.plugin.notification; package de.appplant.cordova.plugin.notification;
import java.util.Date;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Date;
/** /**
* Wrapper around the JSON object passed through JS which contains all * Wrapper around the JSON object passed through JS which contains all
* possible option values. Class provides simple readers and more advanced * possible option values. Class provides simple readers and more advanced
...@@ -189,35 +189,34 @@ public class Options { ...@@ -189,35 +189,34 @@ public class Options {
} }
/** /**
* Trigger date in milliseconds. * ID for the local notification as a number.
*/ */
public long getTriggerTime() { public Integer getId() {
return options.optLong("at", 0) * 1000; return options.optInt("id", 0);
} }
/** /**
* Trigger date. * ID for the local notification as a string.
*/ */
public Date getTriggerDate() { public String getIdStr() {
return new Date(getTriggerTime()); return getId().toString();
} }
/** /**
* ID for the local notification. * Trigger date.
*/ */
public String getId() { public Date getTriggerDate() {
return options.optString("id", "0"); return new Date(getTriggerTime());
} }
/** /**
* ID for the local notification. * Trigger date in milliseconds.
*/ */
public int getIdAsInt() { public long getTriggerTime() {
try { return Math.max(
return Integer.parseInt(getId()); System.currentTimeMillis(),
} catch (Exception ignore) { options.optLong("at", 0) * 1000
return 0; );
}
} }
/** /**
......
...@@ -42,11 +42,6 @@ public class TriggerReceiver extends AbstractTriggerReceiver { ...@@ -42,11 +42,6 @@ public class TriggerReceiver extends AbstractTriggerReceiver {
*/ */
@Override @Override
public void onTrigger (Notification notification, boolean updated) { public void onTrigger (Notification notification, boolean updated) {
if (notification.isRepeating()) {
notification.reschedule();
}
notification.show(); notification.show();
} }
......
...@@ -61,6 +61,13 @@ ...@@ -61,6 +61,13 @@
// List all ids from all triggered notifications // List all ids from all triggered notifications
- (void) getTriggeredIds:(CDVInvokedUrlCommand*)command; - (void) getTriggeredIds:(CDVInvokedUrlCommand*)command;
// Propertys for given local notification
- (void) getSingle:(CDVInvokedUrlCommand*)command;
// Propertya for given scheduled notification
- (void) getSingleScheduled:(CDVInvokedUrlCommand*)command;
// Propertys for given triggered notification
- (void) getSingleTriggered:(CDVInvokedUrlCommand*)command;
// Property list for given local notifications // Property list for given local notifications
- (void) getAll:(CDVInvokedUrlCommand*)command; - (void) getAll:(CDVInvokedUrlCommand*)command;
// Property list for given scheduled notifications // Property list for given scheduled notifications
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSDictionary* options in notifications) { for (NSDictionary* options in notifications) {
NSString* id = [options objectForKey:@"id"]; NSNumber* id = [options objectForKey:@"id"];
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
- (void) cancel:(CDVInvokedUrlCommand*)command - (void) cancel:(CDVInvokedUrlCommand*)command
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSString* id in command.arguments) { for (NSNumber* id in command.arguments) {
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
- (void) clear:(CDVInvokedUrlCommand*)command - (void) clear:(CDVInvokedUrlCommand*)command
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
for (NSString* id in command.arguments) { for (NSNumber* id in command.arguments) {
UILocalNotification* notification; UILocalNotification* notification;
notification = [self.app localNotificationWithId:id]; notification = [self.app localNotificationWithId:id];
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
type:(APPLocalNotificationType)type; type:(APPLocalNotificationType)type;
{ {
[self.commandDelegate runInBackground:^{ [self.commandDelegate runInBackground:^{
NSString* id = [command argumentAtIndex:0]; NSNumber* id = [command argumentAtIndex:0];
BOOL exist; BOOL exist;
CDVPluginResult* result; CDVPluginResult* result;
...@@ -314,6 +314,28 @@ ...@@ -314,6 +314,28 @@
} }
/** /**
* Propertys for given local notification.
*/
- (void) getSingle:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeAll];
}
/**
* Propertya for given scheduled notification.
*/
- (void) getSingleScheduled:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeScheduled];
}
// Propertys for given triggered notification
- (void) getSingleTriggered:(CDVInvokedUrlCommand*)command
{
[self getOption:command byType:NotifcationTypeTriggered];
}
/**
* Property list for given local notifications. * Property list for given local notifications.
* *
* @param ids * @param ids
...@@ -347,6 +369,38 @@ ...@@ -347,6 +369,38 @@
} }
/** /**
* Propertys for given triggered notification.
*
* @param type
* Notification life cycle type
* @param ids
* The ID of the notification
*/
- (void) getOption:(CDVInvokedUrlCommand*)command
byType:(APPLocalNotificationType)type;
{
[self.commandDelegate runInBackground:^{
NSArray* ids = command.arguments;
NSArray* notifications;
CDVPluginResult* result;
if (type == NotifcationTypeAll) {
notifications = [self.app localNotificationOptionsById:ids];
}
else {
notifications = [self.app localNotificationOptionsByType:type
andId:ids];
}
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK
messageAsDictionary:notifications[0]];
[self.commandDelegate sendPluginResult:result
callbackId:command.callbackId];
}];
}
/**
* Property list for given triggered notifications. * Property list for given triggered notifications.
* *
* @param type * @param type
...@@ -474,7 +528,7 @@ ...@@ -474,7 +528,7 @@
*/ */
- (void) cancelForerunnerLocalNotification:(UILocalNotification*)notification - (void) cancelForerunnerLocalNotification:(UILocalNotification*)notification
{ {
NSString* id = notification.options.id; NSNumber* id = notification.options.id;
UILocalNotification* forerunner; UILocalNotification* forerunner;
forerunner = [self.app localNotificationWithId:id]; forerunner = [self.app localNotificationWithId:id];
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
- (id) initWithDict:(NSDictionary*)dict; - (id) initWithDict:(NSDictionary*)dict;
@property (readonly, getter=id) NSString* id; @property (readonly, getter=id) NSNumber* id;
@property (readonly, getter=badgeNumber) NSInteger badgeNumber; @property (readonly, getter=badgeNumber) NSInteger badgeNumber;
@property (readonly, getter=alertBody) NSString* alertBody; @property (readonly, getter=alertBody) NSString* alertBody;
@property (readonly, getter=soundName) NSString* soundName; @property (readonly, getter=soundName) NSString* soundName;
......
...@@ -59,9 +59,11 @@ NSString* const DEFAULT_SOUND = @"res://platform_default"; ...@@ -59,9 +59,11 @@ NSString* const DEFAULT_SOUND = @"res://platform_default";
/** /**
* The notification's ID. * The notification's ID.
*/ */
- (NSString*) id - (NSNumber*) id
{ {
return [dict objectForKey:@"id"]; NSInteger id = [[dict objectForKey:@"id"] integerValue];
return [NSNumber numberWithInteger:id];
} }
/** /**
...@@ -186,6 +188,14 @@ NSString* const DEFAULT_SOUND = @"res://platform_default"; ...@@ -186,6 +188,14 @@ NSString* const DEFAULT_SOUND = @"res://platform_default";
*/ */
- (NSDictionary*) userInfo - (NSDictionary*) userInfo
{ {
if ([dict objectForKey:@"updatedAt"]) {
NSMutableDictionary* data = [dict mutableCopy];
[data removeObjectForKey:@"updatedAt"];
return data;
}
return dict; return dict;
} }
......
...@@ -37,14 +37,14 @@ ...@@ -37,14 +37,14 @@
- (NSArray*) localNotificationIdsByType:(APPLocalNotificationType)type; - (NSArray*) localNotificationIdsByType:(APPLocalNotificationType)type;
// If local notification with ID exists // If local notification with ID exists
- (BOOL) localNotificationExist:(NSString*)id; - (BOOL) localNotificationExist:(NSNumber*)id;
// If local notification with ID and type exists // If local notification with ID and type exists
- (BOOL) localNotificationExist:(NSString*)id type:(APPLocalNotificationType)type; - (BOOL) localNotificationExist:(NSNumber*)id type:(APPLocalNotificationType)type;
// Local notification by ID // Local notification by ID
- (UILocalNotification*) localNotificationWithId:(NSString*)id; - (UILocalNotification*) localNotificationWithId:(NSNumber*)id;
// Local notification by ID and type // Local notification by ID and type
- (UILocalNotification*) localNotificationWithId:(NSString*)id andType:(APPLocalNotificationType)type; - (UILocalNotification*) localNotificationWithId:(NSNumber*)id andType:(APPLocalNotificationType)type;
// Property list from all local notifications // Property list from all local notifications
- (NSArray*) localNotificationOptions; - (NSArray*) localNotificationOptions;
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
* @param id * @param id
* Notification ID * Notification ID
*/ */
- (BOOL) localNotificationExist:(NSString*)id - (BOOL) localNotificationExist:(NSNumber*)id
{ {
return [self localNotificationWithId:id] != NULL; return [self localNotificationWithId:id] != NULL;
} }
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
* @param type * @param type
* Notification life cycle type * Notification life cycle type
*/ */
- (BOOL) localNotificationExist:(NSString*)id type:(APPLocalNotificationType)type - (BOOL) localNotificationExist:(NSNumber*)id type:(APPLocalNotificationType)type
{ {
return [self localNotificationWithId:id andType:type] != NULL; return [self localNotificationWithId:id andType:type] != NULL;
} }
...@@ -182,13 +182,13 @@ ...@@ -182,13 +182,13 @@
* @param id * @param id
* Notification ID * Notification ID
*/ */
- (UILocalNotification*) localNotificationWithId:(NSString*)id - (UILocalNotification*) localNotificationWithId:(NSNumber*)id
{ {
NSArray* notifications = self.localNotifications; NSArray* notifications = self.localNotifications;
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
if ([notification.options.id isEqualToString:id]) { if ([notification.options.id isEqualToNumber:id]) {
return notification; return notification;
} }
} }
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
* @param type * @param type
* Notification life cycle type * Notification life cycle type
*/ */
- (UILocalNotification*) localNotificationWithId:(NSString*)id andType:(APPLocalNotificationType)type - (UILocalNotification*) localNotificationWithId:(NSNumber*)id andType:(APPLocalNotificationType)type
{ {
UILocalNotification* notification = [self localNotificationWithId:id]; UILocalNotification* notification = [self localNotificationWithId:id];
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
return options; return options;
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
for (UILocalNotification* notification in notifications) for (UILocalNotification* notification in notifications)
{ {
if (notification.type == type) { if (notification.type == type) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
...@@ -262,12 +262,12 @@ ...@@ -262,12 +262,12 @@
UILocalNotification* notification; UILocalNotification* notification;
NSMutableArray* options = [[NSMutableArray alloc] init]; NSMutableArray* options = [[NSMutableArray alloc] init];
for (NSString* id in ids) for (NSNumber* id in ids)
{ {
notification = [self localNotificationWithId:id]; notification = [self localNotificationWithId:id];
if (notification) { if (notification) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
...@@ -287,12 +287,12 @@ ...@@ -287,12 +287,12 @@
UILocalNotification* notification; UILocalNotification* notification;
NSMutableArray* options = [[NSMutableArray alloc] init]; NSMutableArray* options = [[NSMutableArray alloc] init];
for (NSString* id in ids) for (NSNumber* id in ids)
{ {
notification = [self localNotificationWithId:id]; notification = [self localNotificationWithId:id];
if (notification && notification.type == type) { if (notification && notification.type == type) {
[options addObject:notification.userInfo]; [options addObject:notification.options.userInfo];
} }
} }
......
...@@ -20,12 +20,12 @@ ...@@ -20,12 +20,12 @@
*/ */
var Notifications = Windows.UI.Notifications, var proxy = require('de.appplant.cordova.plugin.local-notification.LocalNotification.Proxy');
applicationData = Windows.Storage.ApplicationData.current,
localSettings = applicationData.localSettings;
var Notifications = Windows.UI.Notifications;
exports.core = {
proxy.core = {
/** /**
* Executes all queued events. * Executes all queued events.
......
...@@ -209,6 +209,54 @@ exports.getTriggeredIds = function (success, error) { ...@@ -209,6 +209,54 @@ exports.getTriggeredIds = function (success, error) {
}; };
/** /**
* Propertys for given notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingle = function (success, error, ids) {
var notification = exports.core.getAll(ids)[0];
success(notification);
};
/**
* Propertys for given scheduled notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingleScheduled = function (success, error, ids) {
var notification = exports.core.getScheduled(ids)[0];
success(notification);
};
/**
* Propertys for given triggered notification.
*
* @param {Function} success
* Success callback
* @param {Function} error
* Error callback
* @param {int[]} ids
* List of local notification IDs
*/
exports.getSingleTriggered = function (success, error, ids) {
var notification = exports.core.getTriggered(ids)[0];
success(notification);
};
/**
* Property list for given notifications. * Property list for given notifications.
* If called without IDs, all notification will be returned. * If called without IDs, all notification will be returned.
* *
...@@ -259,11 +307,5 @@ exports.getTriggered = function (success, error, ids) { ...@@ -259,11 +307,5 @@ exports.getTriggered = function (success, error, ids) {
success(notifications); success(notifications);
}; };
/**
* Required for core module to access the proxy.
*/
exports.exports = function () {
return exports;
};
cordova.commandProxy.add('LocalNotification', exports); cordova.commandProxy.add('LocalNotification', exports);
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
*/ */
var channel = require('cordova/channel'); exports = require('de.appplant.cordova.plugin.local-notification.LocalNotification.Proxy').core;
exports = require('de.appplant.cordova.plugin.local-notification.LocalNotification.Proxy.Core').core; var channel = require('cordova/channel');
/*********** /***********
......
...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) { ...@@ -172,9 +172,7 @@ exports.cancelAll = function (callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isPresent = function (id, callback, scope) { exports.isPresent = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isPresent', id || 0, callback, scope);
this.exec('isPresent', notId, callback, scope);
}; };
/** /**
...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) { ...@@ -188,9 +186,7 @@ exports.isPresent = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isScheduled = function (id, callback, scope) { exports.isScheduled = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isScheduled', id || 0, callback, scope);
this.exec('isScheduled', notId, callback, scope);
}; };
/** /**
...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) { ...@@ -204,9 +200,7 @@ exports.isScheduled = function (id, callback, scope) {
* The scope for the callback function * The scope for the callback function
*/ */
exports.isTriggered = function (id, callback, scope) { exports.isTriggered = function (id, callback, scope) {
var notId = (id || '0').toString(); this.exec('isTriggered', id || 0, callback, scope);
this.exec('isTriggered', notId, callback, scope);
}; };
/** /**
...@@ -275,7 +269,7 @@ exports.get = function () { ...@@ -275,7 +269,7 @@ exports.get = function () {
scope = args[2]; scope = args[2];
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingle', ids.toString(), callback, scope); this.exec('getSingle', Number(ids), callback, scope);
return; return;
} }
...@@ -323,7 +317,7 @@ exports.getScheduled = function () { ...@@ -323,7 +317,7 @@ exports.getScheduled = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleScheduled', ids.toString(), callback, scope); this.exec('getSingleScheduled', Number(ids), callback, scope);
return; return;
} }
...@@ -371,7 +365,7 @@ exports.getTriggered = function () { ...@@ -371,7 +365,7 @@ exports.getTriggered = function () {
} }
if (!Array.isArray(ids)) { if (!Array.isArray(ids)) {
this.exec('getSingleTriggered', ids.toString(), callback, scope); this.exec('getSingleTriggered', Number(ids), callback, scope);
return; return;
} }
......
...@@ -35,7 +35,7 @@ exports._defaults = { ...@@ -35,7 +35,7 @@ exports._defaults = {
title: '', title: '',
sound: 'res://platform_default', sound: 'res://platform_default',
badge: 0, badge: 0,
id: "0", id: 0,
data: undefined, data: undefined,
every: undefined, every: undefined,
at: undefined at: undefined
...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) { ...@@ -87,7 +87,9 @@ exports.mergeWithDefaults = function (options) {
options.text = this.getValueFor(options, 'text', 'message'); options.text = this.getValueFor(options, 'text', 'message');
options.data = this.getValueFor(options, 'data', 'json'); options.data = this.getValueFor(options, 'data', 'json');
if (defaults.hasOwnProperty('autoClear')) {
options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel'); options.autoClear = this.getValueFor(options, 'autoClear', 'autoCancel');
}
if (options.autoClear !== true && options.ongoing) { if (options.autoClear !== true && options.ongoing) {
options.autoClear = false; options.autoClear = false;
...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) { ...@@ -131,8 +133,9 @@ exports.convertProperties = function (options) {
if (options.id) { if (options.id) {
if (isNaN(options.id)) { if (isNaN(options.id)) {
options.id = this.getDefaults().id; options.id = this.getDefaults().id;
console.warn('Id is not a number: ' + options.id);
} else { } else {
options.id = options.id.toString(); options.id = Number(options.id);
} }
} }
...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) { ...@@ -147,13 +150,18 @@ exports.convertProperties = function (options) {
if (options.badge) { if (options.badge) {
if (isNaN(options.badge)) { if (isNaN(options.badge)) {
options.badge = this.getDefaults().badge; options.badge = this.getDefaults().badge;
console.warn('Badge number is not a number: ' + options.id);
} else { } else {
options.badge = Number(options.badge); options.badge = Number(options.badge);
} }
} }
if (options.at) {
if (typeof options.at == 'object') { if (typeof options.at == 'object') {
options.at = Math.round(options.at.getTime()/1000); options.at = options.at.getTime();
}
options.at = Math.round(options.at/1000);
} }
if (typeof options.data == 'object') { if (typeof options.data == 'object') {
...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) { ...@@ -175,6 +183,7 @@ exports.convertProperties = function (options) {
* The new callback function * The new callback function
*/ */
exports.createCallbackFn = function (callbackFn, scope) { exports.createCallbackFn = function (callbackFn, scope) {
if (typeof callbackFn != 'function') if (typeof callbackFn != 'function')
return; return;
...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) { ...@@ -184,17 +193,17 @@ exports.createCallbackFn = function (callbackFn, scope) {
}; };
/** /**
* Convert the IDs to Strings. * Convert the IDs to numbers.
* *
* @param {String/Number[]} ids * @param {String/Number[]} ids
* *
* @return Array of Strings * @return Array of Numbers
*/ */
exports.convertIds = function (ids) { exports.convertIds = function (ids) {
var convertedIds = []; var convertedIds = [];
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
convertedIds.push(ids[i].toString()); convertedIds.push(Number(ids[i]));
} }
return convertedIds; return convertedIds;
......
...@@ -9,15 +9,15 @@ ...@@ -9,15 +9,15 @@
"parents": { "parents": {
"/*": [ "/*": [
{ {
"xml": "<feature name=\"Toast\"><param name=\"ios-package\" value=\"Toast\" /></feature>", "xml": "<feature name=\"Device\"><param name=\"ios-package\" value=\"CDVDevice\" /></feature>",
"count": 1 "count": 1
}, },
{ {
"xml": "<feature name=\"Device\"><param name=\"ios-package\" value=\"CDVDevice\" /></feature>", "xml": "<feature name=\"LocalNotification\"><param name=\"ios-package\" onload=\"true\" value=\"APPLocalNotification\" /><param name=\"onload\" value=\"true\" /></feature>",
"count": 1 "count": 1
}, },
{ {
"xml": "<feature name=\"LocalNotification\"><param name=\"ios-package\" onload=\"true\" value=\"APPLocalNotification\" /><param name=\"onload\" value=\"true\" /></feature>", "xml": "<feature name=\"Toast\"><param name=\"ios-package\" value=\"Toast\" /></feature>",
"count": 1 "count": 1
} }
] ]
...@@ -30,17 +30,16 @@ ...@@ -30,17 +30,16 @@
"xml": false, "xml": false,
"count": 1 "count": 1
} }
], ]
"MessageUI.framework": []
} }
} }
} }
}, },
"installed_plugins": { "installed_plugins": {
"nl.x-services.plugins.toast": { "de.appplant.cordova.plugin.local-notification": {
"PACKAGE_NAME": "de.appplant.localnotification.example" "PACKAGE_NAME": "de.appplant.localnotification.example"
}, },
"de.appplant.cordova.plugin.local-notification": { "nl.x-services.plugins.toast": {
"PACKAGE_NAME": "de.appplant.localnotification.example" "PACKAGE_NAME": "de.appplant.localnotification.example"
} }
}, },
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
"files": {} "files": {}
}, },
"installed_plugins": { "installed_plugins": {
"de.appplant.cordova.plugin.local-notification": { "nl.x-services.plugins.toast": {
"PACKAGE_NAME": "NotificationExample" "PACKAGE_NAME": "NotificationExample"
}, },
"nl.x-services.plugins.toast": { "de.appplant.cordova.plugin.local-notification": {
"PACKAGE_NAME": "NotificationExample" "PACKAGE_NAME": "NotificationExample"
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment