Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cordova-plugin-local-notifications
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nabil Sadki
cordova-plugin-local-notifications
Commits
c3520580
Commit
c3520580
authored
Mar 31, 2015
by
Sebastián Katzer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix get* with single id on Android
parent
b8da2b94
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
109 additions
and
28 deletions
+109
-28
LocalNotification.java
src/android/LocalNotification.java
+86
-22
Manager.java
src/android/notification/Manager.java
+10
-4
Notification.java
src/android/notification/Notification.java
+1
-1
local-notification-core.js
www/local-notification-core.js
+12
-1
No files found.
src/android/LocalNotification.java
View file @
c3520580
...
...
@@ -174,6 +174,15 @@ public class LocalNotification extends CordovaPlugin {
else
if
(
action
.
equals
(
"getTriggeredIds"
))
{
getTriggeredIds
(
command
);
}
else
if
(
action
.
equals
(
"getSingle"
))
{
getSingle
(
args
,
command
);
}
else
if
(
action
.
equals
(
"getSingleScheduled"
))
{
getSingleScheduled
(
args
,
command
);
}
else
if
(
action
.
equals
(
"getSingleTriggered"
))
{
getSingleTriggered
(
args
,
command
);
}
else
if
(
action
.
equals
(
"getAll"
))
{
getAll
(
args
,
command
);
}
...
...
@@ -369,23 +378,51 @@ public class LocalNotification extends CordovaPlugin {
}
/**
*
Set of o
ptions from local notification.
*
O
ptions from local notification.
*
* @param ids
* Set of local notification IDs
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getAll
(
JSONArray
ids
,
CallbackContext
command
)
{
List
<
JSONObject
>
options
;
private
void
getSingle
(
JSONArray
ids
,
CallbackContext
command
)
{
getOptions
(
ids
.
optString
(
0
),
Notification
.
Type
.
ALL
,
command
);
}
if
(
ids
.
length
()
==
0
)
{
options
=
getNotificationMgr
().
getOptions
();
}
else
{
options
=
getNotificationMgr
().
getOptionsById
(
toList
(
ids
));
}
/**
* Options from scheduled notification.
*
* @param ids
* Set of local notification IDs
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getSingleScheduled
(
JSONArray
ids
,
CallbackContext
command
)
{
getOptions
(
ids
.
optString
(
0
),
Notification
.
Type
.
SCHEDULED
,
command
);
}
command
.
success
(
new
JSONArray
(
options
));
/**
* Options from triggered notification.
*
* @param ids
* Set of local notification IDs
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getSingleTriggered
(
JSONArray
ids
,
CallbackContext
command
)
{
getOptions
(
ids
.
optString
(
0
),
Notification
.
Type
.
TRIGGERED
,
command
);
}
/**
* Set of options from local notification.
*
* @param ids
* Set of local notification IDs
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getAll
(
JSONArray
ids
,
CallbackContext
command
)
{
getOptions
(
ids
,
Notification
.
Type
.
ALL
,
command
);
}
/**
...
...
@@ -397,16 +434,7 @@ public class LocalNotification extends CordovaPlugin {
* The callback context used when calling back into JavaScript.
*/
private
void
getScheduled
(
JSONArray
ids
,
CallbackContext
command
)
{
List
<
JSONObject
>
options
;
if
(
ids
.
length
()
==
0
)
{
options
=
getNotificationMgr
().
getOptionsByType
(
Notification
.
Type
.
SCHEDULED
);
}
else
{
options
=
getNotificationMgr
().
getOptionsBy
(
Notification
.
Type
.
SCHEDULED
,
toList
(
ids
));
}
command
.
success
(
new
JSONArray
(
options
));
getOptions
(
ids
,
Notification
.
Type
.
SCHEDULED
,
command
);
}
/**
...
...
@@ -418,13 +446,49 @@ public class LocalNotification extends CordovaPlugin {
* The callback context used when calling back into JavaScript.
*/
private
void
getTriggered
(
JSONArray
ids
,
CallbackContext
command
)
{
getOptions
(
ids
,
Notification
.
Type
.
TRIGGERED
,
command
);
}
/**
* Options from local notification.
*
* @param id
* Set of local notification IDs
* @param type
* The local notification life cycle type
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getOptions
(
String
id
,
Notification
.
Type
type
,
CallbackContext
command
)
{
JSONArray
ids
=
new
JSONArray
().
put
(
id
);
JSONObject
options
=
getNotificationMgr
().
getOptionsBy
(
type
,
toList
(
ids
)).
get
(
0
);
command
.
success
(
options
);
}
/**
* Set of options from local notifications.
*
* @param ids
* Set of local notification IDs
* @param type
* The local notification life cycle type
* @param command
* The callback context used when calling back into JavaScript.
*/
private
void
getOptions
(
JSONArray
ids
,
Notification
.
Type
type
,
CallbackContext
command
)
{
List
<
JSONObject
>
options
;
if
(
ids
.
length
()
==
0
)
{
options
=
getNotificationMgr
().
getOptionsByType
(
Notification
.
Type
.
TRIGGERED
);
options
=
getNotificationMgr
().
getOptionsByType
(
type
);
}
else
{
options
=
getNotificationMgr
().
getOptionsBy
(
Notification
.
Type
.
TRIGGERED
,
toList
(
ids
));
options
=
getNotificationMgr
().
getOptionsBy
(
type
,
toList
(
ids
));
}
command
.
success
(
new
JSONArray
(
options
));
...
...
src/android/notification/Manager.java
View file @
c3520580
...
...
@@ -48,7 +48,7 @@ import java.util.Set;
public
class
Manager
{
// Context passed through constructor and used for notification builder.
private
Context
context
;
private
Context
context
;
/**
* Constructor
...
...
@@ -56,9 +56,9 @@ public class Manager {
* @param context
* Application context
*/
private
Manager
(
Context
context
){
this
.
context
=
context
;
}
private
Manager
(
Context
context
){
this
.
context
=
context
;
}
/**
* Static method to retrieve class instance.
...
...
@@ -256,6 +256,9 @@ public class Manager {
List
<
Notification
>
notifications
=
getAll
();
ArrayList
<
Notification
>
list
=
new
ArrayList
<
Notification
>();
if
(
type
==
Notification
.
Type
.
ALL
)
return
notifications
;
for
(
Notification
notification
:
notifications
)
{
if
(
notification
.
getType
()
==
type
)
{
list
.
add
(
notification
);
...
...
@@ -368,6 +371,9 @@ public class Manager {
public
List
<
JSONObject
>
getOptionsBy
(
Notification
.
Type
type
,
List
<
Integer
>
ids
)
{
if
(
type
==
Notification
.
Type
.
ALL
)
return
getOptionsById
(
ids
);
ArrayList
<
JSONObject
>
options
=
new
ArrayList
<
JSONObject
>();
List
<
Notification
>
notifications
=
getByIds
(
ids
);
...
...
src/android/notification/Notification.java
View file @
c3520580
...
...
@@ -46,7 +46,7 @@ public class Notification {
// Used to differ notifications by their life cycle state
public
static
enum
Type
{
SCHEDULED
,
TRIGGERED
ALL
,
SCHEDULED
,
TRIGGERED
}
// Default receiver to handle the trigger event
...
...
www/local-notification-core.js
View file @
c3520580
...
...
@@ -275,7 +275,8 @@ exports.get = function () {
scope
=
args
[
2
];
if
(
!
Array
.
isArray
(
ids
))
{
ids
=
[
ids
];
this
.
exec
(
'getSingle'
,
ids
.
toString
(),
callback
,
scope
);
return
;
}
ids
=
this
.
convertIds
(
ids
);
...
...
@@ -321,6 +322,11 @@ exports.getScheduled = function () {
ids
=
[
ids
];
}
if
(
!
Array
.
isArray
(
ids
))
{
this
.
exec
(
'getSingleScheduled'
,
ids
.
toString
(),
callback
,
scope
);
return
;
}
ids
=
this
.
convertIds
(
ids
);
this
.
exec
(
'getScheduled'
,
ids
,
callback
,
scope
);
...
...
@@ -364,6 +370,11 @@ exports.getTriggered = function () {
ids
=
[
ids
];
}
if
(
!
Array
.
isArray
(
ids
))
{
this
.
exec
(
'getSingleTriggered'
,
ids
.
toString
(),
callback
,
scope
);
return
;
}
ids
=
this
.
convertIds
(
ids
);
this
.
exec
(
'getTriggered'
,
ids
,
callback
,
scope
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment