Archived
1
0

Refactored core

UI navigation framework

Related Work Items: #408, #414, #416
This commit is contained in:
Michael Gordeev
2020-06-15 15:46:38 +03:00
parent c58d846057
commit 787a6e9f48
72 changed files with 2002 additions and 1227 deletions
+64
View File
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.ApplicationModel.Activation;
using Windows.ApplicationModel.Background;
using Windows.System.Power;
using Windows.UI.Notifications;
namespace FoxTube.Utils
{
// TODO: Complete class
public static class BackgroundManager
{
public static async Task PerformBackgroundTask(BackgroundActivatedEventArgs args)
{
if (args.TaskInstance.TriggerDetails is ToastNotificationActionTriggerDetail details)
{
ProcessBackgroundAction(details.Argument);
// TODO: Process toast parameters
}
else
{
// TODO: Restore user
// TODO: Update subscriptions
// TODO: Update homepage cache
}
//var saverRequest = PowerManager.EnergySaverStatus;
}
public static async Task ProcessBackgroundAction(string uri)
{
}
public static async void RegisterBackgroundTasks()
{
var backgroundRequest = await BackgroundExecutionManager.RequestAccessAsync();
if (backgroundRequest == BackgroundAccessStatus.DeniedBySystemPolicy || backgroundRequest == BackgroundAccessStatus.DeniedByUser)
return;
RegisterBackgoundTask("FoxtubeToastBackground", new ToastNotificationActionTrigger());
RegisterBackgoundTask("FoxtubeBackground", new TimeTrigger(15, false));
}
private static void RegisterBackgoundTask(string taskName, IBackgroundTrigger trigger)
{
if (BackgroundTaskRegistration.AllTasks.Any(i => i.Value.Name.Equals(taskName)))
return;
BackgroundTaskBuilder builder = new BackgroundTaskBuilder
{
Name = taskName,
IsNetworkRequested = true
};
builder.SetTrigger(trigger);
BackgroundTaskRegistration registration = builder.Register();
}
}
}