using System;
+using System.Collections.Generic;
using Xamarin.Forms;
using Tizen;
using Tizen.Telephony;
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
};
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)
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);
}
}
}
+ 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)
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
};
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
}
};
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);
}
}
}
+ 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)