Persistenten storage hinzugefügt

This commit is contained in:
silas
2018-10-31 00:24:12 +01:00
parent 0954be7cd8
commit 46d39b7feb
13 changed files with 5442 additions and 7416 deletions

View File

@@ -86,10 +86,11 @@ InitPromise.resolve(app).then(async function () {
app.start(MenuSite);
Translator.setLanguage("de");
InstallManager.setCanInstallListener(e => {
});
InstallManager.setCanInstallListener(e => {});
if (InstallManager.isInstalled()){
MyStorageManager.getInstance().persist();
}
MyStorageManager.getInstance().persist();
window["applyAndroidBridge"] = AndroidBridge.applyDefinitions;
});

View File

@@ -17,39 +17,45 @@ class MyStorageManager {
}
async estimate() {
if ('storage' in navigator && 'estimate' in navigator.storage) {
if ('storage' in navigator && 'estimate' in navigator["storage"]) {
// We've got the real thing! Return its response.
return navigator.storage.estimate();
return navigator["storage"]["estimate"]();
}
if ('webkitTemporaryStorage' in navigator &&
'queryUsageAndQuota' in navigator.webkitTemporaryStorage) {
'queryUsageAndQuota' in navigator["webkitTemporaryStorage"]) {
// Return a promise-based wrapper that will follow the expected interface.
return new Promise(function (resolve, reject) {
navigator.webkitTemporaryStorage.queryUsageAndQuota(
navigator["webkitTemporaryStorage"]["queryUsageAndQuota"](
function (usage, quota) {
resolve({usage: usage, quota: quota});
resolve({"usage": usage, "quota": quota});
},
reject
);
});
}
// If we can't estimate the values, return a Promise that resolves with NaN.
return Promise.resolve({usage: NaN, quota: NaN});
return Promise.resolve({"usage": NaN, "quota": NaN});
}
async isPersistent(){
if (this.canPersist()){
return navigator["storage"]["persisted"]();
}
return Promise.resolve(false);
}
canEstimateStorage() {
return ('storage' in navigator && 'estimate' in navigator.storage || 'webkitTemporaryStorage' in navigator &&
'queryUsageAndQuota' in navigator.webkitTemporaryStorage);
return ('storage' in navigator && 'estimate' in navigator["storage"]|| 'webkitTemporaryStorage' in navigator &&
'queryUsageAndQuota' in navigator["webkitTemporaryStorage"]);
}
canPersist() {
return (navigator.storage && navigator.storage.persist);
return (navigator["storage"] && navigator["storage"]["persist"]);
}
persist(){
if (this.canPersist()){
return navigator.storage.persist();
return navigator["storage"]["persist"]();
}
return Promise.resolve(false);
}
@@ -86,6 +92,10 @@ class InstallManager {
});
}
static isInstalled(){
return matchMedia("(display-mode: standalone)").matches;
}
static setCanInstallListener(listener, callIfCanInstall) {
this.canInstallListener = listener;
callIfCanInstall = Helper.nonNull(callIfCanInstall, true);