MOBILE-2567 settings: Don't display free space
parent
7e809080c8
commit
13307322fa
|
@ -20,9 +20,5 @@
|
||||||
<p>{{ 'core.settings.total' | translate }}</p>
|
<p>{{ 'core.settings.total' | translate }}</p>
|
||||||
<p item-end>{{ totalUsage | coreBytesToSize }}</p>
|
<p item-end>{{ totalUsage | coreBytesToSize }}</p>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<ion-item-divider color="light" *ngIf="showFreeSpace">
|
|
||||||
<p>{{ 'core.settings.estimatedfreespace' | translate }}</p>
|
|
||||||
<p item-end>{{ freeSpace | coreBytesToSize }}</p>
|
|
||||||
</ion-item-divider>
|
|
||||||
</core-loading>
|
</core-loading>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|
|
@ -16,7 +16,6 @@ import { Component, } from '@angular/core';
|
||||||
import { IonicPage } from 'ionic-angular';
|
import { IonicPage } from 'ionic-angular';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { CoreAppProvider } from '@providers/app';
|
import { CoreAppProvider } from '@providers/app';
|
||||||
import { CoreFileProvider } from '@providers/file';
|
|
||||||
import { CoreFilepoolProvider } from '@providers/filepool';
|
import { CoreFilepoolProvider } from '@providers/filepool';
|
||||||
import { CoreSitesProvider } from '@providers/sites';
|
import { CoreSitesProvider } from '@providers/sites';
|
||||||
import { CoreTextUtilsProvider } from '@providers/utils/text';
|
import { CoreTextUtilsProvider } from '@providers/utils/text';
|
||||||
|
@ -36,14 +35,11 @@ export class CoreSettingsSpaceUsagePage {
|
||||||
sites = [];
|
sites = [];
|
||||||
currentSiteId = '';
|
currentSiteId = '';
|
||||||
totalUsage = 0;
|
totalUsage = 0;
|
||||||
freeSpace = 0;
|
|
||||||
showFreeSpace = true;
|
|
||||||
|
|
||||||
constructor(private fileProvider: CoreFileProvider, private filePoolProvider: CoreFilepoolProvider,
|
constructor(private filePoolProvider: CoreFilepoolProvider,
|
||||||
private sitesProvider: CoreSitesProvider, private textUtils: CoreTextUtilsProvider,
|
private sitesProvider: CoreSitesProvider, private textUtils: CoreTextUtilsProvider,
|
||||||
private translate: TranslateService, private domUtils: CoreDomUtilsProvider, appProvider: CoreAppProvider) {
|
private translate: TranslateService, private domUtils: CoreDomUtilsProvider, appProvider: CoreAppProvider) {
|
||||||
this.currentSiteId = this.sitesProvider.getCurrentSiteId();
|
this.currentSiteId = this.sitesProvider.getCurrentSiteId();
|
||||||
this.showFreeSpace = !appProvider.isDesktop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -91,26 +87,7 @@ export class CoreSettingsSpaceUsagePage {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience function to calculate free space in the device.
|
* Convenience function to calculate space usage.
|
||||||
*
|
|
||||||
* @return {Promise<any>} Resolved when done.
|
|
||||||
*/
|
|
||||||
protected calculateFreeSpace(): Promise<any> {
|
|
||||||
if (this.fileProvider.isAvailable()) {
|
|
||||||
return this.fileProvider.calculateFreeSpace().then((freeSpace) => {
|
|
||||||
this.freeSpace = freeSpace;
|
|
||||||
}).catch(() => {
|
|
||||||
this.freeSpace = 0;
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.freeSpace = 0;
|
|
||||||
|
|
||||||
return Promise.resolve(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convenience function to calculate space usage and free space in the device.
|
|
||||||
*
|
*
|
||||||
* @return {Promise<any>} Resolved when done.
|
* @return {Promise<any>} Resolved when done.
|
||||||
*/
|
*/
|
||||||
|
@ -119,10 +96,6 @@ export class CoreSettingsSpaceUsagePage {
|
||||||
this.calculateSizeUsage().then(() => this.calculateTotalUsage()),
|
this.calculateSizeUsage().then(() => this.calculateTotalUsage()),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (this.showFreeSpace) {
|
|
||||||
promises.push(this.calculateFreeSpace());
|
|
||||||
}
|
|
||||||
|
|
||||||
return Promise.all(promises);
|
return Promise.all(promises);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,7 +111,7 @@ export class CoreSettingsSpaceUsagePage {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience function to update site size, along with total usage and free space.
|
* Convenience function to update site size, along with total usage.
|
||||||
*
|
*
|
||||||
* @param {any} site Site object with space usage.
|
* @param {any} site Site object with space usage.
|
||||||
* @param {number} newUsage New space usage of the site in bytes.
|
* @param {number} newUsage New space usage of the site in bytes.
|
||||||
|
@ -147,7 +120,6 @@ export class CoreSettingsSpaceUsagePage {
|
||||||
const oldUsage = site.spaceUsage;
|
const oldUsage = site.spaceUsage;
|
||||||
site.spaceUsage = newUsage;
|
site.spaceUsage = newUsage;
|
||||||
this.totalUsage -= oldUsage - newUsage;
|
this.totalUsage -= oldUsage - newUsage;
|
||||||
this.freeSpace += oldUsage - newUsage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -360,12 +360,19 @@ export class CoreFileProvider {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate the free space in the disk.
|
* Calculate the free space in the disk.
|
||||||
|
* Please notice that this function isn't reliable and it's not documented in the Cordova File plugin.
|
||||||
*
|
*
|
||||||
* @return {Promise<number>} Promise resolved with the estimated free space in bytes.
|
* @return {Promise<number>} Promise resolved with the estimated free space in bytes.
|
||||||
*/
|
*/
|
||||||
calculateFreeSpace(): Promise<number> {
|
calculateFreeSpace(): Promise<number> {
|
||||||
return this.file.getFreeDiskSpace().then((size) => {
|
return this.file.getFreeDiskSpace().then((size) => {
|
||||||
return size; // GetFreeDiskSpace returns KB.
|
if (this.platform.is('ios')) {
|
||||||
|
// In iOS the size is in bytes.
|
||||||
|
return Number(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The size is in KB, convert it to bytes.
|
||||||
|
return Number(size) * 1024;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue