From: Akash Kumar Date: Tue, 12 Sep 2023 11:22:56 +0000 (+0530) Subject: Implement "Show Password" and "Clear Password" functionality X-Git-Tag: accepted/tizen/unified/20230920.161437^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=300115a536acd1da0f6fc8093c436e2f92d0378a;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsetting-wifi.git Implement "Show Password" and "Clear Password" functionality This Patch: - Adds eye icon to show hidden password and vice versa. - Adds cross(x) icon to clear password. - Updates button and textfield sizes as per figma. - Adds "Type your password" label as per figma design. - Updates WPS icon as per Figma - This resolves following jira issues: - https://code.sec.samsung.net/jira/browse/TEIGHT-5160 - https://code.sec.samsung.net/jira/browse/TEIGHT-5166 Change-Id: I56c564013e2a4038df197460ea271ef79ed42030 Signed-off-by: Akash Kumar --- diff --git a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/cross_icon.png b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/cross_icon.png new file mode 100644 index 0000000..1813a15 Binary files /dev/null and b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/cross_icon.png differ diff --git a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/eye_icon.png b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/eye_icon.png new file mode 100644 index 0000000..b6e31d8 Binary files /dev/null and b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/eye_icon.png differ diff --git a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_badge_info.png b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_badge_info.png index 6b2dd79..d4b03eb 100644 Binary files a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_badge_info.png and b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_badge_info.png differ diff --git a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_wps.png b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_wps.png index c77f56a..273c38b 100644 Binary files a/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_wps.png and b/SettingWiFi/SettingWiFi/res/allowed/SettingWiFi/images/wifi_icon_wps.png differ diff --git a/SettingWiFi/SettingWiFi/view/ConnectPage.cs b/SettingWiFi/SettingWiFi/view/ConnectPage.cs index 5a584dc..8ae231b 100755 --- a/SettingWiFi/SettingWiFi/view/ConnectPage.cs +++ b/SettingWiFi/SettingWiFi/view/ConnectPage.cs @@ -29,8 +29,9 @@ namespace SettingWiFi Debug("+"); var passwordField = new TextField() { - WidthSpecification = 600, - BackgroundColor = Color.Silver, + WidthSpecification = 534, + HeightSpecification = 48, + BackgroundColor = Color.White, PlaceholderText = Resources.IDS_WIFI_HEADER_PASSWORD, }; @@ -41,12 +42,8 @@ namespace SettingWiFi PropertyMap p1 = inputSetting.OutputMap; passwordField.InputMethodSettings = p1; - var hiddenInput = new Tizen.NUI.Text.HiddenInput(); - hiddenInput.Mode = HiddenInputModeType.ShowLastCharacter; - hiddenInput.SubstituteCharacter = '*'; - hiddenInput.SubstituteCount = 0; - hiddenInput.ShowLastCharacterDuration = 1000; - passwordField.SetHiddenInput(hiddenInput); + mPasswordField = passwordField; + UpdateHiddenProperty(true); return passwordField; } @@ -57,7 +54,7 @@ namespace SettingWiFi { Color = new Selector() { - Normal = new Color("#17234D"), + Normal = new Color("#FFFFFF"), Focused = new Color("#17234D"), Pressed = new Color("#FF6200"), Disabled = new Color("#CACACA"), @@ -92,13 +89,14 @@ namespace SettingWiFi { LinearOrientation = LinearLayout.Orientation.Vertical, }, - WidthSpecification = LayoutParamPolicies.MatchParent, - HeightSpecification = LayoutParamPolicies.WrapContent, + IsSelectable = false, }; - mPasswordField = CreatePasswordField(); - mPasswordField.TextChanged += OnTextChanged; - connectView.Add(mPasswordField); + TextLabel label = new TextLabel(Resources.IDS_WIFI_BODY_TYPE_PASSWORD); + label.Padding = new Extents(5, 5, 5, 20); + connectView.Add(label); + + connectView.Add(CreatePasswordEntryItem()); if(mAp.IsWps) { @@ -108,12 +106,16 @@ namespace SettingWiFi var cancelButton = new Button() { Text = Resources.IDS_WIFI_SK_CANCEL, + WidthSpecification = 252, + HeightSpecification = 48, }; cancelButton.Clicked += OnCancelClicked; mConnectButton = new Button() { Text = Resources.IDS_WIFI_BODY_CONNECT, + WidthSpecification = 252, + HeightSpecification = 48, }; mConnectButton.IsEnabled = false; mConnectButton.Clicked += OnConnectClicked; @@ -126,6 +128,124 @@ namespace SettingWiFi }; } + private void UpdateHiddenProperty(bool hide) + { + Debug("+"); + var hiddenInput = new Tizen.NUI.Text.HiddenInput(); + if (hide) + { + hiddenInput.Mode = HiddenInputModeType.ShowLastCharacter; + hiddenInput.SubstituteCharacter = '*'; + hiddenInput.SubstituteCount = 0; + hiddenInput.ShowLastCharacterDuration = 1000; + } + else + { + hiddenInput.Mode = HiddenInputModeType.HideNone; + } + mPasswordField.SetHiddenInput(hiddenInput); + mPasswordField.Text = mPasswordField.Text; + } + + private Selector GetDefaultColorSelector() + { + return new Selector() + { + Normal = new Color("#FFFFFF"), + Focused = new Color("#17234D"), + Pressed = new Color("#FF6200"), + Disabled = new Color("#CACACA"), + }; + } + + private Button CreateButton(string iconImagePath) + { + int buttonSize = 48; + + ButtonStyle style = new ButtonStyle() + { + IsSelectable = true, + CornerRadius = 50, + BackgroundColor = GetDefaultColorSelector(), + }; + + Button button = new Button(style) + { + WidthSpecification = buttonSize, + HeightSpecification = buttonSize, + IconURL = Resources.GetPath() + iconImagePath, + IsSelectable = false, + }; + + return button; + } + + private Button GetCrossButton() + { + string crossIconImagePath = "/images/cross_icon.png"; + Button crossButton = CreateButton(crossIconImagePath); + crossButton.Clicked += OnCrossButtonClicked; + + return crossButton; + } + + private Button GetEyeButton() + { + string eyeIconImagePath = "/images/eye_icon.png"; + Button eyeButton = CreateButton(eyeIconImagePath); + eyeButton.Clicked += OnEyeButtonClicked; + eyeButton.IsSelectable = true; + + return eyeButton; + } + + private View CreatePasswordEntryItem() + { + View passwordEntryView = new View() + { + Layout = new LinearLayout() + { + LinearOrientation = LinearLayout.Orientation.Horizontal, + }, + HeightSpecification = 48, + Padding = new Extents(5, 5, 10,0), + }; + + mPasswordField = CreatePasswordField(); + mPasswordField.TextChanged += OnTextChanged; + + passwordEntryView.Add(mPasswordField); + passwordEntryView.Add(GetCrossButton()); + passwordEntryView.Add(GetEyeButton()); + + return passwordEntryView; + } + + private void OnEyeButtonClicked(object sender, ClickedEventArgs e) + { + Debug("+"); + Button button = (Button)sender; + var hiddenInput = mPasswordField.GetHiddenInput(); + + if (button.IsSelected) + { + Debug("Show Password Selected"); + UpdateHiddenProperty(false); + } + else { + Debug("Show Password UnSelected"); + UpdateHiddenProperty(true); + } + + } + + private void OnCrossButtonClicked(object sender, ClickedEventArgs e) + { + Debug("+"); + Button button = (Button)sender; + mPasswordField.Text = ""; + } + private void OnCancelClicked(object source, ClickedEventArgs args) { NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop(); diff --git a/SettingWiFi/SettingWiFi/view/Resources.cs b/SettingWiFi/SettingWiFi/view/Resources.cs index 0b6d8ce..43c8745 100755 --- a/SettingWiFi/SettingWiFi/view/Resources.cs +++ b/SettingWiFi/SettingWiFi/view/Resources.cs @@ -133,5 +133,6 @@ static public string IDS_WIFI_BODY_PROXY = "Proxy"; static public string IDS_WIFI_BODY_DONE = "Done"; static public string IDS_WIFI_BODY_GATEWAY = "Gateway"; + static public string IDS_WIFI_BODY_TYPE_PASSWORD = "Type password."; } } diff --git a/packaging/org.tizen.cssetting-wifi-1.1.4.rpk b/packaging/org.tizen.cssetting-wifi-1.1.4.rpk index b0cbfff..8c5af63 100644 Binary files a/packaging/org.tizen.cssetting-wifi-1.1.4.rpk and b/packaging/org.tizen.cssetting-wifi-1.1.4.rpk differ