forked from quarck/CalendarNotification
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathConsts.kt
More file actions
207 lines (160 loc) · 9.25 KB
/
Copy pathConsts.kt
File metadata and controls
207 lines (160 loc) · 9.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
//
// Calendar Notifications Plus
// Copyright (C) 2016 Sergey Parshin (s.parshin.sc@gmail.com)
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
package com.github.quarck.calnotify
object Consts {
// object JobIDS {
// const val CALENDAR_RESCAN = 0
// const val CALENDAR_RESCAN_ONCE = 1
// }
//
// const val FILE_PROVIDER_ID = BuildConfig.APPLICATION_ID + ".fileprovider"
const val DATA_UPDATED_BROADCAST = BuildConfig.APPLICATION_ID + ".dataupdated"
const val DAY_IN_MILLISECONDS = 24L * 3600L * 1000L
const val DAY_IN_SECONDS: Long = 3600L * 24
const val DAY_IN_MINUTES: Int = 60*24
const val WEEK_IN_SECONDS: Long = DAY_IN_SECONDS * 7
const val WEEK_IN_MILLISECONDS: Long = DAY_IN_MILLISECONDS * 7
const val HOUR_IN_SECONDS: Long = 3600L
const val HOUR_IN_MILLISECONDS: Long = 3600L * 1000L
const val MINUTE_IN_SECONDS: Long = 60L
const val MINUTE_IN_MILLISECONDS: Long = 60L * 1000L
const val DEFAULT_SNOOZE_TIME = 5L * 60L * 1000L
const val DEFAULT_SNOOZE_TIME_PICKER_MINUTES_FROM_NOW = 15
const val NOTIFICATION_ID_COLLAPSED = 0
const val NOTIFICATION_ID_DYNAMIC_FROM = 1
const val REMINDER_ALARM_TIMEOUT = 15000L
const val CALENDAR_RESCAN_TIMEOUT = 180L * 1000L // 3 mins
const val DEFAULT_SNOOZE_TIME_IF_NONE = 15L * 60L * 1000L
const val MAX_NOTIFICATION_IDS = Int.MAX_VALUE -1
const val NOTIFICATION_ID_REMINDER = MAX_NOTIFICATION_IDS - 1
const val NOTIFICATION_ID_BUNDLED_GROUP = MAX_NOTIFICATION_IDS - 2
const val NOTIFICATION_ID_DEBUG0_AUTO_DISMISS = MAX_NOTIFICATION_IDS - 10
const val NOTIFICATION_ID_DEBUG1_ALARM_DELAYS = MAX_NOTIFICATION_IDS - 11
const val NOTIFICATION_ID_DEBUG2_SNOOZE_ALARM_DELAYS = MAX_NOTIFICATION_IDS - 12
const val NOTIFICATION_ID_DEBUG3_NEARLY_MISS = MAX_NOTIFICATION_IDS - 13
//
const val INTENT_NOTIFICATION_ID_KEY = "notificationId"
const val INTENT_EVENT_ID_KEY = "eventId"
const val INTENT_CALENDAR_ID_KEY = "calendarId"
const val INTENT_INSTANCE_START_TIME_KEY = "instanceStartTime"
const val INTENT_SNOOZE_ALL_IS_CHANGE = "snooze_all_is_change"
const val INTENT_SNOOZE_FROM_MAIN_ACTIVITY = "snooze_by_main_activity"
const val INTENT_SNOOZE_PRESET = "snooze_preset"
const val INTENT_SNOOZE_ALL_KEY = "snooze_all"
const val INTENT_SEARCH_QUERY = "search_query"
const val INTENT_SEARCH_QUERY_EVENT_COUNT = "search_query_event_count"
const val INTENT_FILTER_STATE = "filter_state"
const val INTENT_PINNED_EVENT_COUNT = "pinned_event_count"
const val INTENT_SNOOZE_ALL_COLLAPSED_KEY = "snooze_all_collapsed"
const val INTENT_DISMISS_ALL_KEY = "dismiss_all"
// Pre-snooze (upcoming events) intent keys
const val INTENT_ALERT_TIME_KEY = "alertTime"
const val INTENT_EVENT_TITLE_KEY = "eventTitle"
const val INTENT_EVENT_DESC_KEY = "eventDesc"
const val INTENT_EVENT_START_TIME_KEY = "eventStartTime"
const val INTENT_EVENT_END_TIME_KEY = "eventEndTime"
const val INTENT_EVENT_INSTANCE_END_TIME_KEY = "eventInstanceEndTime"
const val INTENT_EVENT_ALL_DAY_KEY = "eventAllDay"
const val INTENT_EVENT_IS_REPEATING_KEY = "eventIsRepeating"
const val INTENT_EVENT_LOCATION_KEY = "eventLocation"
const val INTENT_EVENT_COLOR_KEY = "eventColor"
const val INTENT_EVENT_IS_MUTED_KEY = "eventIsMuted"
const val INTENT_IS_USER_ACTION = "causedByUser"
const val INTENT_TTS_TEXT = "text"
const val INTENT_MUTE_ACTION = "muteAction"
// max number of notifications displayed on the screen at all the times
const val MAX_NOTIFICATIONS = 16
const val DEFAULT_NOTIFICATIONS = 8
//
private const val VIBRATION_DURATION: Long = 1200
val VIBRATION_PATTERNS by lazy {
arrayOf(
longArrayOf(0, VIBRATION_DURATION), // Single long
longArrayOf(0, 2 * VIBRATION_DURATION),
longArrayOf(0, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5),
longArrayOf(0, VIBRATION_DURATION, VIBRATION_DURATION / 3, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5),
longArrayOf(0, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 3, VIBRATION_DURATION)
)
}
const val WAKE_SCREEN_DURATION = 100L
const val LED_DURATION_ON = 300
const val LED_DURATION_OFF = 2000
const val DEFAULT_LED_PATTERN = "$LED_DURATION_ON,$LED_DURATION_OFF"
const val LED_MIN_DURATION = 100
const val LED_MAX_DURATION = 2500
const val LED_DURATION_GRANULARITY = 100
// val VIBRATION_PATTERN_DEFAULT = longArrayOf(0, VIBRATION_DURATION) // Single Long
// val VIBRATION_PATTERN_ALARM = longArrayOf(0, 2 * VIBRATION_DURATION) // Single Very Long
// val VIBRATION_PATTERN_REMINDER = longArrayOf(0, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5)
// val VIBRATION_PATTERN_ALARM_REMINDER = longArrayOf(0, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 5, VIBRATION_DURATION / 3, VIBRATION_DURATION)
//
// val VIBRATION_PATTERN_REAL_ALARM = longArrayOf(0,
// VIBRATION_DURATION / 5, VIBRATION_DURATION / 3,
// VIBRATION_DURATION / 4, VIBRATION_DURATION / 1,
// VIBRATION_DURATION / 3, VIBRATION_DURATION / 5,
// VIBRATION_DURATION / 1, VIBRATION_DURATION / 4,
// VIBRATION_DURATION / 5, VIBRATION_DURATION / 3,
// VIBRATION_DURATION / 3, VIBRATION_DURATION / 5,
// VIBRATION_DURATION / 3, VIBRATION_DURATION / 5,
// VIBRATION_DURATION / 4, VIBRATION_DURATION / 1,
// VIBRATION_DURATION / 4, VIBRATION_DURATION / 1,
// VIBRATION_DURATION / 4, VIBRATION_DURATION / 1,
// VIBRATION_DURATION / 3, VIBRATION_DURATION / 5,
// VIBRATION_DURATION / 4, VIBRATION_DURATION / 1)
const val DEFAULT_LED_COLOR = 0x7f0000ff
const val ALARM_THRESHOLD = 24 * 1000L // multiple of both, 2 and 3
const val DISMISS_ALL_THRESHOLD = 3000L
val DEFAULT_SNOOZE_PRESETS = longArrayOf(15 * 60 * 1000, 60 * 60 * 1000, 4 * 60 * 60 * 1000, 24 * 60 * 60 * 1000)
const val MAX_SUPPORTED_PRESETS = 6
const val DEFAULT_CALENDAR_EVENT_COLOR = 0xff0000ff.toInt()
// Only auto-dismisss event notification if we can confirm that event was moved into the future
// by at least 1hr
const val EVENT_MOVED_THRESHOLD = 60 * 60 * 1000L
const val MIN_FORCE_REPOST_INTERVAL = 60L * 60L * 1000L // minimum once an hour
const val MARSHMALLOW_MIN_REMINDER_INTERVAL_USEC = 10 * 60 * 1000L
const val EVENT_MOVE_THRESHOLD = 15 * 60 * 1000L
const val LOGS_FOLDER = "logs"
const val ALERTS_DB_REMOVE_AFTER = 3L * 24L * 3600L * 1000L
const val CALENDAR_RESCAN_INTERVAL = 30L * 60L * 1000L // 30 mins
const val MAX_NUM_EVENTS_BEFORE_COLLAPSING_EVERYTHING = 50
//const val MAX_UNCOLLAPSED_NOTIFICATIONS= 12
const val MAX_DUE_ALERTS_FOR_MANUAL_SCAN = 512
const val MAX_SCAN_BACKWARD_DAYS = 31L
const val MIN_INTERVAL_BETWEEN_SOUNDS = 1000L
const val MIN_INTERVAL_BETWEEN_VIBRATIONS = 1000L
const val WAS_HANDLED_CACHE_MAX_AGE_MILLIS = (3 * MAX_SCAN_BACKWARD_DAYS + 10) * DAY_IN_MILLISECONDS
const val WAS_HANDLED_CACHE_CLEANUP_INTERVALS = MAX_SCAN_BACKWARD_DAYS / 2 * DAY_IN_MILLISECONDS
const val FAILBACK_SHORT_SNOOZE = 60000L
const val LOG_CLEANUP_INTERVAL: Long = 3600L * 24L * 3L * 1000L // every 3 days
const val MAX_USER_ACTION_DELAY: Long = 3500L
const val NEW_EVENT_DEFAULT_NEW_EVENT_REMINDER: Long = 15*60000L
const val NEW_EVENT_DEFAULT_ALL_DAY_REMINDER: Long = 6*60*60000L // 18:00 on the day before
const val NEW_EVENT_DEFAULT_ADD_HOURS: Int = 4
const val NEW_EVENT_MAX_ALL_DAY_REMINDER_DAYS_BEFORE: Int = 28
const val NEW_EVENT_MAX_REMINDER_MILLISECONDS_BEFORE: Long = 28L * DAY_IN_MILLISECONDS
const val NEW_EVENT_MONITOR_KEEP_DAYS: Long = 3
const val NEW_EVENT_MIN_STATUS_STEP_MILLIS: Long = 1*60*1000L
const val NEW_EVENT_MIN_MONITOR_RETRY_MILLISECONDS: Long = 10*60L*1000L // 10 minutes
const val NEW_EVENT_MONITOR_MAX_RETRIES: Int = 10
const val MIN_REMINDER_INTERVAL_SECONDS: Int = 15
const val DEFAULT_NEW_EVENT_DURATION_MINUTES: Int = 30
const val BIN_KEEP_HISTORY_DAYS = 3L
const val BIN_KEEP_HISTORY_MILLISECONDS = BIN_KEEP_HISTORY_DAYS * DAY_IN_MILLISECONDS
const val CAR_MODE_SLEEP_QUANTUM = 10 * MINUTE_IN_MILLISECONDS
}