wxr
2021-11-24 8655407ab6987bb7268fab55b6380051f26668fe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
///*
//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();
//                }
//            }); 
//        }
 
//    }
//}