betaflight-configurator/background.js

48 lines
1.7 KiB
JavaScript

function start_app() {
chrome.app.window.create('main.html', {
frame: 'chrome',
id: 'main-window',
minWidth: 960,
maxWidth: 960,
minHeight: 600,
maxHeight: 600
}, function(window_child) {
window_child.onClosed.addListener(function() {
// connectionId is passed from the script side through the chrome.runtime.getBackgroundPage refference
// allowing us to automatically close the port when application shut down
if (connectionId != -1) {
chrome.serial.close(connectionId, function() {
console.log('CLEANUP: Connection to serial port was opened after application closed, closing the connection.');
});
}
});
});
}
chrome.app.runtime.onLaunched.addListener(function() {
start_app();
});
chrome.runtime.onInstalled.addListener(function(details) {
if (details.reason == 'update') {
var manifest = chrome.runtime.getManifest();
var options = {
priority: 0,
type: 'basic',
title: 'Baseflight Configurator Update',
message: 'Application just updated to version: ' + manifest.version,
iconUrl: '/images/icon_128.png',
buttons: [{'title': 'Click this button to start the application'}]
};
chrome.notifications.create('baseflight_update', options, function(notificationId) {
// empty
});
}
});
chrome.notifications.onButtonClicked.addListener(function(notificationId, buttonIndex) {
if (notificationId == 'baseflight_update') {
start_app();
}
});