private double sizeAudio;
private double sizeMisc;
private IDictionary<string, Action> sectionViews;
+ private Task initialSizeCalculation;
+ private PackageSizeInformation sizeInfo;
protected override View OnCreate()
{
},
};
- var calculating = StartCalculatingAppCacheSize();
+ initialSizeCalculation = StartCalculatingAppCacheSize();
content.Relayout += (s, e) =>
{
- if (calculating.IsCompleted)
+ if (initialSizeCalculation.IsCompleted)
{
storageIndicator.Update();
}
var imageItem = new TextWithIconListItem(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_IMAGES)), new Color("#FF8A00"), subText: GetMediaSizeString(sizeImage));
imageItem.Clicked += (s, e) =>
{
- // TODO : add media files info gadget
+ // TODO : add media files info gadget
};
usageSummary.Add(imageItem);
var videoItem = new TextWithIconListItem(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_VIDEOS)), new Color("#FF6200"), subText: GetMediaSizeString(sizeVideo));
videoItem.Clicked += (s, e) =>
{
- // TODO : add media files info gadget
+ // TODO : add media files info gadget
};
usageSummary.Add(videoItem);
var audioItem = new TextWithIconListItem(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_AUDIO)), new Color("#A40404"), subText: GetMediaSizeString(sizeAudio));
audioItem.Clicked += (s, e) =>
{
- // TODO : add media files info gadget
+ // TODO : add media files info gadget
};
usageSummary.Add(audioItem);
var miscItem = new TextWithIconListItem(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_MISCELLANEOUS_FILES)), new Color("#28262B"), subText: GetMediaSizeString(sizeMisc));
miscItem.Clicked += (s, e) =>
{
- // TODO : add miscellaneous info gadget
+ // TODO : add miscellaneous info gadget
};
usageSummary.Add(miscItem);
usageSummary.Add(systemItem);
content.Add(usageSummary);
+
+ if (initialSizeCalculation.IsCompleted)
+ {
+ UpdateSizeInfo();
+ }
}
private void ExternalUsageView()
private async Task StartCalculatingAppCacheSize()
{
- var sizeInfo = await PackageManager.GetTotalSizeInformationAsync();
+ sizeInfo = await PackageManager.GetTotalSizeInformationAsync();
+ UpdateSizeInfo();
+ }
+ private void UpdateSizeInfo()
+ {
long sizeApp = sizeInfo.AppSize;
long sizeCache = sizeInfo.CacheSize;
+ bool indicatorValueChanged = false;
if (appsItem != null)
{
if (apps != null)
{
apps.SizeInfo = sizeApp;
+ indicatorValueChanged = true;
}
}
if (cacheItem != null)
if (cache != null)
{
cache.SizeInfo = sizeCache;
+ indicatorValueChanged = true;
}
}
if (systemItem != null)
if (system != null)
{
system.SizeInfo = (float)(nonSystemSpace - sizeApp - sizeCache);
+ indicatorValueChanged = true;
}
}
- storageIndicator.Update();
+ if (indicatorValueChanged)
+ {
+ storageIndicator.Update();
+ }
}
private void GetMediaInfo(out double sizeImage, out double sizeVideo, out double sizeAudio)
Layout = new FlexLayout()
{
Justification = FlexLayout.FlexJustification.Center,
- Direction = FlexLayout.FlexDirection.Column,
+ Direction = FlexLayout.FlexDirection.Column,
Alignment = FlexLayout.AlignmentType.Center,
},
};
Size = new Size(252, 48).SpToPx(),
Margin = new Extents(61, 32, 0, 32).SpToPx(),
};
- clearButton.Clicked += (s, e) =>
+ clearButton.Clicked += (s, e) =>
{
PackageManager.ClearAllCacheDirectory();
// TODO : update cache info
Margin = new Extents(32, 61, 0, 32).SpToPx(),
};
- cancelButton.Clicked += (s, e) =>
- {
- NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
+ cancelButton.Clicked += (s, e) =>
+ {
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
};
buttons.Add(cancelButton);