Refactored core
UI navigation framework Related Work Items: #408, #414, #416
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user