diff --git a/js/notifications.js b/js/notifications.js index ff0ed53..3242ce0 100644 --- a/js/notifications.js +++ b/js/notifications.js @@ -41,7 +41,7 @@ weechat.factory('notifications', ['$rootScope', '$log', 'models', 'settings', fu registration.showNotification(title, { body: body, icon: 'assets/img/glowing_bear_128x128.png', - vibrate: [200, 100, 200, 100, 200, 100, 200], + vibrate: [200, 100], tag: 'gb-highlight-vib' }); }); diff --git a/serviceworker.js b/serviceworker.js index 99f97c5..7a549b6 100644 --- a/serviceworker.js +++ b/serviceworker.js @@ -20,3 +20,27 @@ this.addEventListener('push', function(event) { tag: 'my-tag' })); }); + +this.onnotificationclick = function(event) { + // Android doesn't close the notification when you click on it + // See: http://crbug.com/463146 + event.notification.close(); + + // This looks to see if the current is already open and + // focuses if it is + event.waitUntil(clients.matchAll({ + type: "window" + }).then(function(clientList) { + for (var i = 0; i < clientList.length; i++) { + var client = clientList[i]; + if ('focus' in client) { + return client.focus(); + } + } + /* + if (clients.openWindow) { + return clients.openWindow('/glowing-bear/'); + } + */ + })); +};