2013-09-06 16:56:29 -04:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using Android.App;
|
|
|
|
using Android.Content;
|
|
|
|
using Android.OS;
|
2014-04-01 01:26:10 -04:00
|
|
|
using Android.Preferences;
|
2013-09-06 16:56:29 -04:00
|
|
|
using Android.Runtime;
|
|
|
|
using Android.Views;
|
|
|
|
using Android.Widget;
|
|
|
|
using KeePassLib.Utility;
|
|
|
|
|
|
|
|
namespace keepass2android
|
|
|
|
{
|
2015-08-10 02:07:42 -04:00
|
|
|
[Activity(Label = AppNames.AppName, Theme = "@style/MyTheme_ActionBar")]
|
2013-09-06 16:56:29 -04:00
|
|
|
public class DonateReminder : Activity
|
|
|
|
{
|
2014-04-01 01:26:10 -04:00
|
|
|
class Reminder
|
|
|
|
{
|
|
|
|
public DateTime From, To;
|
|
|
|
public int ResourceToShow;
|
|
|
|
public string Key;
|
|
|
|
}
|
|
|
|
|
2013-09-06 16:56:29 -04:00
|
|
|
protected override void OnCreate(Bundle bundle)
|
|
|
|
{
|
|
|
|
base.OnCreate(bundle);
|
|
|
|
|
2014-04-01 01:26:10 -04:00
|
|
|
foreach (Reminder r in GetReminders())
|
|
|
|
{
|
|
|
|
if ((DateTime.Now > r.From)
|
|
|
|
&& (DateTime.Now < r.To))
|
|
|
|
{
|
|
|
|
SetContentView(r.ResourceToShow);
|
|
|
|
}
|
|
|
|
}
|
2013-09-06 16:56:29 -04:00
|
|
|
|
2013-10-02 21:49:04 -04:00
|
|
|
FindViewById(Resource.Id.ok_donate).Click += (sender, args) => { Util.GotoDonateUrl(this);Finish(); };
|
2013-09-06 16:56:29 -04:00
|
|
|
FindViewById(Resource.Id.no_donate).Click += (sender, args) => { Finish(); };
|
|
|
|
}
|
2014-04-01 01:26:10 -04:00
|
|
|
static IEnumerable<Reminder> GetReminders()
|
|
|
|
{
|
|
|
|
yield return new Reminder
|
2015-08-25 15:17:07 -04:00
|
|
|
{
|
|
|
|
From = new DateTime(2015, 09, 19),
|
|
|
|
To = new DateTime(2015, 10, 05),
|
|
|
|
Key = "DonationOktoberfest2015"
|
|
|
|
,ResourceToShow = Resource.Layout.donate
|
|
|
|
};
|
|
|
|
|
|
|
|
yield return new Reminder
|
|
|
|
{
|
|
|
|
From = new DateTime(2016, 09, 17),
|
|
|
|
To = new DateTime(2016, 10, 04),
|
|
|
|
Key = "DonationOktoberfest2016"
|
|
|
|
,ResourceToShow = Resource.Layout.donate
|
|
|
|
};
|
|
|
|
yield return new Reminder
|
|
|
|
{
|
|
|
|
From = new DateTime(2015, 09, 16),
|
|
|
|
To = new DateTime(2015, 10, 04),
|
|
|
|
Key = "DonationOktoberfest2017"
|
|
|
|
,ResourceToShow = Resource.Layout.donate
|
|
|
|
};
|
|
|
|
yield return new Reminder
|
|
|
|
{
|
|
|
|
From = new DateTime(2015, 09, 22),
|
|
|
|
To = new DateTime(2015, 10, 08),
|
|
|
|
Key = "DonationOktoberfest2018"
|
2014-04-01 01:26:10 -04:00
|
|
|
,ResourceToShow = Resource.Layout.donate
|
2015-08-25 15:17:07 -04:00
|
|
|
};
|
2014-04-01 01:26:10 -04:00
|
|
|
|
|
|
|
int thisYear = DateTime.Now.Year;
|
|
|
|
|
|
|
|
yield return new Reminder
|
|
|
|
{
|
|
|
|
From = new DateTime(thisYear, 05, 10),
|
|
|
|
To = new DateTime(thisYear, 05, 11),
|
|
|
|
Key = "DonationBirthday" + thisYear,
|
|
|
|
ResourceToShow = Resource.Layout.donate_bday
|
|
|
|
};
|
|
|
|
yield return new Reminder
|
|
|
|
{
|
|
|
|
From = new DateTime(thisYear, 05, 11),
|
|
|
|
To = new DateTime(thisYear, 05, 16),
|
|
|
|
Key = "DonationBirthday" + thisYear,
|
|
|
|
ResourceToShow = Resource.Layout.donate_bdaymissed
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void ShowDonateReminderIfAppropriate(Activity context)
|
|
|
|
{
|
|
|
|
foreach (Reminder r in GetReminders())
|
|
|
|
{
|
|
|
|
if ((DateTime.Now >= r.From )
|
|
|
|
&& (DateTime.Now < r.To))
|
|
|
|
{
|
|
|
|
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(context);
|
|
|
|
if (prefs.GetBoolean(r.Key, false) == false)
|
|
|
|
{
|
|
|
|
ISharedPreferencesEditor edit = prefs.Edit();
|
|
|
|
edit.PutBoolean(r.Key, true);
|
|
|
|
EditorCompat.Apply(edit);
|
|
|
|
|
|
|
|
context.StartActivity(new Intent(context, typeof(DonateReminder)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2013-09-06 16:56:29 -04:00
|
|
|
}
|
|
|
|
}
|