Skip to content

Commit e87df79

Browse files
Merge pull request #492 from nfode/fix-allday-check
Add check if allday is set if event is created interactively
2 parents 765b2e4 + 5072d7f commit e87df79

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

src/android/nl/xservices/plugins/Calendar.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -361,21 +361,27 @@ private void createEventInteractively(JSONArray args) {
361361
cordova.getThreadPool().execute(new Runnable() {
362362
@Override
363363
public void run() {
364-
final boolean isAllDayEvent = AbstractCalendarAccessor.isAllDayEvent(new Date(jsonFilter.optLong("startTime")), new Date(jsonFilter.optLong("endTime")));
365-
final Intent calIntent = new Intent(Intent.ACTION_EDIT)
366-
.setType("vnd.android.cursor.item/event")
367-
.putExtra("title", getPossibleNullString("title", jsonFilter))
368-
.putExtra("hasAlarm", 1);
369-
if(isAllDayEvent){
370-
calIntent
371-
.putExtra("allDay", isAllDayEvent)
372-
.putExtra("beginTime", jsonFilter.optLong("startTime") + TimeZone.getDefault().getOffset(jsonFilter.optLong("startTime")))
373-
.putExtra("endTime", jsonFilter.optLong("endTime") + TimeZone.getDefault().getOffset(jsonFilter.optLong("endTime")))
374-
.putExtra("eventTimezone", "TIMEZONE_UTC");
364+
365+
boolean isAllDayEvent = false;
366+
String allDayOption = getPossibleNullString("allday", argOptionsObject);
367+
if (allDayOption != null) {
368+
isAllDayEvent = Boolean.parseBoolean(allDayOption);
369+
} else {
370+
isAllDayEvent = AbstractCalendarAccessor.isAllDayEvent(new Date(jsonFilter.optLong("startTime")),
371+
new Date(jsonFilter.optLong("endTime")));
372+
}
373+
final Intent calIntent = new Intent(Intent.ACTION_EDIT).setType("vnd.android.cursor.item/event")
374+
.putExtra("title", getPossibleNullString("title", jsonFilter)).putExtra("hasAlarm", 1);
375+
if (isAllDayEvent) {
376+
calIntent.putExtra("allDay", isAllDayEvent)
377+
.putExtra("beginTime",
378+
jsonFilter.optLong("startTime") + TimeZone.getDefault().getOffset(jsonFilter.optLong("startTime")))
379+
.putExtra("endTime",
380+
jsonFilter.optLong("endTime") + TimeZone.getDefault().getOffset(jsonFilter.optLong("endTime")))
381+
.putExtra("eventTimezone", "TIMEZONE_UTC");
375382
} else {
376-
calIntent
377-
.putExtra("beginTime", jsonFilter.optLong("startTime"))
378-
.putExtra("endTime", jsonFilter.optLong("endTime"));
383+
calIntent.putExtra("beginTime", jsonFilter.optLong("startTime")).putExtra("endTime",
384+
jsonFilter.optLong("endTime"));
379385
}
380386

381387
// TODO can we pass a reminder here?

0 commit comments

Comments
 (0)