using System;
|
|
using CoreGraphics;
|
using Foundation;
|
//using HDLSceneSiri;
|
using Intents;
|
using IntentsUI;
|
using UIKit;
|
|
namespace SiriIntentsUI
|
{
|
public partial class IntentViewController : UIViewController, IINUIHostedViewControlling
|
{
|
protected IntentViewController(IntPtr handle) : base(handle)
|
{
|
}
|
|
//public override void ViewDidLoad()
|
//{
|
// base.ViewDidLoad();
|
|
// // Do any required interface here.
|
//}
|
|
//public override void DidReceiveMemoryWarning()
|
//{
|
// // Releases the view if it doesn't have a superview.
|
// base.DidReceiveMemoryWarning();
|
|
// // Release any cached data, images, etc that aren't in use.
|
//}
|
[Export("configureWithInteraction:context:completion:")]
|
public void Configure(INInteraction interaction, INUIHostedViewContext context, Action<CGSize> completion)
|
{
|
throw new NotImplementedException();
|
}
|
|
CGSize DesiredSize()
|
{
|
return ExtensionContext.GetHostedViewMaximumAllowedSize();
|
}
|
|
|
|
|
[Export("configureViewForParameters:ofInteraction:interactiveBehavior:context:completion:")]
|
public void ConfigureView(
|
NSSet<INParameter> parameters,
|
INInteraction interaction,
|
INUIInteractiveBehavior interactiveBehavior,
|
INUIHostedViewContext context,
|
INUIHostedViewControllingConfigureViewHandler completion)
|
{
|
|
|
|
|
//if (@available(iOS 12.0, *))
|
{
|
//HDLRunSceneIntentResponse rsp = interaction.IntentResponse as HDLRunSceneIntentResponse;
|
//if (rsp.Code == HDLRunSceneIntentResponseCode.Success)
|
//{
|
// this.messageLabel.Text = rsp.SuccessMessage;
|
//}
|
//else if (rsp.Code == HDLRunSceneIntentResponseCode.Failure || rsp.Code == HDLRunSceneIntentResponseCode.Error)
|
//{
|
// this.messageLabel.Text = rsp.ErrorMessage;
|
//}
|
//else
|
{
|
//messageLabel.Text = "执行成功";// rsp.SuccessMessage;
|
}
|
}
|
CGSize size = new CGSize(DesiredSize().Width, 80);
|
|
|
//if (completion != null)
|
completion(true, parameters, size);
|
|
|
//var intent = interaction.Intent as OrderSoupIntent;
|
//if (intent is null)
|
//{
|
// completion(false, new NSSet<INParameter>(), CGSize.Empty);
|
//}
|
|
//var order = Order.FromOrderSoupIntent(intent);
|
|
//foreach (var view in View.Subviews)
|
//{
|
// view.RemoveFromSuperview();
|
//}
|
|
//// Different UIs can be displayed depending if the intent is in the
|
//// confirmation phase or the handle phase.
|
//var desiredSize = CGSize.Empty;
|
|
//if (interaction.IntentHandlingStatus == INIntentHandlingStatus.Ready)
|
//{
|
// desiredSize = DisplayInvoice(order, intent);
|
//}
|
//else if (interaction.IntentHandlingStatus == INIntentHandlingStatus.Success)
|
//{
|
// var response = interaction.IntentResponse as OrderSoupIntentResponse;
|
// if (!(response is null))
|
// {
|
// desiredSize = DisplayOrderConfirmation(order, intent, response);
|
// }
|
//}
|
|
//completion(true, parameters, desiredSize);
|
}
|
|
|
}
|
}
|