Patch Calendar Notification Repeat

Introduction
The following assumes that you have experience applying modifications.

This modification will cause the Calendar reminder notifications to be repeated every 2 minutes until they are either dismissed or snoozed.

Editing Process
Edit

/usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js

Find

handleLaunch: function

Within this function find

else if (launchParams.alarmclose){ this.closeReminder(launchParams.alarmclose); }

Add the following immediatley after the above code

else if (launchParams.playalarmsound){ this.playAlarmSound; }

Find the following funcition

closeReminder: function

After this function add the following function

playAlarmSound: function { if (this.openReminderAlert) { this.openReminderAlert.playAlarmSound; this.openReminderAlert = null; } },

Edit /usr/palm/applications/com.palm.app.calendar/app/controllers/reminder-assistant.js

Find

cleanup: function

Add the following line to the end of this function

//remove the Notification repeat task this.removePlayAlarmSoundTask;

Find

updateMostRecentReminder: function

Add the follwoing lines to the end of this function

//setup the notification repeat task this.schedulePlayAlarmSoundTask;

Find

autoCloseAlert: Function

Add the following function after it

playAlarmSound: function { //temporarily set the snooze to 0 will immediately re-trigger allert to get our attention. this.dismissed = false; this.DEFAULT_SNOOZE = 0; this.closeAlert; },

Find

removeAutoCloseTask: function

Add the following two functions after it

schedulePlayAlarmSoundTask: function { //retrigger reminder every two minutes until we acknowledge it. //change the value in addMinutes to a value other than 2 if you prefer a different time span for the notification repeat. //ultimatly it would be best to add this to the preferences page. var playSoundTime = new Date.addMinutes(2); this.controller.serviceRequest('palm://com.palm.taskScheduler', {		method: 'updateTask',		parameters: {uri: 'palm://com.palm.applicationManager/open',		arguments: {'id': 'com.palm.app.calendar',				'params': {'playalarmsound': 'true'}},		key: 'calendar-playalarmsound',		start: {date: playSoundTime.toUTCString}}		}); }, removePlayAlarmSoundTask: function { this.controller.serviceRequest('palm://com.palm.taskScheduler', {		method: 'removeTask',		parameters: {key: 'calendar-playalarmsound'}		}); },