[Telephony] Added sample app code. 64/157464/1
authoradhavan.m <adhavan.m@samsung.com>
Tue, 24 Oct 2017 13:05:30 +0000 (18:35 +0530)
committeradhavan.m <adhavan.m@samsung.com>
Tue, 24 Oct 2017 13:06:27 +0000 (18:36 +0530)
Change-Id: I8f155b099122b3bc9db7c45faf728c6cafbbfb37
Signed-off-by: adhavan.m <adhavan.m@samsung.com>
test/SampleTelephony/NetworkPage.cs
test/SampleTelephony/SimPage.cs

index aee48aa..d7a2f84 100755 (executable)
@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using Xamarin.Forms;
 using Tizen;
 using Tizen.Telephony;
@@ -8,6 +9,21 @@ namespace XamarinForTizen.Tizen
     public class NetworkPage : ContentPage
     {
         private static Network _network = null;
+        private ChangeNotificationEventArgs.Notification[] notiArr = { ChangeNotificationEventArgs.Notification.NetworkBsId,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkBsLatitude,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkBsLongitude,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkCellid,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkDefaultDataSubscription,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkDefaultSubscription,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkId,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkLac,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkNetworkName,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkPsType,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkRoamingStatus,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkServiceState,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkSignalstrengthLevel,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkSystemId,
+                                                                       ChangeNotificationEventArgs.Notification.NetworkTac };
         public NetworkPage()
         {
             var cellBtn = new Button
@@ -42,14 +58,150 @@ namespace XamarinForTizen.Tizen
             };
             mncBtn.Clicked += mncBtn_Clicked;
 
-            Content = new StackLayout
+            var nwNameBtn = new Button
             {
-                VerticalOptions = LayoutOptions.Center,
-                Children = {
-                        cellBtn, lacBtn, mccBtn, mncBtn
+                Text = "Get network name",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            nwNameBtn.Clicked += nwNameBtn_Clicked;
+
+            var nwNameOptionBtn = new Button
+            {
+                Text = "Get network name option",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            nwNameOptionBtn.Clicked += nwNameOptionBtn_Clicked;
+
+            var roamingStatusBtn = new Button
+            {
+                Text = "Get roaming status",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            roamingStatusBtn.Clicked += roamingStatusBtn_Clicked;
+
+            var rssiBtn = new Button
+            {
+                Text = "Get RSSI",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            rssiBtn.Clicked += rssiBtn_Clicked;
+
+            var serviceStateBtn = new Button
+            {
+                Text = "Get service state",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            serviceStateBtn.Clicked += serviceStateBtn_Clicked;
+
+            var typeBtn = new Button
+            {
+                Text = "Get network type",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            typeBtn.Clicked += typeBtn_Clicked;
+
+            var psTypeBtn = new Button
+            {
+                Text = "Get PS type",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            psTypeBtn.Clicked += psTypeBtn_Clicked;
+
+            var dataSubsBtn = new Button
+            {
+                Text = "Get default data subscription",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            dataSubsBtn.Clicked += dataSubsBtn_Clicked;
+
+            var defaultSubsBtn = new Button
+            {
+                Text = "Get default subscription",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            defaultSubsBtn.Clicked += defaultSubsBtn_Clicked;
+
+            var selectionModeBtn = new Button
+            {
+                Text = "Get selection mode",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            selectionModeBtn.Clicked += selectionModeBtn_Clicked;
+
+            var tacBtn = new Button
+            {
+                Text = "Get TAC",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            tacBtn.Clicked += tacBtn_Clicked;
+
+            var systemIdBtn = new Button
+            {
+                Text = "Get system ID",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            systemIdBtn.Clicked += systemIdBtn_Clicked;
+
+            var nwIdBtn = new Button
+            {
+                Text = "Get network ID",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            nwIdBtn.Clicked += nwIdBtn_Clicked;
+
+            var baseStationIdBtn = new Button
+            {
+                Text = "Get base station ID",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            baseStationIdBtn.Clicked += baseStationIdBtn_Clicked;
+
+            var baseStationLongitudeBtn = new Button
+            {
+                Text = "Get base station longitude",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            baseStationLongitudeBtn.Clicked += baseStationLongitudeBtn_Clicked;
+
+            var baseStationLatitudeBtn = new Button
+            {
+                Text = "Get base station latitude",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            baseStationLatitudeBtn.Clicked += baseStationLatitudeBtn_Clicked;
+
+            ScrollView scrollView = new ScrollView()
+            {
+                Content = new StackLayout
+                {
+                    VerticalOptions = LayoutOptions.Center,
+                    Children = {
+                        cellBtn, lacBtn, mccBtn, mncBtn, nwNameBtn, nwNameOptionBtn, roamingStatusBtn, rssiBtn,
+                        serviceStateBtn, typeBtn, psTypeBtn, dataSubsBtn, defaultSubsBtn, selectionModeBtn, tacBtn,
+                        systemIdBtn, nwIdBtn, baseStationIdBtn, baseStationLatitudeBtn, baseStationLongitudeBtn
                     }
+                },
+                VerticalOptions = LayoutOptions.Center
             };
 
+            Content = scrollView;
+
             try
             {
                 if (Globals.slotHandle == null)
@@ -58,6 +210,14 @@ namespace XamarinForTizen.Tizen
                     return;
                 }
 
+                Globals.slotHandle.ChangeNotification += SlotHandle_ChangeNotification;
+                List<ChangeNotificationEventArgs.Notification> notiList = new List<ChangeNotificationEventArgs.Notification>();
+                foreach (ChangeNotificationEventArgs.Notification noti in notiArr)
+                {
+                    notiList.Add(noti);
+                }
+
+                Globals.slotHandle.SetNotificationId(notiList);
                 _network = new Network(Globals.slotHandle);
             }
 
@@ -67,6 +227,187 @@ namespace XamarinForTizen.Tizen
             }
         }
 
+        private void SlotHandle_ChangeNotification(object sender, ChangeNotificationEventArgs e)
+        {
+            Log.Debug(Globals.LogTag, "Change notification: " + e.NotificationType);
+        }
+
+        private void baseStationLatitudeBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Base station latitude: " + _network.BaseStationLatitude);
+        }
+
+        private void baseStationLongitudeBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Base Station longitude: " + _network.BaseStationLongitude);
+        }
+
+        private void baseStationIdBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Base station ID: " + _network.BaseStationId);
+        }
+
+        private void nwIdBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network ID: " + _network.NetworkId);
+        }
+
+        private void systemIdBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "System ID: " + _network.SystemId);
+        }
+
+        private void tacBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "TAC: " + _network.Tac);
+        }
+
+        private void selectionModeBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Selection mode: " + _network.NetworkSelectionMode);
+        }
+
+        private void defaultSubsBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Default subscription: " + _network.NetworkDefaultSubscription);
+        }
+
+        private void dataSubsBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Default data subscription: " + _network.NetworkDefaultDataSubscription);
+        }
+
+        private void psTypeBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network PS type: " + _network.NetworkPsType);
+        }
+
+        private void typeBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network type: " + _network.NetworkType);
+        }
+
+        private void serviceStateBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network service state: " + _network.NetworkServiceState);
+        }
+
+        private void rssiBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Current Rssi: " + _network.CurrentRssi);
+        }
+
+        private void roamingStatusBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Roaming status: " + _network.RoamingStatus);
+        }
+
+        private void nwNameOptionBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network name option: " + _network.NetworkNameOption);
+        }
+
+        private void nwNameBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_network == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Network name: " + _network.NetworkName);
+        }
+
         private void mncBtn_Clicked(object sender, EventArgs e)
         {
             if (_network == null)
index b10d149..5f93a90 100755 (executable)
@@ -11,6 +11,8 @@ namespace XamarinForTizen.Tizen
     public class SimPage : ContentPage
     {
         private static Sim _sim = null;
+        private ChangeNotificationEventArgs.Notification[] notiArr = { ChangeNotificationEventArgs.Notification.SimStatus,
+                                                                       ChangeNotificationEventArgs.Notification.SimCallForwardingIndicatorState };
         public SimPage()
         {
             var changedBtn = new Button
@@ -45,11 +47,76 @@ namespace XamarinForTizen.Tizen
             };
             msinBtn.Clicked += msinBtn_Clicked;
 
+            var spnBtn = new Button
+            {
+                Text = "Get SPN",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            spnBtn.Clicked += spnBtn_Clicked;
+
+            var stateBtn = new Button
+            {
+                Text = "Get sim state",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            stateBtn.Clicked += stateBtn_Clicked;
+
+            var appListBtn = new Button
+            {
+                Text = "Get sim application list",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            appListBtn.Clicked += appListBtn_Clicked;
+
+            var subscriberBtn = new Button
+            {
+                Text = "Get subscriber number",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            subscriberBtn.Clicked += subscriberBtn_Clicked;
+
+            var subscriberIdBtn = new Button
+            {
+                Text = "Get subscriber ID",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            subscriberIdBtn.Clicked += subscriberIdBtn_Clicked;
+
+            var lockStateBtn = new Button
+            {
+                Text = "Get lock state",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            lockStateBtn.Clicked += lockStateBtn_Clicked;
+
+            var groupIdBtn = new Button
+            {
+                Text = "Get group ID1",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            groupIdBtn.Clicked += groupIdBtn_Clicked;
+
+            var cfIndiStateBtn = new Button
+            {
+                Text = "Get call forwarding indicator state",
+                VerticalOptions = LayoutOptions.Start,
+                HorizontalOptions = LayoutOptions.FillAndExpand
+            };
+            cfIndiStateBtn.Clicked += cfIndiStateBtn_Clicked;
+
             Content = new StackLayout
             {
                 VerticalOptions = LayoutOptions.Center,
                 Children = {
-                        changedBtn, operatorBtn, iccIdBtn, msinBtn
+                        changedBtn, operatorBtn, iccIdBtn, msinBtn, spnBtn, stateBtn, appListBtn, subscriberBtn,
+                        subscriberIdBtn, lockStateBtn, groupIdBtn, cfIndiStateBtn
                     }
             };
 
@@ -61,6 +128,14 @@ namespace XamarinForTizen.Tizen
                     return;
                 }
 
+                Globals.slotHandle.ChangeNotification += SlotHandle_ChangeNotification;
+                List<ChangeNotificationEventArgs.Notification> notiList = new List<ChangeNotificationEventArgs.Notification>();
+                foreach (ChangeNotificationEventArgs.Notification noti in notiArr)
+                {
+                    notiList.Add(noti);
+                }
+
+                Globals.slotHandle.SetNotificationId(notiList);
                 _sim = new Sim(Globals.slotHandle);
             }
 
@@ -70,6 +145,99 @@ namespace XamarinForTizen.Tizen
             }
         }
 
+        private void SlotHandle_ChangeNotification(object sender, ChangeNotificationEventArgs e)
+        {
+            Log.Debug(Globals.LogTag, "Change notification: " + e.NotificationType);
+        }
+
+        private void cfIndiStateBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Call forwarding indicator state: " + _sim.CallForwardingIndicatorState);
+        }
+
+        private void groupIdBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Group ID1: " + _sim.GroupId1);
+        }
+
+        private void lockStateBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Sim lock state: " + _sim.CurrentLockState);
+        }
+
+        private void subscriberIdBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Subscriber ID: " + _sim.SubscriberId);
+        }
+
+        private void subscriberBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Subscriber Number: " + _sim.SubscriberNumber);
+        }
+
+        private void appListBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Application list: " + _sim.ApplicationList);
+        }
+
+        private void stateBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Sim state: " + _sim.CurrentState);
+        }
+
+        private void spnBtn_Clicked(object sender, EventArgs e)
+        {
+            if (_sim == null)
+            {
+                Log.Debug(Globals.LogTag, "Telephony is not initialized/there are no sim slot handles");
+                return;
+            }
+
+            Log.Debug(Globals.LogTag, "Spn: " + _sim.Spn);
+        }
+
         private void msinBtn_Clicked(object sender, EventArgs e)
         {
             if (_sim == null)