MOBILE-3975 calendar: Move default reminder initial value to config

main
Dani Palou 2022-02-01 08:14:08 +01:00
parent 85eaeb44fe
commit a776e37852
4 changed files with 12 additions and 6 deletions

View File

@ -101,5 +101,6 @@
"ios": "id633359593" "ios": "id633359593"
}, },
"wsrequestqueuelimit": 10, "wsrequestqueuelimit": 10,
"wsrequestqueuedelay": 100 "wsrequestqueuedelay": 100,
"calendarreminderdefaultvalue": 3600
} }

View File

@ -108,7 +108,6 @@ export class AddonCalendarProvider {
static readonly COMPONENT = 'AddonCalendarEvents'; static readonly COMPONENT = 'AddonCalendarEvents';
static readonly DEFAULT_NOTIFICATION_TIME_CHANGED = 'AddonCalendarDefaultNotificationTimeChangedEvent'; static readonly DEFAULT_NOTIFICATION_TIME_CHANGED = 'AddonCalendarDefaultNotificationTimeChangedEvent';
static readonly DEFAULT_NOTIFICATION_TIME_SETTING = 'mmaCalendarDefaultNotifTime'; static readonly DEFAULT_NOTIFICATION_TIME_SETTING = 'mmaCalendarDefaultNotifTime';
static readonly DEFAULT_NOTIFICATION_TIME = 3600;
static readonly STARTING_WEEK_DAY = 'addon_calendar_starting_week_day'; static readonly STARTING_WEEK_DAY = 'addon_calendar_starting_week_day';
static readonly NEW_EVENT_EVENT = 'addon_calendar_new_event'; static readonly NEW_EVENT_EVENT = 'addon_calendar_new_event';
static readonly NEW_EVENT_DISCARDED_EVENT = 'addon_calendar_new_event_discarded'; static readonly NEW_EVENT_DISCARDED_EVENT = 'addon_calendar_new_event_discarded';
@ -638,7 +637,7 @@ export class AddonCalendarProvider {
const key = AddonCalendarProvider.DEFAULT_NOTIFICATION_TIME_SETTING + '#' + siteId; const key = AddonCalendarProvider.DEFAULT_NOTIFICATION_TIME_SETTING + '#' + siteId;
return CoreConfig.get(key, AddonCalendarProvider.DEFAULT_NOTIFICATION_TIME); return CoreConfig.get(key, CoreConstants.CONFIG.calendarreminderdefaultvalue || 3600);
} }
/** /**

View File

@ -13,9 +13,10 @@
// limitations under the License. // limitations under the License.
import { SQLiteDB } from '@classes/sqlitedb'; import { SQLiteDB } from '@classes/sqlitedb';
import { CoreConfig } from '@services/config';
import { CoreSiteSchema } from '@services/sites'; import { CoreSiteSchema } from '@services/sites';
import { CoreUtils } from '@services/utils/utils'; import { CoreUtils } from '@services/utils/utils';
import { AddonCalendar, AddonCalendarEventType } from '../calendar'; import { AddonCalendar, AddonCalendarEventType, AddonCalendarProvider } from '../calendar';
/** /**
* Database variables for AddonDatabase service. * Database variables for AddonDatabase service.
@ -216,13 +217,17 @@ export const CALENDAR_SITE_SCHEMA: CoreSiteSchema = {
} }
if (oldVersion < 4) { if (oldVersion < 4) {
// Migrate reminders. New format @since 4.0. // Migrate default notification time if it was changed.
const defaultTime = await CoreUtils.ignoreErrors(AddonCalendar.getDefaultNotificationTime(siteId)); // Don't use getDefaultNotificationTime to be able to detect if the value was changed or not.
const key = AddonCalendarProvider.DEFAULT_NOTIFICATION_TIME_SETTING + '#' + siteId;
const defaultTime = await CoreUtils.ignoreErrors(CoreConfig.get(key, null));
if (defaultTime) { if (defaultTime) {
// Convert from minutes to seconds. // Convert from minutes to seconds.
AddonCalendar.setDefaultNotificationTime(defaultTime * 60, siteId); AddonCalendar.setDefaultNotificationTime(defaultTime * 60, siteId);
} }
// Migrate reminders. New format @since 4.0.
const records = await db.getAllRecords<AddonCalendarReminderDBRecord>(REMINDERS_TABLE); const records = await db.getAllRecords<AddonCalendarReminderDBRecord>(REMINDERS_TABLE);
const events: Record<number, AddonCalendarEventDBRecord> = {}; const events: Record<number, AddonCalendarEventDBRecord> = {};

View File

@ -60,4 +60,5 @@ export interface EnvironmentConfig {
iabToolbarColors?: 'auto' | { background: string; text?: string } | null; iabToolbarColors?: 'auto' | { background: string; text?: string } | null;
wsrequestqueuelimit: number; // Maximum number of requests allowed in the queue. wsrequestqueuelimit: number; // Maximum number of requests allowed in the queue.
wsrequestqueuedelay: number; // Maximum number of miliseconds to wait before processing the queue. wsrequestqueuedelay: number; // Maximum number of miliseconds to wait before processing the queue.
calendarreminderdefaultvalue: number; // Initial value for default reminders (in seconds). User can change it later.
} }