|
|
@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
using System.Collections;
|
|
|
|
|
|
|
|
using Foundation;
|
|
|
|
|
|
|
|
using TheGameExtreme.Interface;
|
|
|
|
|
|
|
|
using TheGameExtreme.iOS.Services;
|
|
|
|
|
|
|
|
using UIKit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[assembly: Xamarin.Forms.Dependency(typeof(MessageIOS))]
|
|
|
|
|
|
|
|
namespace TheGameExtreme.iOS.Services
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public class MessageIOS : IMessage
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
const double LONG_DELAY = 3.5;
|
|
|
|
|
|
|
|
const double SHORT_DELAY = 2.0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void LongAlert(string message)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ShowAlert(message, LONG_DELAY);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void ShortAlert(string message)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ShowAlert(message, SHORT_DELAY);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ShowAlert(string message, double seconds)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var alert = UIAlertController.Create(null, message, UIAlertControllerStyle.Alert);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var alertDelay = NSTimer.CreateScheduledTimer(seconds, obj =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
DismissMessage(alert, obj);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DismissMessage(UIAlertController alert, NSTimer alertDelay)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (alert != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
alert.DismissViewController(true, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (alertDelay != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
alertDelay.Dispose();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|