From: Saksham Grover Date: Thu, 13 Mar 2025 08:33:32 +0000 (+0530) Subject: Implement scan stop button X-Git-Tag: accepted/tizen/unified/20250428.091732~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=681f6cd7c19c0cf8b9e7fb4ca0c3bc047ec2af4b;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsetting-wifi-direct.git Implement scan stop button Change-Id: I1dbc677e7a709cf9627d47d9cfce19cf7f09405e Signed-off-by: Saksham Grover --- diff --git a/SettingWiFiDirect/SettingWiFiDirect/SettingWiFiDirect.cs b/SettingWiFiDirect/SettingWiFiDirect/SettingWiFiDirect.cs index 2bd8967..5f73134 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/SettingWiFiDirect.cs +++ b/SettingWiFiDirect/SettingWiFiDirect/SettingWiFiDirect.cs @@ -16,6 +16,7 @@ namespace SettingWiFiDirect { private PeerSource mPeerSource; private CollectionView mScanList; + private Button mScanButton; bool mNeedScanning; public override string ProvideTitle() => NUIGadgetResourceManager.GetString(nameof(Resources.IDS_WIFI_BODY_WI_FI_DIRECT_ABB)); @@ -25,6 +26,42 @@ namespace SettingWiFiDirect CreateComponents(); } + public override IEnumerable ProvideMoreActions() + { + ViewStyle viewStyle = GetButtonViewStyle(); + + mScanButton = new Button() + { + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_WIFI_SK_STOP)) + }; + mScanButton.Clicked += OnScanStopButtonClicked; + mScanButton.ApplyStyle(viewStyle); + + return new View[] { mScanButton }; + } + + public string GetButtonText() + { + if(WiFiDirect.IsDiscoverable()) + { + return ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof + (Resources.IDS_WIFI_SK_STOP)); + } + return ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_WIFI_SK4_SCAN)); + } + + private ViewStyle GetButtonViewStyle() + { + ViewStyle viewStyle = new ViewStyle(); + viewStyle.Opacity = new Selector() + { + Normal = 1.0f, + Disabled = 0.0f + }; + + return viewStyle; + } + public MainPage() { Debug("+"); @@ -281,6 +318,7 @@ namespace SettingWiFiDirect Debug("Discovery started"); mNeedScanning = false; ChangeScanningState(true); + mScanButton.Text = GetButtonText(); } Debug("-"); } @@ -334,5 +372,31 @@ namespace SettingWiFiDirect peer.Disconnect(); } } + + private void OnScanStopButtonClicked(object sender, ClickedEventArgs e) + { + if (WiFiDirect.IsDiscoverable()) + { + StopDiscovery(); + } + else + { + StartScan(); + } + } + + private void StopDiscovery() + { + Debug("+"); + bool discoveryStopped = WiFiDirect.StopDiscovery(); + if (discoveryStopped) + { + Debug("Discovery stopped"); + mNeedScanning = false; + ChangeScanningState(false); + mScanButton.Text = GetButtonText(); + } + Debug("-"); + } } } diff --git a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.Designer.cs b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.Designer.cs index 5133c51..e6f0887 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.Designer.cs +++ b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.Designer.cs @@ -198,6 +198,15 @@ namespace SettingWiFiDirect.TextResources { } } + /// + /// Looks up a localized string similar to stop. + /// + public static string IDS_WIFI_SK_STOP { + get { + return ResourceManager.GetString("IDS_WIFI_SK_STOP", resourceCulture); + } + } + /// /// Looks up a localized string similar to ok. /// @@ -206,5 +215,14 @@ namespace SettingWiFiDirect.TextResources { return ResourceManager.GetString("IDS_WIFI_SK2_OK", resourceCulture); } } + + /// + /// Looks up a localized string similar to scan. + /// + public static string IDS_WIFI_SK4_SCAN { + get { + return ResourceManager.GetString("IDS_WIFI_SK4_SCAN", resourceCulture); + } + } } } diff --git a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.en-US.resx b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.en-US.resx index 5013c02..a183863 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.en-US.resx +++ b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.en-US.resx @@ -157,10 +157,16 @@ OK + + Scan + Cancel Disconnect + + Stop + \ No newline at end of file diff --git a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.ko-KR.resx b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.ko-KR.resx index 1887025..8dc425c 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.ko-KR.resx +++ b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.ko-KR.resx @@ -156,10 +156,16 @@ 확인 + + 찾기 + 취소 연결 해제 + + 중지 + \ No newline at end of file diff --git a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.resx b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.resx index fd8e4fe..2c5afe8 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.resx +++ b/SettingWiFiDirect/SettingWiFiDirect/TextResources/Resources.resx @@ -156,10 +156,16 @@ ok + + scan + Cancel Disconnect + + stop + \ No newline at end of file diff --git a/SettingWiFiDirect/SettingWiFiDirect/controller/WiFiDirect.cs b/SettingWiFiDirect/SettingWiFiDirect/controller/WiFiDirect.cs index 0535cbf..fa9af63 100644 --- a/SettingWiFiDirect/SettingWiFiDirect/controller/WiFiDirect.cs +++ b/SettingWiFiDirect/SettingWiFiDirect/controller/WiFiDirect.cs @@ -216,6 +216,21 @@ namespace SettingWiFiDirect return WiFiDirectManager.Name; } + static public bool StopDiscovery() + { + Debug("+"); + try + { + WiFiDirectManager.CancelDiscovery(); + } + catch (Exception e) + { + Error("Error: " + e.Message + "\n" + e.StackTrace); + return false; + } + return true; + } + } internal class WFDStateChangedEventArgs