Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added GetUpAndGo/.vs/GetUpAndGo/v14/.suo
Binary file not shown.
14 changes: 14 additions & 0 deletions GetUpAndGo/CommonFunctions/CommonFunctions.projitems
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>8aaf86fb-ad2b-4eda-9d8a-9bf5f94bd97d</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>GetUpAndGo</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)SettingsManager.cs" />
</ItemGroup>
</Project>
12 changes: 12 additions & 0 deletions GetUpAndGo/CommonFunctions/CommonFunctions.shproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>8aaf86fb-ad2b-4eda-9d8a-9bf5f94bd97d</ProjectGuid>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="CommonFunctions.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>
145 changes: 145 additions & 0 deletions GetUpAndGo/CommonFunctions/SettingsManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.Text;
using Windows.ApplicationModel.Store;
using Windows.Storage;

namespace GetUpAndGo
{
internal class SettingsManager
{
public static T GetSetting<T>(string settingName)
{
object result = ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values[settingName];
if (result == null) return default(T);
return (T)result;
}

public static void SetRoamingSetting<T>(string settingName, T value)
{
if (!ApplicationData.Current.RoamingSettings.Containers["MainContainer"].Values.ContainsKey(settingName))
ApplicationData.Current.RoamingSettings.Containers["MainContainer"].Values.Add(settingName, value);
else
ApplicationData.Current.RoamingSettings.Containers["MainContainer"].Values[settingName] = value;
}
public static T GetRoamingSetting<T>(string settingName)
{
object result = ApplicationData.Current.RoamingSettings.Containers["MainContainer"].Values[settingName];
if (result == null) return default(T);
return (T)result;
}

public static void SetSetting<T>(string settingName, T value)
{
if (!ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.ContainsKey(settingName))
ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add(settingName, value);
else
ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values[settingName] = value;
}

public static void IncrementSetting(string settingName)
{
SetSetting<int>(settingName, GetSetting<int>(settingName) + 1);
}

public static void EnsureSettings()
{
//ApplicationData.Current.LocalSettings.DeleteContainer("MainContainer");
//SetSetting<double>("Version", 1.1);
//SetRoamingSetting<string>("TrialExpiration", new DateTime(9999, 12, 31).ToString());
if (!ApplicationData.Current.LocalSettings.Containers.ContainsKey("MainContainer"))
{
ApplicationData.Current.LocalSettings.CreateContainer("MainContainer", ApplicationDataCreateDisposition.Always);
SetSetting<double>("Version", 1.0);
SetSetting<double>("LastBackgroundTaskReset", 1.0);
SetSetting<int>("Frequency", 30);
SetSetting<int>("Threshold", 30);
SetSetting<int>("StartHour", 7);
SetSetting<int>("StartMinute", 0);
SetSetting<int>("EndHour", 21);
SetSetting<int>("EndMinute", 0);
SetSetting<bool>("AvoidAppointments", true);
SetSetting<string>("LastPrompt", DateTime.Now.ToString());
SetSetting<string>("LastActive", DateTime.Now.ToString());
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("Version", 1.0);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("Frequency", 30);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("Threshold", 30);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("StartHour", 7);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("StartMinute", 0);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("EndHour", 21);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("EndMinute", 0);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("AvoidAppointments", true);
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("LastPrompt", DateTime.Now.ToString());
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("LastActive", DateTime.Now.ToString());
//ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values.Add("LastReading", -1);
}
if (GetSetting<double>("Version") < 1.1)
{
SetSetting<double>("Version", 1.1);
SetSetting<int>("ApplicationRuns", 0);
SetSetting<int>("BackgroundTaskRuns", 0);
SetSetting<int>("NumberOfPrompts", 0);
SetSetting<double>("LastVersionRun", 1.0);
}
if (GetSetting<double>("Version") < 1.3)
{
SetSetting<double>("Version", 1.3);
SetSetting<bool>("TrialExpiredMessageSent", false);
SetSetting<bool>("ReviewMessageSent", false);
}
if (GetSetting<double>("Version") < 1.4)
{
SetSetting<double>("Version", 1.4);
int[] activeIntervals = new int[28];
for (int i = 0; i < 28; i++)
{
switch (i % 4)
{
case 0:
activeIntervals[i] = GetSetting<int>("StartHour");
break;
case 1:
activeIntervals[i] = GetSetting<int>("StartMinute");
break;
case 2:
activeIntervals[i] = GetSetting<int>("EndHour");
break;
case 3:
activeIntervals[i] = GetSetting<int>("EndMinute");
break;
}
}
SettingsManager.SetSetting<int[]>("ActiveIntervals", activeIntervals);
SettingsManager.SetSetting<bool>("NagMode", false);
SettingsManager.SetSetting<bool>("PreviouslyPrompted", false);
}
if (!ApplicationData.Current.RoamingSettings.Containers.ContainsKey("MainContainer"))
ApplicationData.Current.RoamingSettings.CreateContainer("MainContainer", ApplicationDataCreateDisposition.Always);
if (GetRoamingSetting<string>("TrialExpiration") == null)
SetRoamingSetting<string>("TrialExpiration", new DateTime(1, 1, 1).ToString());
}

public static bool TrialExpired
{
get
{
DateTime tme = DateTime.Parse(SettingsManager.GetRoamingSetting<string>("TrialExpiration"));
if (tme.Year == 1) return false;
return tme < DateTime.Now;
}
}

public static void RefreshTrial()
{
if (CurrentApp.LicenseInformation.IsTrial)
{
if (DateTime.Parse(SettingsManager.GetRoamingSetting<string>("TrialExpiration")).Year == 1)
SettingsManager.SetRoamingSetting<string>("TrialExpiration", (DateTime.Now + TimeSpan.FromDays(3)).ToString());
}
else
{
SettingsManager.SetRoamingSetting<string>("TrialExpiration", new DateTime(9999, 12, 31).ToString());
}
}
}
}
7 changes: 7 additions & 0 deletions GetUpAndGo/GetUpAndGo.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,18 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommonFunctions", "CommonFunctions\CommonFunctions.shproj", "{8AAF86FB-AD2B-4EDA-9D8A-9BF5F94BD97D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GetUpAndGo", "GetUpAndGo\GetUpAndGo.csproj", "{E1A39755-435F-458A-AB97-67BBB1453286}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GetUpAndGoBackground", "GetUpAndGoBackground\GetUpAndGoBackground.csproj", "{89769A4F-79BF-43FF-B899-91533684527C}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
CommonFunctions\CommonFunctions.projitems*{8aaf86fb-ad2b-4eda-9d8a-9bf5f94bd97d}*SharedItemsImports = 13
CommonFunctions\CommonFunctions.projitems*{e1a39755-435f-458a-ab97-67bbb1453286}*SharedItemsImports = 4
CommonFunctions\CommonFunctions.projitems*{89769a4f-79bf-43ff-b899-91533684527c}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Expand Down
Binary file modified GetUpAndGo/GetUpAndGo.v12.suo
Binary file not shown.
17 changes: 11 additions & 6 deletions GetUpAndGo/GetUpAndGo/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.ApplicationModel.Store;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Storage;
Expand Down Expand Up @@ -44,17 +45,17 @@ public App()
/// search results, and so forth.
/// </summary>
/// <param name="e">Details about the launch request and process.</param>
protected override void OnLaunched(LaunchActivatedEventArgs e)
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.EnableFrameRateCounter = true;
}
#endif
GetUpAndGoBackground.BackgroundAgent.EnsureSettings();
ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values["ApplicationRuns"] =
(int)ApplicationData.Current.LocalSettings.Containers["MainContainer"].Values["ApplicationRuns"] + 1;
SettingsManager.EnsureSettings();
SettingsManager.IncrementSetting("ApplicationRuns");
SettingsManager.RefreshTrial();

Frame rootFrame = Window.Current.Content as Frame;
Type initialPageType = typeof(MainPage);
Expand All @@ -70,13 +71,14 @@ protected override void OnLaunched(LaunchActivatedEventArgs e)
{
// Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame();
Common.SuspensionManager.RegisterFrame(rootFrame, "appFrame");

// TODO: change this value to a cache size that is appropriate for your application
rootFrame.CacheSize = 1;

if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// TODO: Load state from previously suspended application
await Common.SuspensionManager.RestoreAsync();
}

// Place the frame in the current Window
Expand Down Expand Up @@ -130,11 +132,14 @@ private void RootFrame_FirstNavigated(object sender, NavigationEventArgs e)
/// </summary>
/// <param name="sender">The source of the suspend request.</param>
/// <param name="e">Details about the suspend request.</param>
private void OnSuspending(object sender, SuspendingEventArgs e)
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();

// TODO: Save application state and stop any background activity

await Common.SuspensionManager.SaveAsync();

deferral.Complete();
}
}
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading