private async void ToastMakerToggledButton()
{
if (IsAppFirstTimeOn1)
{
if (_notificationStatus == "On")
{
IsAppFirstTimeOn1 = false;
return;
}
}
IsAppFirstTimeOn1 = false;
var localData = ApplicationData.Current.LocalSettings;
var roamData = ApplicationData.Current.RoamingSettings;
if (localData.Values.ContainsKey("ToastNotification"))
_notificationStatus = localData.Values["ToastNotification"] as string;
const string taskName = "ActionCenterToastMaker";
var backgroundAccessStatus = await BackgroundExecutionManager.RequestAccessAsync();
if (backgroundAccessStatus != BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity &&
backgroundAccessStatus != BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity) return;
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
ToastToggleSwitchIsOn = task.Value.Name == taskName;
if (ToastToggleSwitchIsOn)
break;
}
if (!ToastToggleSwitchIsOn)
{
if (_notificationStatus == "Off")
{
if (!localData.Values.ContainsKey("ToastNotification"))
{
localData.Values.Add("ToastNotification", "On");
}
else
{
localData.Values.Remove("ToastNotification");
localData.Values.Add("ToastNotification", "On");
}
ToastToggleSwitchIsOn = true;
BackgroundProcessRegisterer();
}
else
{
if (!localData.Values.ContainsKey("ToastNotification"))
{
localData.Values.Add("ToastNotification", "Off");
}
else
{
localData.Values.Remove("ToastNotification");
localData.Values.Add("ToastNotification", "Off");
}
ToastToggleSwitchIsOn = false;
}
}
else
{
if (_notificationStatus == "On")
{
if (!localData.Values.ContainsKey("ToastNotification"))
{
localData.Values.Add("ToastNotification", "Off");
}
else
{
localData.Values.Remove("ToastNotification");
localData.Values.Add("ToastNotification", "Off");
}
ToastToggleSwitchIsOn = false;
BackgroundProcessRemover();
}
else
{
if (!localData.Values.ContainsKey("ToastNotification"))
{
localData.Values.Add("ToastNotification", "On");
}
else
{
localData.Values.Remove("ToastNotification");
localData.Values.Add("ToastNotification", "On");
}
ToastToggleSwitchIsOn = true;
}
}
RaisePropertyChanged(() => ToastToggleSwitchIsOn);
MessengerInstance.Send(new NotificationMessage("ProgressBarDisable"));
}