[EflSharp] Update Circle and efl cs files (#995)
[platform/core/csapi/tizenfx.git] / test / SampleTelephony / MainPage.cs
1 using System;
2 using System.Threading.Tasks;
3 using System.Collections.Generic;
4 using System.Linq;
5 using Xamarin.Forms;
6 using Tizen;
7 using Tizen.Telephony;
8
9 namespace XamarinForTizen.Tizen
10 {
11     public class MainPage : ContentPage
12     {
13         public MainPage()
14         {
15             var initBtn = new Button
16             {
17                 Text = "Initialize",
18                 VerticalOptions = LayoutOptions.Start,
19                 HorizontalOptions = LayoutOptions.FillAndExpand
20             };
21             initBtn.Clicked += initBtn_Clicked;
22
23             var callBtn = new Button
24             {
25                 Text = "Call",
26                 VerticalOptions = LayoutOptions.Start,
27                 HorizontalOptions = LayoutOptions.FillAndExpand
28             };
29             callBtn.Clicked += callBtn_Clicked;
30
31             var ModemBtn = new Button
32             {
33                 Text = "Modem",
34                 VerticalOptions = LayoutOptions.Start,
35                 HorizontalOptions = LayoutOptions.FillAndExpand
36             };
37             ModemBtn.Clicked += ModemBtn_Clicked;
38
39             var NetworkBtn = new Button
40             {
41                 Text = "Network",
42                 VerticalOptions = LayoutOptions.Start,
43                 HorizontalOptions = LayoutOptions.FillAndExpand
44             };
45             NetworkBtn.Clicked += NetworkBtn_Clicked;
46
47             var simBtn = new Button
48             {
49                 Text = "Sim",
50                 VerticalOptions = LayoutOptions.Start,
51                 HorizontalOptions = LayoutOptions.FillAndExpand
52             };
53             simBtn.Clicked += simBtn_Clicked;
54
55             var deinitBtn = new Button
56             {
57                 Text = "Deinitialize",
58                 VerticalOptions = LayoutOptions.Start,
59                 HorizontalOptions = LayoutOptions.FillAndExpand
60             };
61             deinitBtn.Clicked += deinitBtn_Clicked;
62
63             Content = new StackLayout
64             {
65                 VerticalOptions = LayoutOptions.Center,
66                 Children = {
67                         initBtn, callBtn, ModemBtn, NetworkBtn, simBtn, deinitBtn
68                     }
69             };
70
71             try
72             {
73                 Manager.StateChanged += Manager_StateChanged;
74             }
75
76             catch(Exception ex)
77             {
78                 Log.Debug(Globals.LogTag, "Exception in registering for state changed event: " + ex.ToString());
79             }
80         }
81
82         private void Manager_StateChanged(object sender, StateEventArgs e)
83         {
84             Log.Debug(Globals.LogTag, "Telephony state changed: " + e.CurrentState);
85         }
86
87         private void deinitBtn_Clicked(object sender, EventArgs e)
88         {
89             try
90             {
91                 Manager.Deinit();
92                 Globals.slotHandle = null;
93                 Log.Debug(Globals.LogTag, "Deinit successful");
94             }
95
96             catch(Exception ex)
97             {
98                 Log.Debug(Globals.LogTag, "Telephony deinit exception: " + ex.ToString());
99             }
100         }
101
102         private async void callBtn_Clicked(object sender, EventArgs e)
103         {
104             await Navigation.PushAsync(new CallPage());
105         }
106
107         private async void ModemBtn_Clicked(object sender, EventArgs e)
108         {
109             await Navigation.PushAsync(new ModemPage());
110         }
111
112         private async void NetworkBtn_Clicked(object sender, EventArgs e)
113         {
114             await Navigation.PushAsync(new NetworkPage());
115         }
116
117         private async void simBtn_Clicked(object sender, EventArgs e)
118         {
119             await Navigation.PushAsync(new SimPage());
120         }
121
122         private void initBtn_Clicked(object sender, EventArgs e)
123         {
124             try
125             {
126                 List<SlotHandle> simList = Manager.Init().ToList();
127                 if (simList.Count == 0)
128                 {
129                     Log.Debug(Globals.LogTag, "SimList count is zero");
130                     return;
131                 }
132
133                 Log.Debug(Globals.LogTag, "Telephony initialized successfully");
134                 Globals.slotHandle = simList.ElementAt(0);
135             }
136
137             catch(Exception ex)
138             {
139                 Log.Debug(Globals.LogTag, "Telephony init exception: " + ex.ToString());
140             }
141         }
142     }
143 }