{
static View mDetailView;
static ContentPage mDetailPage;
- static string mBtDeviceName;
static Device mDevice;
+ private static TextField mDeviceNameField;
+ private static readonly Color underlineColor = new Color("#FF6200");
internal static void CreateDetailView(Device device)
{
Window window = NUIApplication.GetDefaultWindow();
mDevice = device;
- var appBar = new AppBar()
- {
- Title = Resources.IDS_BT_BODY_DETAILS,
- };
-
mDetailView = new View()
{
Layout = new LinearLayout()
{
LinearOrientation = LinearLayout.Orientation.Vertical,
- HorizontalAlignment = HorizontalAlignment.Center,
},
WidthSpecification = LayoutParamPolicies.MatchParent,
HeightSpecification = LayoutParamPolicies.MatchParent,
};
- var deviceName = new DefaultLinearItem()
- {
- WidthSpecification = LayoutParamPolicies.MatchParent,
- Text = device.Name,
- SubText = Resources.IDS_BT_BODY_DEVICENAME,
- };
- mBtDeviceName = device.Name;
- deviceName.Clicked += OnDeviceNameClicked;
- mDetailView.Add(deviceName);
+ CreateDeviceNameView(device.Name);
var unpairButton = new DefaultLinearItem()
{
};
unpairButton.Clicked += (obj, ev) =>
{
- Log.Info(SettingBluetooth.LogTag, "Unpair to the remote device. Address: " + device.BtDevice.Address + ", Name: " + device.BtDevice.Name);
device.BtDevice.Unpair();
window.GetDefaultNavigator().Pop();
};
mDetailPage = new ContentPage()
{
- AppBar = appBar,
+ AppBar = CreateAppBar(),
Content = mDetailView,
};
window.GetDefaultNavigator().Push(mDetailPage);
}
- private static void OnDeviceNameClicked(object sender, ClickedEventArgs e)
- {
- DefaultLinearItem deviceItem = (DefaultLinearItem)sender;
- var deviceName = deviceItem.BindingContext as string;
- deviceName = mBtDeviceName;
- Log.Debug(SettingBluetooth.LogTag, "Name: " + deviceName);
-
- Window window = NUIApplication.GetDefaultWindow();
- var connectPage = new RenamePage(deviceName, mDevice);
- mBtDeviceName = connectPage.CreateComponents(mBtDeviceName);
- window.GetDefaultNavigator().Push(connectPage);
- }
- }
-
- internal class RenamePage : DialogPage
- {
- TextField mRenameField;
- static Device mDevice;
- private static void PopDialog()
- {
- Navigator navigator = NUIApplication.GetDefaultWindow().GetDefaultNavigator();
- navigator?.Pop();
- }
-
- internal RenamePage(string deviceName, Device device)
- {
- mDevice = device;
- }
-
- internal TextField CreateRenameField(string deviceName)
+ private static void CreateDeviceNameView(string deviceName)
{
- var mRenameField = new TextField()
+ var label = new TextLabel
{
- Text = deviceName,
- WidthSpecification = 400,
- };
- return mRenameField;
- }
-
- internal string CreateComponents(string deviceName)
- {
- mRenameField = CreateRenameField(deviceName);
- var cancelButton = new Button()
- {
- Text = "Cancel",
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ Text = Resources.IDS_BT_BODY_RENAME,
+ Margin = new Extents(16, 0, 0, 0).SpToPx(),
};
- cancelButton.Clicked += OnCancelClicked;
- var renameButton = new Button()
+ mDeviceNameField = new TextField()
{
- Text = "Rename",
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ HeightSpecification = 48,
+ BackgroundColor = Color.White,
+ Text = deviceName,
+ TextColor = Color.Grey,
+ Margin = new Extents(24, 0, 0, 0).SpToPx(),
};
- renameButton.Clicked += OnRenameClicked;
- Content = new AlertDialog()
- {
- Title = "Rename device",
- Content = mRenameField,
- Actions = new View[] { cancelButton, renameButton,},
- };
- return mRenameField.Text;
+ mDetailView.Add(label);
+ mDetailView.Add(mDeviceNameField);
+ mDetailView.Add(CreateUnderline());
}
- private void OnCancelClicked(object source, ClickedEventArgs args)
+ private static View CreateUnderline()
{
- Navigator.Pop();
+ return new View()
+ {
+ BorderlineColor = underlineColor,
+ BorderlineWidth = 1,
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ HeightSpecification = 1,
+ Margin = new Extents(16, 16, 0, 0).SpToPx(),
+ };
}
- private void OnRenameClicked(object source, ClickedEventArgs args)
+ private static void OnBackClicked(object sender, ClickedEventArgs e)
{
- try
+ if (mDeviceNameField.Text == mDevice.Name)
{
- mDevice.Name = mRenameField.Text;
- mDevice.BtDevice.RenameRemoteBtDevice(mDevice.Name);
- Log.Debug(SettingBluetooth.LogTag, "Updated Device Name: " + mDevice.Name);
+ return;
}
- catch(Exception e)
+ if (mDeviceNameField.Text.Length > 0)
{
- Log.Debug(SettingBluetooth.LogTag, "Exception : " + e.Message);
+ mDevice.Name = mDeviceNameField.Text;
}
NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
- NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
- BtDetailView.CreateDetailView(mDevice);
+ }
+
+ private static AppBar CreateAppBar()
+ {
+ var appBar = new AppBar()
+ {
+ Title = Resources.IDS_BT_BODY_DETAILS,
+ };
+ AppBarStyle appBarStyle = (AppBarStyle)ThemeManager.GetStyle("Tizen.NUI.Components.AppBar");
+ Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
+
+ backButton.Clicked += OnBackClicked;
+ appBar.NavigationContent = backButton;
+ return appBar;
}
}
}