48 lines
1.7 KiB
JavaScript
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();
|
|
}
|
|
}); |