{
static View mDetailView;
static ContentPage mDetailPage;
+ static string mBtDeviceName;
internal static void CreateDetailView(Device device)
{
Text = device.Name,
SubText = Resources.IDS_BT_BODY_DEVICENAME,
};
+ mBtDeviceName = device.Name;
+ deviceName.Clicked += OnDeviceNameClicked;
mDetailView.Add(deviceName);
var unpairButton = new DefaultLinearItem()
window.GetDefaultNavigator().Push(mDetailPage);
}
+
+ private static void OnDeviceNameClicked(object sender, ClickedEventArgs e)
+ {
+ DefaultLinearItem deviceItem = (DefaultLinearItem)sender;
+ var device = deviceItem.BindingContext as Device;
+ Window window = NUIApplication.GetDefaultWindow();
+ var connectPage = new RenamePage(device);
+ mBtDeviceName = connectPage.CreateComponents(mBtDeviceName);
+ window.GetDefaultNavigator().Push(connectPage);
+ }
+ }
+
+ internal class RenamePage : DialogPage
+ {
+ TextField mRenameField;
+ Device mDevice;
+ private static void PopDialog()
+ {
+ Navigator navigator = NUIApplication.GetDefaultWindow().GetDefaultNavigator();
+ navigator?.Pop();
+ }
+
+ internal RenamePage(Device device)
+ {
+ mDevice = device;
+ }
+
+ internal TextField CreateRenameField(string deviceName)
+ {
+ var mRenameField = new TextField()
+ {
+ Text = deviceName,
+ WidthSpecification = 400,
+ };
+ return mRenameField;
+ }
+
+ internal string CreateComponents(string deviceName)
+ {
+ mRenameField = CreateRenameField(deviceName);
+ var cancelButton = new Button()
+ {
+ Text = "Cancel",
+ };
+ cancelButton.Clicked += OnCancelClicked;
+
+ var renameButton = new Button()
+ {
+ Text = "Rename",
+ };
+ renameButton.Clicked += OnRenameClicked;
+
+ Content = new AlertDialog()
+ {
+ Title = "Rename device",
+ Content = mRenameField,
+ Actions = new View[] { cancelButton, renameButton,},
+ };
+ return mRenameField.Text;
+ }
+
+ private void OnCancelClicked(object source, ClickedEventArgs args)
+ {
+ Navigator.Pop();
+ }
+
+ private void OnRenameClicked(object source, ClickedEventArgs args)
+ {
+ try
+ {
+ Log.Debug(Program.LogTag, "Old Name " + mDevice.Name + " field value; " + mRenameField.Text);
+ mDevice.Name = mRenameField.Text;
+ Log.Debug(Program.LogTag, "New Name " + mDevice.Name);
+ Navigator.Pop();
+ }
+ catch(Exception e)
+ {
+ Log.Debug(Program.LogTag, "Exception : " + e.Message);
+ }
+ Navigator.Pop();
+ }
}
}