feature: save location
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Billing.Languages;
|
||||
@@ -14,15 +13,19 @@ namespace Billing
|
||||
{
|
||||
public class App : Application
|
||||
{
|
||||
private const string SaveLocationKey = nameof(SaveLocationKey);
|
||||
|
||||
public static AppTheme CurrentTheme { get; private set; }
|
||||
public static PlatformCulture CurrentCulture { get; private set; }
|
||||
public static List<Bill> Bills => bills ??= new List<Bill>();
|
||||
public static List<Account> Accounts => accounts ??= new List<Account>();
|
||||
public static List<Category> Categories => categories ??= new List<Category>();
|
||||
public static bool SaveLocation => saveLocation;
|
||||
|
||||
private static List<Bill> bills;
|
||||
private static List<Account> accounts;
|
||||
private static List<Category> categories;
|
||||
private static bool saveLocation;
|
||||
|
||||
private string initialUrl;
|
||||
|
||||
@@ -48,15 +51,6 @@ namespace Billing
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task InitializeData()
|
||||
{
|
||||
var instance = await StoreHelper.Instance;
|
||||
await Task.WhenAll(
|
||||
Task.Run(async () => accounts = await instance.GetListAsync<Account>()),
|
||||
Task.Run(async () => categories = await instance.GetListAsync<Category>()),
|
||||
Task.Run(async () => bills = await instance.GetListAsync<Bill>()));
|
||||
}
|
||||
|
||||
protected override void OnResume()
|
||||
{
|
||||
SetTheme(AppInfo.RequestedTheme);
|
||||
@@ -93,6 +87,21 @@ namespace Billing
|
||||
Resources = instance;
|
||||
}
|
||||
|
||||
public static void SetSaveLocation(bool flag)
|
||||
{
|
||||
saveLocation = flag;
|
||||
Preferences.Set(SaveLocationKey, flag);
|
||||
}
|
||||
|
||||
public static async Task InitializeData()
|
||||
{
|
||||
var instance = await StoreHelper.Instance;
|
||||
await Task.WhenAll(
|
||||
Task.Run(async () => accounts = await instance.GetListAsync<Account>()),
|
||||
Task.Run(async () => categories = await instance.GetListAsync<Category>()),
|
||||
Task.Run(async () => bills = await instance.GetListAsync<Bill>()));
|
||||
}
|
||||
|
||||
public static async Task<bool> OpenUrl(string url)
|
||||
{
|
||||
if (string.IsNullOrEmpty(url))
|
||||
@@ -101,12 +110,7 @@ namespace Billing
|
||||
}
|
||||
if (File.Exists(url))
|
||||
{
|
||||
var status = await Permissions.CheckStatusAsync<Permissions.StorageRead>();
|
||||
if (status != PermissionStatus.Disabled &&
|
||||
status != PermissionStatus.Granted)
|
||||
{
|
||||
status = await Permissions.RequestAsync<Permissions.StorageRead>();
|
||||
}
|
||||
var status = await Helper.CheckAndRequestPermissionAsync<Permissions.StorageRead>();
|
||||
if (status != PermissionStatus.Granted)
|
||||
{
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user