49 lines
1.7 KiB
JavaScript
49 lines
1.7 KiB
JavaScript
function start_app() {
|
|
chrome.app.window.create('main.html', {
|
|
id: 'main-window',
|
|
frame: 'none',
|
|
resizable: false
|
|
}, 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
|
|
|
|
// save connectionId in separate variable before app_window is destroyed
|
|
var connectionId = app_window.serial.connectionId;
|
|
|
|
if (connectionId > 0) {
|
|
chrome.serial.disconnect(connectionId, function(result) {
|
|
console.log('SERIAL: Connection closed - ' + result);
|
|
});
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
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();
|
|
}
|
|
}); |