From 7592deb0d4b8c531204266afebb361ae3772d07e Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 21 May 2019 10:58:27 +0300 Subject: Fixed issue with WiFi auto connect. --- .../Connectivity/IConnectivityProvider.cs | 2 +- .../PPC/Tango.PPC.Common/PPCSettings.cs | 7 +++- .../Connectivity/DefaultConnectivityProvider.cs | 43 +++++++++++++++------- 3 files changed, 36 insertions(+), 16 deletions(-) (limited to 'Software/Visual_Studio/PPC') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/IConnectivityProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/IConnectivityProvider.cs index 85c25128a..67b73d4f6 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/IConnectivityProvider.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/IConnectivityProvider.cs @@ -71,7 +71,7 @@ namespace Tango.PPC.Common.Connectivity /// /// The network. /// - Task Connect(WiFiNetwork network); + Task Connect(WiFiNetwork network, String password = null); /// /// Disconnects the specified network. diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs index ed3f7f796..e98a03404 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs @@ -33,10 +33,15 @@ namespace Tango.PPC.Common public int MachineScanningTimeoutSeconds { get; set; } /// - /// Gets or sets the name of the name of a WiFi network to automatically connect to when the application starts. + /// Gets or sets the name of the WiFi network to automatically connect to when the application starts. /// public String AutoConnectWiFiName { get; set; } + /// + /// Gets or sets the password of the WiFi network to automatically connect to when the application starts. + /// + public String AutoConnectWiFiPassword { get; set; } + /// /// Gets or sets the embedded COM port if not specified will use auto scanning. /// diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/DefaultConnectivityProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/DefaultConnectivityProvider.cs index e7aff7357..dabfc5893 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/DefaultConnectivityProvider.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/DefaultConnectivityProvider.cs @@ -27,6 +27,7 @@ namespace Tango.PPC.UI.Connectivity private Wifi _wifi; private INotificationProvider _notification; private IMachineProvider _machineProvider; + private Rfc2898Cryptographer _cryptographer; /// /// Occurs when the connectivity provider state has changed (e.g network connected/disconnected). @@ -83,6 +84,8 @@ namespace Tango.PPC.UI.Connectivity /// public DefaultConnectivityProvider(IPPCApplicationManager applicationManager, INotificationProvider notificationProvider, IMachineProvider machineProvider) { + _cryptographer = new Rfc2898Cryptographer(); + _notification = notificationProvider; _machineProvider = machineProvider; @@ -135,7 +138,8 @@ namespace Tango.PPC.UI.Connectivity if (auto_connect_network != null && !auto_connect_network.IsConnected) { - await Connect(auto_connect_network); + auto_connect_network.AutoConnect = true; + await Connect(auto_connect_network, _cryptographer.Decrypt(settings.AutoConnectWiFiPassword)); } }); } @@ -211,36 +215,45 @@ namespace Tango.PPC.UI.Connectivity /// /// The network. /// - public async Task Connect(WiFiNetwork network) + public async Task Connect(WiFiNetwork network, String password = null) { var auth = network.CreateAuthenticationRequest(); bool result = false; - if ((auth.IsPasswordRequired || auth.IsUserNameRequired) && !network.HasProfile) + if (password == null) { - var vm = await _notification.ShowDialog(new WiFiAuthenticationViewVM(auth, network)); - - if (vm.DialogResult) + if ((auth.IsPasswordRequired || auth.IsUserNameRequired) && !network.HasProfile) { - result = await network.Connect(auth, true); + var vm = await _notification.ShowDialog(new WiFiAuthenticationViewVM(auth, network)); - if (!result) + if (vm.DialogResult) { - await _notification.ShowError("Could not connect to the specified network. Please check your password."); - await network.Forget(); - } + result = await network.Connect(auth, true); - await RefreshAvailableWiFiNetworks(); + if (!result) + { + await _notification.ShowError("Could not connect to the specified network. Please check your password."); + await network.Forget(); + } + + await RefreshAvailableWiFiNetworks(); + } + else + { + return false; + } } else { - return false; + result = await network.Connect(auth, false); + await RefreshAvailableWiFiNetworks(); } } else { - result = await network.Connect(auth, false); + auth.Password = password; + result = await network.Connect(auth, true); await RefreshAvailableWiFiNetworks(); } @@ -249,6 +262,7 @@ namespace Tango.PPC.UI.Connectivity OnConnectionStateChanged(true); var settings = SettingsManager.Default.GetOrCreate(); settings.AutoConnectWiFiName = network.AutoConnect ? network.Name : null; + settings.AutoConnectWiFiPassword = _cryptographer.Encrypt(auth.Password); settings.Save(); } @@ -266,6 +280,7 @@ namespace Tango.PPC.UI.Connectivity { var settings = SettingsManager.Default.GetOrCreate(); settings.AutoConnectWiFiName = null; + settings.AutoConnectWiFiPassword = null; settings.Save(); network.AutoConnect = false; network.Disconnect().Wait(); -- cgit v1.3.1 From 8bbf01656894d9b1c3ac27138f49608a862473c2 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 21 May 2019 11:08:21 +0300 Subject: Wifi Connection design changes. --- Software/DB/PPC/Tango.mdf | Bin 75497472 -> 75497472 bytes Software/DB/PPC/Tango_log.ldf | Bin 53673984 -> 53673984 bytes .../AvailableWiFiConnectionsControl.xaml | 4 ++-- .../Connectivity/WiFiAuthenticationView.xaml | 8 ++++---- .../PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) (limited to 'Software/Visual_Studio/PPC') diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf index 146b82571..dd6bb02b9 100644 Binary files a/Software/DB/PPC/Tango.mdf and b/Software/DB/PPC/Tango.mdf differ diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf index 34e912e88..4183eba07 100644 Binary files a/Software/DB/PPC/Tango_log.ldf and b/Software/DB/PPC/Tango_log.ldf differ diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/AvailableWiFiConnectionsControl.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/AvailableWiFiConnectionsControl.xaml index dac37ba10..a8675f843 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/AvailableWiFiConnectionsControl.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/AvailableWiFiConnectionsControl.xaml @@ -64,8 +64,8 @@ Connect automatically - Connect - Disconnect + Connect + Disconnect diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/WiFiAuthenticationView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/WiFiAuthenticationView.xaml index 311c3ce99..d3f6f9e49 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/WiFiAuthenticationView.xaml +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Connectivity/WiFiAuthenticationView.xaml @@ -36,10 +36,10 @@ - - CANCEL - CONNECT - + + CANCEL + CONNECT + diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs index dc9e111f3..5e3394ad6 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Properties/AssemblyInfo.cs @@ -8,4 +8,4 @@ using System.Windows; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Tango PPC Application")] -[assembly: AssemblyVersion("1.0.29.0")] +[assembly: AssemblyVersion("1.0.30.0")] -- cgit v1.3.1 From 053b6d740ab231380ed6dfa06913bec21225ca41 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 21 May 2019 14:41:55 +0300 Subject: Some fixes on SnapMatch. --- Software/Android_Studio/ColorCapture/app/build.gradle | 4 ++-- .../colorcapture/integration/ExternalBridgeScanner.java | 2 +- .../navigation/AndroidNavigationProvider.java | 8 ++++++-- .../colorcapture/views/capture/CaptureFragmentVM.java | 7 +++++++ .../colorcapture/views/capture/ICaptureFragment.java | 2 ++ .../views/sendtomachine/SendToMachineFragmentVM.java | 2 +- .../app/src/main/res/layout/fragment_result.xml | 5 +++-- .../PPC Installer-cache/cacheIndex.txt | Bin 52 -> 52 bytes .../Advanced Installer Projects/PPC Installer.aip | 6 +++--- Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest | 2 +- 10 files changed, 26 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/PPC') diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle index f33a257b3..1fed98dc3 100644 --- a/Software/Android_Studio/ColorCapture/app/build.gradle +++ b/Software/Android_Studio/ColorCapture/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "com.twine.colorcapture" minSdkVersion 22 targetSdkVersion 27 - versionCode 8 - versionName "1.8" + versionCode 9 + versionName "1.9" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/integration/ExternalBridgeScanner.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/integration/ExternalBridgeScanner.java index 9c87987bd..bca334fe6 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/integration/ExternalBridgeScanner.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/integration/ExternalBridgeScanner.java @@ -110,7 +110,7 @@ public class ExternalBridgeScanner if (!stream(machines).any(x -> x.getSerialNumber().equals(discoveryMessage.getSerialNumber()) && x.getIpAddress().equals(address))) { ExternalBridgeMachine newMachine = new ExternalBridgeMachine(address, discoveryMessage.getSerialNumber()); - machines.add(0, newMachine); + machines.add(newMachine); machineDiscoveredEvent.invoke(this, newMachine); } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java index 52c96ca35..ca51b48ff 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java @@ -107,7 +107,10 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga { if (currentFragment != null) { - currentFragment.getVM().notifyNavigatedTo(); + new Handler().postDelayed(() -> + { + currentFragment.getVM().notifyNavigatedTo(); + }, 300); } } @@ -135,7 +138,8 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga { history.clear(); FragmentManager fm = activity.getFragmentManager(); - for(int i = 0; i < fm.getBackStackEntryCount(); ++i) { + for (int i = 0; i < fm.getBackStackEntryCount(); ++i) + { fm.popBackStack(); } } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java index 161fc3579..6e5773e1b 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java @@ -235,6 +235,12 @@ public class CaptureFragmentVM extends ViewModelBase implement samplePixels = new int[definition.getSampleWidth() * definition.getSampleHeight()]; } + @Override + public void onResume() + { + + } + @Override protected void onNavigatedTo() { @@ -271,4 +277,5 @@ public class CaptureFragmentVM extends ViewModelBase implement super.onNavigatedFrom(); view.stopCamera(); } + } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/ICaptureFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/ICaptureFragment.java index 162de4b2e..09fbe7383 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/ICaptureFragment.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/ICaptureFragment.java @@ -21,5 +21,7 @@ public interface ICaptureFragment extends IView void onFrameAvailable(byte[] frame); void onPreviewSettingsAvailable(int previewWidth, int previewHeight); + + void onResume(); } } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java index 9c6d7003e..fe20dae45 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java @@ -77,7 +77,7 @@ public class SendToMachineFragmentVM extends ViewModelBase { - machines.add(0, machine); + machines.add(machine); }); } } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml index 3849397e5..05a0ad216 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml @@ -20,7 +20,7 @@ - + - + @@ -423,7 +423,7 @@ - + diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest index efc5f8179..d72e75011 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest @@ -16,7 +16,7 @@ Remove this element if your application requires this virtualization for backwards compatibility. --> - + -- cgit v1.3.1