Commit 52623f11 by Sebastián Katzer

Support for silent, group, groupSummary flags on Android

parent d9bb523c
...@@ -638,7 +638,7 @@ public class LocalNotification extends CordovaPlugin { ...@@ -638,7 +638,7 @@ public class LocalNotification extends CordovaPlugin {
* *
* @return "background" or "foreground" * @return "background" or "foreground"
*/ */
static String getApplicationState () { static String getApplicationState() {
return isInBackground ? "background" : "foreground"; return isInBackground ? "background" : "foreground";
} }
......
...@@ -90,10 +90,15 @@ public class Builder { ...@@ -90,10 +90,15 @@ public class Builder {
int smallIcon = options.getSmallIcon(); int smallIcon = options.getSmallIcon();
NotificationCompat.Builder builder; NotificationCompat.Builder builder;
builder = new NotificationCompat.Builder(context, "group") if (options.isSilent()) {
return new Notification(context, options);
}
builder = new NotificationCompat.Builder(context, "channel")
.setDefaults(options.getDefaults()) .setDefaults(options.getDefaults())
.setContentTitle(options.getTitle()) .setContentTitle(options.getTitle())
.setContentText(options.getText()) .setContentText(options.getText())
.setTicker(options.getText())
.setNumber(options.getBadgeNumber()) .setNumber(options.getBadgeNumber())
.setAutoCancel(options.isAutoClear()) .setAutoCancel(options.isAutoClear())
.setOngoing(options.isSticky()) .setOngoing(options.isSticky())
...@@ -103,6 +108,8 @@ public class Builder { ...@@ -103,6 +108,8 @@ public class Builder {
.setPriority(options.getPriority()) .setPriority(options.getPriority())
.setShowWhen(options.getShowWhen()) .setShowWhen(options.getShowWhen())
.setUsesChronometer(options.isWithProgressBar()) .setUsesChronometer(options.isWithProgressBar())
.setGroup(options.getGroup())
.setGroupSummary(options.getGroupSummary())
.setLights(options.getLedColor(), options.getLedOn(), options.getLedOff()); .setLights(options.getLedColor(), options.getLedOn(), options.getLedOff());
if (options.isWithProgressBar()) { if (options.isWithProgressBar()) {
......
...@@ -30,7 +30,6 @@ import org.json.JSONArray; ...@@ -30,7 +30,6 @@ import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -488,6 +487,27 @@ public class Options { ...@@ -488,6 +487,27 @@ public class Options {
} }
/** /**
* The group for that notification.
*/
String getGroup() {
return options.optString("group", null);
}
/**
* If the group shall show a summary.
*/
boolean getGroupSummary() {
return options.optBoolean("groupSummary", false);
}
/**
* Gets the value of the silent flag.
*/
boolean isSilent() {
return options.optBoolean("silent", false);
}
/**
* Gets the raw trigger spec as provided by the user. * Gets the raw trigger spec as provided by the user.
*/ */
public JSONObject getTrigger() { public JSONObject getTrigger() {
......
...@@ -31,6 +31,7 @@ exports._defaults = { ...@@ -31,6 +31,7 @@ exports._defaults = {
badge: undefined, badge: undefined,
data: undefined, data: undefined,
icon: undefined, icon: undefined,
silent: false,
trigger: { type: 'calendar' }, trigger: { type: 'calendar' },
actions: [], actions: [],
actionGroupId: undefined, actionGroupId: undefined,
...@@ -51,18 +52,20 @@ exports.applyPlatformSpecificOptions = function () { ...@@ -51,18 +52,20 @@ exports.applyPlatformSpecificOptions = function () {
switch (device.platform) { switch (device.platform) {
case 'Android': case 'Android':
defaults.summary = undefined; defaults.group = undefined;
defaults.icon = 'res://icon'; defaults.groupSummary = false;
defaults.smallIcon = undefined; defaults.summary = undefined;
defaults.sticky = false; defaults.icon = 'res://icon';
defaults.autoClear = true; defaults.smallIcon = undefined;
defaults.led = true; defaults.sticky = false;
defaults.color = undefined; defaults.autoClear = true;
defaults.vibrate = false; defaults.led = true;
defaults.lockscreen = true; defaults.color = undefined;
defaults.showWhen = true; defaults.vibrate = false;
defaults.defaults = 0; defaults.lockscreen = true;
defaults.priority = 0; defaults.showWhen = true;
defaults.defaults = 0;
defaults.priority = 0;
break; break;
} }
}; };
......
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