extensionSystem: Add hasUpdate state
The current support for extension updates is half-baked at best. We are about to change that, and implement offline updates similar to gnome-software. As a first step, add a hasUpdate property to the extension state which will communicate available updates. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
This commit is contained in:
parent
2dae3f5656
commit
375d1892bf
@ -31,7 +31,15 @@ var ExtensionState = {
|
|||||||
UNINSTALLED: 99,
|
UNINSTALLED: 99,
|
||||||
};
|
};
|
||||||
|
|
||||||
const SERIALIZED_PROPERTIES = ['type', 'state', 'path', 'error', 'hasPrefs', 'canChange'];
|
const SERIALIZED_PROPERTIES = [
|
||||||
|
'type',
|
||||||
|
'state',
|
||||||
|
'path',
|
||||||
|
'error',
|
||||||
|
'hasPrefs',
|
||||||
|
'hasUpdate',
|
||||||
|
'canChange',
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getCurrentExtension:
|
* getCurrentExtension:
|
||||||
|
@ -198,6 +198,15 @@ var ExtensionManager = class {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notifyExtensionUpdate(uuid) {
|
||||||
|
let extension = this.lookup(uuid);
|
||||||
|
if (!extension)
|
||||||
|
return;
|
||||||
|
|
||||||
|
extension.hasUpdate = true;
|
||||||
|
this.emit('extension-state-changed', extension);
|
||||||
|
}
|
||||||
|
|
||||||
logExtensionError(uuid, error) {
|
logExtensionError(uuid, error) {
|
||||||
let extension = this.lookup(uuid);
|
let extension = this.lookup(uuid);
|
||||||
if (!extension)
|
if (!extension)
|
||||||
@ -253,6 +262,7 @@ var ExtensionManager = class {
|
|||||||
path: dir.get_path(),
|
path: dir.get_path(),
|
||||||
error: '',
|
error: '',
|
||||||
hasPrefs: dir.get_child('prefs.js').query_exists(null),
|
hasPrefs: dir.get_child('prefs.js').query_exists(null),
|
||||||
|
hasUpdate: false,
|
||||||
canChange: false,
|
canChange: false,
|
||||||
};
|
};
|
||||||
this._extensions.set(uuid, extension);
|
this._extensions.set(uuid, extension);
|
||||||
|
Loading…
Reference in New Issue
Block a user