private CollectionView mScanList;
private Button mScanButton;
bool mNeedScanning;
- public override string ProvideTitle() => NUIGadgetResourceManager.GetString(nameof(Resources.IDS_WIFI_BODY_WI_FI_DIRECT_ABB));
+ public override string ProvideTitle() => GetText(nameof(Resources.IDS_WIFI_BODY_WI_FI_DIRECT_ABB));
protected override void OnCustomizationUpdate(IEnumerable<MenuCustomizationItem> items)
{
mScanButton = new Button()
{
- Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_WIFI_SK_STOP))
+ Text = GetText(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();
protected override View OnCreate()
{
WiFiDirect.WFDStateChanged += OnWFDStateChanged;
- WiFiDirect.WFDStatusChanged += OnConnectionStatusChanged;
Debug("MainPage: " + this.GetHashCode());
base.OnCreate();
{
Debug("+");
WiFiDirect.WFDStateChanged -= OnWFDStateChanged;
- WiFiDirect.WFDStatusChanged -= OnConnectionStatusChanged;
base.OnDestroy();
}
switch (e.State)
{
case WFDState.Discovering:
+ UpdateScanButton(true);
ChangeScanningState(true);
+ WiFiDirect.WFDStatusChanged += OnConnectionStatusChanged;
break;
case WFDState.Activated:
if (mNeedScanning)
{
StartScan();
+ UpdateScanButton(true);
+ ChangeScanningState(true);
}else
{
UpdateDeviceList();
+ UpdateScanButton(true);
ChangeScanningState(false);
}
break;
case WFDState.Connected:
+ UpdateScanButton(false);
ChangeScanningState(false);
ShowConnectedDevice();
break;
case WFDState.Disconnecting:
mNeedScanning = true;
+ mPeerSource.UpdateTitle();
+ WiFiDirect.WFDStatusChanged -= OnConnectionStatusChanged;
break;
//TODO: update for further states.
{
case WiFiDirectConnectionState.ConnectionRequest:
- OnConnectionRequest();
- break;
+ var connectingPeer = WiFiDirect.GetConnectingPeer();
+ if (connectingPeer != null)
+ {
+ Debug("Connecting Peer macAddress : " + connectingPeer.Address);
+ }
+ else
+ {
+ Debug("Connecting Peer is NULL");
+ return;
+ }
+ OnConnectionRequest(connectingPeer);
+ break;
default:
break;
}
-
}
- private void OnConnectionRequest()
+ private void OnConnectionRequest(Peer connectingPeer)
{
try
{
- ConnectionPopup connectionPopup = new ConnectionPopup();
- var page = connectionPopup.ConnectionPopupPage();
+ var page = new ConnectionPopup(connectingPeer);
if (page != null)
{
NUIApplication.GetDefaultWindow().GetDefaultNavigator().Add(page);
- connectionPopup.SetPopupPage(page);
+ page.SetPopupPage(page);
}
else
{
Debug("Discovery started");
mNeedScanning = false;
ChangeScanningState(true);
- mScanButton.Text = GetButtonText();
}
Debug("-");
}
private TextLabel GetHeader()
{
Debug("+");
- string headerString = NUIGadgetResourceManager.GetString(
- nameof(Resources.IDS_WIFI_BODY_YOUR_DEVICE_HPS_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES));
+ string headerString = GetText(nameof(Resources.IDS_WIFI_BODY_YOUR_DEVICE_HPS_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES));
string label = string.Format(headerString, WiFiDirect.getDeviceName());
TextLabel header = new TextLabel(label);
private void StopDiscovery()
{
Debug("+");
+ WiFiDirect.WFDStatusChanged -= OnConnectionStatusChanged;
bool discoveryStopped = WiFiDirect.StopDiscovery();
if (discoveryStopped)
{
Debug("Discovery stopped");
mNeedScanning = false;
ChangeScanningState(false);
- mScanButton.Text = GetButtonText();
}
Debug("-");
}
+
+ private void UpdateScanButton(bool visible)
+ {
+ mScanButton.IsEnabled = visible;
+ if (WiFiDirect.IsDiscoverable())
+ {
+ mScanButton.Text = GetText(nameof(Resources.IDS_WIFI_SK_STOP));
+ }
+ else
+ {
+ mScanButton.Text = GetText(nameof(Resources.IDS_WIFI_SK4_SCAN));
+ }
+ }
+
+ string GetText(string str)
+ {
+ return ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(str);
+ }
}
}
<ItemGroup>
<PackageReference Include="SettingCore" Version="1.0.435" />
- <PackageReference Include="Tizen.NET" Version="13.0.0.18570" />
+ <PackageReference Include="Tizen.NET" Version="13.0.0.18726" />
+ <PackageReference Include="Tizen.NET.API13" Version="13.0.0.18726" />
</ItemGroup>
<ItemGroup>
return true;
}
+ static public Peer GetConnectingPeer()
+ {
+ Debug("+");
+ try
+ {
+ WiFiDirectPeer wfdpeer = WiFiDirectManager.GetConnectingPeer();
+ Peer connectingPeer = CreatePeer(wfdpeer);
+ return connectingPeer;
+ }
+ catch (Exception e)
+ {
+ Error("Error: " + e.Message + "\n" + e.StackTrace);
+ }
+
+ return null;
+ }
+
+ static public void RejectConnection(string macAddress)
+ {
+ Debug("+");
+ try
+ {
+ WiFiDirectManager.RejectConnection(macAddress);
+ }
+ catch (Exception e)
+ {
+ Error("Error: " + e.Message + "\n" + e.StackTrace);
+ }
+ }
+
+ static public void AcceptConnection(string macAddress)
+ {
+ Debug("+");
+ try
+ {
+ WiFiDirectManager.AcceptConnection(macAddress);
+ }
+ catch (Exception e)
+ {
+ Error("Error: " + e.Message + "\n" + e.StackTrace);
+ }
+ }
}
internal class WFDStateChangedEventArgs
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns="http://tizen.org/ns/packages" api-version="7.0"
- package="org.tizen.cssetting-wifi-direct" version="1.0.3"
+ package="org.tizen.cssetting-wifi-direct" version="1.0.4"
res-type="org.tizen.appfw.gadget.setting-wifi-direct" res-version="1.0.0">
<allowed-package id="org.tizen.*">
<required-privileges>
namespace SettingWiFiDirect
{
- internal class ConnectionPopup:ContentPage
+ internal class ConnectionPopup : DialogPage
{
private Timer mTimer;
private Progress mProgress;
- private ContentPage mContentPage = null;
+ private ConnectionPopup mAlertPage = null;
private const int MaxDuration = 120;
+ private Peer mConnectingPeer = null;
- internal ContentPage ConnectionPopupPage()
+ public ConnectionPopup(Peer connectingPeer)
+ {
+ mConnectingPeer = connectingPeer;
+ CreateComponents();
+ }
+
+ internal void CreateComponents()
{
var connectionRequestView = new View()
{
connectionRequestView.Add(item);
int timeout = 120;
- string message = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(
- nameof(Resources.IDS_WIFI_POP_CONNECT_TO_PS_IN_PD_SECONDS));
- string label = string.Format(message, WiFiDirect.getDeviceName(), timeout);
+ string message = GetText(nameof(Resources.IDS_WIFI_POP_CONNECT_TO_PS_IN_PD_SECONDS));
+ string label = string.Format(message, mConnectingPeer.Name, timeout);
var messageItem = new TextLabel(label)
{
var cancelButton = CreateCancelButton();
var okButton = CreateOkButton();
- ContentPage page = new ContentPage()
+ Content = new AlertDialog()
{
- Content = new AlertDialog()
- {
- Title = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(
- nameof(Resources.IDS_WIFI_HEADER_WI_FI_DIRECT_CONNECTION_ABB)),
- Content = connectionRequestView,
- Actions = new View[] { cancelButton, okButton },
- },
+ Title = GetText(nameof(Resources.IDS_WIFI_HEADER_WI_FI_DIRECT_CONNECTION_ABB)),
+ Content = connectionRequestView,
+ Actions = new View[] { cancelButton, okButton },
};
-
- return page;
}
private bool OnTimerTick()
if (mProgress.CurrentValue == MaxDuration)
{
- if (mContentPage != null)
+ if (mAlertPage != null)
{
- NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mContentPage);
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mAlertPage);
}
return false;
}
{
Debug("+");
mTimer.Stop();
- if (mContentPage != null)
+ string macAddress = mConnectingPeer.Address;
+ WiFiDirect.RejectConnection(macAddress);
+ if (mAlertPage != null)
{
- NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mContentPage);
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mAlertPage);
}
}
{
var okButton = new Button()
{
- Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(
- nameof(Resources.IDS_WIFI_SK2_OK)),
+ Text = GetText(nameof(Resources.IDS_WIFI_SK2_OK)),
WidthSpecification = 300,
HeightSpecification = 80,
};
{
var cancelButton = new Button()
{
- Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(
- nameof(Resources.IDS_WIFI_SK_CANCEL)),
+ Text = GetText(nameof(Resources.IDS_WIFI_SK_CANCEL)),
WidthSpecification = 300,
HeightSpecification = 80,
};
private void OnOkConfirmed(object source, ClickedEventArgs args)
{
Debug("+");
- if (mContentPage != null)
+ string macAddress = mConnectingPeer.Address;
+ WiFiDirect.AcceptConnection(macAddress);
+ if (mAlertPage != null)
{
- NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mContentPage);
- } //TODO
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Remove(mAlertPage);
+ }
}
- public void SetPopupPage(ContentPage page)
+ public void SetPopupPage(ConnectionPopup page)
{
Debug("+");
- mContentPage = page;
+ mAlertPage = page;
+ }
+
+ string GetText(string str)
+ {
+ return ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(str);
}
}
}
}
+ public void UpdateTitle()
+ {
+ Debug("+");
+ mPeerCollection.Title = mAvailableGroupTitle;
+ }
+
private void AddConnectedDevice()
{
Debug("+");
Name: org.tizen.setting-wifi-direct
summary: NUI wifi-direct setting application
-Version: 1.0.3
+Version: 1.0.4
Release: 1
Provides: org.tizen.setting-wifi-direct = %{version}-%{release}
Group: Applications/Security