@@ -12,6 +12,8 @@ var setting_restriction_list;
1212var setting_interval_save ;
1313var setting_interval_inactivity ;
1414var setting_view_in_badge ;
15+ var setting_notification_list ;
16+ var setting_notification_message ;
1517
1618function updateSummaryTime ( ) {
1719 setInterval ( backgroundCheck , SETTINGS_INTERVAL_CHECK_DEFAULT ) ;
@@ -61,6 +63,17 @@ function mainTRacker(activeUrl, tab, activeTab) {
6163 setBlockPageToCurrent ( activeUrl ) ;
6264 }
6365 if ( ! activity . isInBlackList ( activeUrl ) ) {
66+ if ( activity . isNeedNotifyView ( activeUrl , tab ) ) {
67+ chrome . notifications . clear ( 'watt-site-notification' ) ;
68+ chrome . notifications . create (
69+ 'watt-site-notification' , {
70+ type : 'basic' ,
71+ iconUrl : 'icons/128x128.png' ,
72+ title : "Web Activity Time Tracker" ,
73+ contextMessage : activeUrl + ' ' + convertShortSummaryTimeToString ( tab . getTodayTime ( ) ) ,
74+ message : setting_notification_message
75+ } ) ;
76+ }
6477 tab . incSummaryTime ( ) ;
6578 }
6679 if ( setting_view_in_badge === true ) {
@@ -137,6 +150,13 @@ function checkSettingsImEmpty() {
137150 setDefaultSettings ( ) ;
138151 }
139152 } ) ;
153+
154+ storage . getValue ( STORAGE_NOTIFICATION_MESSAGE , function ( item ) {
155+ var current = item ;
156+ if ( current == undefined ) {
157+ storage . saveValue ( STORAGE_NOTIFICATION_MESSAGE , STORAGE_NOTIFICATION_MESSAGE_DEFAULT ) ;
158+ }
159+ } ) ;
140160}
141161
142162function addListener ( ) {
@@ -168,6 +188,9 @@ function addListener() {
168188 if ( key === STORAGE_RESTRICTION_LIST ) {
169189 loadRestrictionList ( ) ;
170190 }
191+ if ( key === STORAGE_NOTIFICATION_LIST ) {
192+ loadNotificationList ( ) ;
193+ }
171194 if ( key === SETTINGS_INTERVAL_INACTIVITY ) {
172195 storage . getValue ( SETTINGS_INTERVAL_INACTIVITY , function ( item ) { setting_interval_inactivity = item ; } ) ;
173196 }
@@ -202,7 +225,7 @@ function deleteTimeIntervalFromTabs() {
202225 } )
203226}
204227
205- function deleteYesterdayTimeInterval ( ) {
228+ function deleteYesterdayTimeInterval ( ) {
206229 timeIntervalList = timeIntervalList . filter ( x => x . day == new Date ( ) . toLocaleDateString ( "en-US" ) ) ;
207230}
208231
@@ -230,16 +253,30 @@ function loadRestrictionList() {
230253 } )
231254}
232255
256+ function loadNotificationList ( ) {
257+ storage . getValue ( STORAGE_NOTIFICATION_LIST , function ( items ) {
258+ setting_notification_list = items ;
259+ } ) ;
260+ storage . getValue ( STORAGE_NOTIFICATION_MESSAGE , function ( item ) {
261+ setting_notification_message = item ;
262+ } ) ;
263+ }
264+
233265function loadSettings ( ) {
234266 storage . getValue ( SETTINGS_INTERVAL_INACTIVITY , function ( item ) { setting_interval_inactivity = item ; } ) ;
235267 storage . getValue ( SETTINGS_VIEW_TIME_IN_BADGE , function ( item ) { setting_view_in_badge = item ; } ) ;
236268}
237269
270+ function loadAddDataFromStorage ( ) {
271+ loadTabs ( ) ;
272+ loadTimeIntervals ( ) ;
273+ loadBlackList ( ) ;
274+ loadRestrictionList ( ) ;
275+ loadNotificationList ( ) ;
276+ loadSettings ( ) ;
277+ }
278+
238279addListener ( ) ;
239- loadTabs ( ) ;
240- loadTimeIntervals ( ) ;
241- loadBlackList ( ) ;
242- loadRestrictionList ( ) ;
243- loadSettings ( ) ;
280+ loadAddDataFromStorage ( ) ;
244281updateSummaryTime ( ) ;
245282updateStorage ( ) ;
0 commit comments