///* //See LICENSE folder for this sample’s licensing information. //Abstract: //A data manager that surfaces INVoiceShortcuts managed by INVoiceShortcutCenter. //*/ //using System; //using Intents; //using System.Linq; //using HDLSceneSiri; //namespace Other.Siri //{ // public class VoiceShortcutDataManager // { // INVoiceShortcut[] VoiceShortcuts; // public VoiceShortcutDataManager() // { // UpdateVoiceShortcuts(null); // } // public VoiceShortcutDataManager(Action action) // { // UpdateVoiceShortcuts(action); // } // public INVoiceShortcut VoiceShortcutForOrder(SiriScene ss) // { // var voiceShortcut = VoiceShortcuts.FirstOrDefault((shortcut) => // { // var intent = shortcut.Shortcut.Intent as HDLRunSceneIntent; // if (intent is null) { return false; } // var orderFromIntent = SiriScene.FromOrderSoupIntent(intent); // if (orderFromIntent is null) { return false; } // return ss.IsEqual(orderFromIntent); // }); // return voiceShortcut; // } // public INVoiceShortcut VoiceShortcutForOrder2(SiriScene ss) // { // var voiceShortcut = VoiceShortcuts.FirstOrDefault((shortcut) => // { // var intent = shortcut.Shortcut.Intent as HDLRunSceneIntent; // if (intent is null) { return false; } // var orderFromIntent = SiriScene.FromOrderSoupIntent(intent); // if (orderFromIntent is null) { return false; } // return ss.IsEqual(orderFromIntent); // }); // return voiceShortcut; // } // public INVoiceShortcut FirstTemp () // { // try // { // if(VoiceShortcuts == null) // { // UpdateVoiceShortcuts(null); // } // return VoiceShortcuts[0]; // } // catch // { // return null; // } // } // public void UpdateVoiceShortcuts(Action completion) // { // INVoiceShortcutCenter.SharedCenter.GetAllVoiceShortcuts((voiceShortcutsFromCenter, error) => // { // if (voiceShortcutsFromCenter is null) // { // if (!(error is null)) // { // Console.WriteLine($"Failed to fetch voice shortcuts with error {error}"); // } // return; // } // VoiceShortcuts = voiceShortcutsFromCenter; // if (!(completion is null)) // { // completion(); // } // }); // } // } //}