1
wxr
2021-11-23 1635e5b2e6d853ef5d89f6ca3ef18edece91e7b1
HDL-ON_iOS/Other/Siri/SiriBaseView.cs
@@ -1,19 +1,89 @@
using System;
using CoreGraphics;
using Foundation;
using HDL_ON.Entity;
using Intents;
using IntentsUI;
using UIKit;
namespace Other.Siri
{
    public partial class SiriBaseView : UIViewController
    public partial class SiriBaseView : UIViewController, IINUIAddVoiceShortcutViewControllerDelegate, IINUIEditVoiceShortcutViewControllerDelegate
    {
        VoiceShortcutDataManager VoiceShortcutDataManager;
        public SiriBaseView() : base("SiriBaseView", null)
        {
             VoiceShortcutDataManager = new VoiceShortcutDataManager();
        }
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);
            //HDL_ON_iOS.AppDelegate.rootViewController.NavigationBarHidden = true;
            HDL_ON_iOS.AppDelegate.rootViewController.SetNavigationBarHidden(false, true);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
            UserActivity = NSUserActivityHelper.ViewMenuActivity;
            //    var btnVS = new INUIAddVoiceShortcutButton(INUIAddVoiceShortcutButtonStyle.White);
            //    btnVS.Frame = new CGRect(20, 500, 280, 44);
            //btnVS.Shortcut = VoiceShortcutDataManager.FirstTemp().Shortcut ;
            //    View.AddSubview(btnVS);
            foreach(var localScene in FunctionList.List.scenes)
            {
                var cell = new  UIView();
                cell.Frame = new CGRect(20, 800, 300, 60);
            }
            var ddd = Xamarin.Essentials.DeviceInfo.VersionString;
            var btn = UIButton.FromType(UIButtonType.System);
            btn.Frame = new CGRect(20, 200, 280, 44);
            btn.SetTitle("Click Me", UIControlState.Normal);
            btn.TouchUpInside += (sender, e) =>
            {
                //HDL_ON_iOS.AppDelegate.rootViewController.SetNavigationBarHidden(HDL_ON_iOS.AppDelegate.rootViewController.NavigationBarHidden ? false : true, true);
                var ss = new SiriScene() { Id = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() };
                INVoiceShortcut existingShortcut = VoiceShortcutDataManager?.VoiceShortcutForOrder(ss);
                //if (!(existingShortcut is null))
                //{
                //    var editVoiceShortcutViewController = new INUIEditVoiceShortcutViewController(existingShortcut);
                //    editVoiceShortcutViewController.Delegate = this;
                //    PresentViewController(editVoiceShortcutViewController, true, null);
                //}
                //else
                {
                    // Since the app isn't yet managing a voice shortcut for
                    // this order, present the add view controller
                    new SceneDateManager().PlaceOrder(ss);
                    INShortcut newShortcut = new INShortcut(ss.Intent);
                    if (!(newShortcut is null))
                    {
                        var addVoiceShortcutVC = new INUIAddVoiceShortcutViewController(newShortcut);
                        addVoiceShortcutVC.Delegate = this;
                        PresentViewController(addVoiceShortcutVC, true, null);
                    }
                }
            };
            View.AddSubview(btn);
        }
        public override void DidReceiveMemoryWarning()
@@ -21,6 +91,31 @@
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.
        }
        public void DidFinish(INUIAddVoiceShortcutViewController controller, INVoiceShortcut voiceShortcut, NSError error)
        {
            Console.WriteLine("didF");
        }
        public void DidCancel(INUIAddVoiceShortcutViewController controller)
        {
            Console.WriteLine("didC");
        }
        public void DidUpdate(INUIEditVoiceShortcutViewController controller, INVoiceShortcut voiceShortcut, NSError error)
        {
            Console.WriteLine("didU");
        }
        public void DidDelete(INUIEditVoiceShortcutViewController controller, NSUuid deletedVoiceShortcutIdentifier)
        {
            Console.WriteLine("didD");
        }
        public void DidCancel(INUIEditVoiceShortcutViewController controller)
        {
            Console.WriteLine("didC");
        }
    }
}