Fix notifications on android

This commit is contained in:
RobinLinus 2018-09-21 18:54:52 +02:00
parent 36ec13d428
commit e9eeea48e5
2 changed files with 20 additions and 6 deletions

View file

@ -3,9 +3,11 @@ class ServerConnection {
constructor() {
this._connect();
Events.on('beforeunload', e => this._disconnect(), false);
Events.on('pageshow', e => this._connect(), false);
}
_connect() {
if (this._isConnected()) return
const ws = new WebSocket(this._endpoint());
ws.binaryType = 'arraybuffer';
ws.onopen = e => console.log('WS: server connection opened');
@ -16,6 +18,10 @@ class ServerConnection {
clearTimeout(this._reconnectTimer);
}
_isConnected(){
return this._socket && this._socket.readyState === this._socket.OPEN;
}
_onMessage(msg) {
msg = JSON.parse(msg);
console.log('WS:', msg);

View file

@ -358,12 +358,16 @@ class Notifications {
}
_notify(message, body) {
var img = '/images/logo_transparent_128x128.png';
return new Notification(message, {
const config = {
body: body,
icon: img,
icon: '/images/logo_transparent_128x128.png',
vibrate: [200, 100, 200, 100, 200, 100, 400],
});
}
if (serviceWorker && serviceWorker.showNotification) {
return serviceWorker.showNotification(message, config);
} else {
return new Notification(message, config);
}
}
_messageNotification(message) {
@ -434,10 +438,14 @@ document.copy = text => {
return success;
}
if ('serviceWorker' in navigator && isProductionEnvironment) {
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/service-worker.js')
.then(e => console.log("Service Worker Registered"));
.then(serviceWorker => {
console.log('Service Worker registered');
window.serviceWorker = serviceWorker
});
}
// Background Animation