From a2d96d298554fb96e9676deccb88812df318d896 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Mon, 22 Jul 2019 07:05:16 -0500 Subject: [PATCH] * Info.plist: * AndroidManifest.xml: Android v1.0.9 / iOS v2.0.9 * ControlPage.xaml.cs: Warn if password or no workspaces --- Droid/Properties/AndroidManifest.xml | 2 +- iOS/Info.plist | 2 +- .../Pages/ControlPage.xaml.cs | 68 ++++++++++++++++--- 3 files changed, 59 insertions(+), 13 deletions(-) diff --git a/Droid/Properties/AndroidManifest.xml b/Droid/Properties/AndroidManifest.xml index ecdf539..198bb19 100644 --- a/Droid/Properties/AndroidManifest.xml +++ b/Droid/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@  - + diff --git a/iOS/Info.plist b/iOS/Info.plist index 64ba5ec..2a956f5 100644 --- a/iOS/Info.plist +++ b/iOS/Info.plist @@ -36,7 +36,7 @@ XSAppIconAssets Assets.xcassets/AppIcon.appiconset CFBundleShortVersionString - 2.0.8 + 2.0.9 CFBundleVersion 1.0 ITSAppUsesNonExemptEncryption diff --git a/qController.Standard/Pages/ControlPage.xaml.cs b/qController.Standard/Pages/ControlPage.xaml.cs index b2ca4e5..81b3221 100644 --- a/qController.Standard/Pages/ControlPage.xaml.cs +++ b/qController.Standard/Pages/ControlPage.xaml.cs @@ -40,12 +40,43 @@ namespace qController Console.WriteLine("ControlPage: MULTIPLE WORKSPACES ON SELECTED COMPUTER"); PromptForWorkspace(args.WorkspaceInfo); } - else + else if (args.WorkspaceInfo.Count == 1) { Console.WriteLine("ControlPage: ONLY ONE WORKSPACE ON SELECTED COMPUTER"); - qController.Connect(args.WorkspaceInfo[0].uniqueID); - Device.BeginInvokeOnMainThread(() => { - FinishUI(); + Console.WriteLine("HasPasscode : " + args.WorkspaceInfo[0].hasPasscode); + if (!args.WorkspaceInfo[0].hasPasscode) + { + qController.Connect(args.WorkspaceInfo[0].uniqueID); + Device.BeginInvokeOnMainThread(() => { + FinishUI(); + }); + } + else + { + UserDialogs.Instance.Confirm(new ConfirmConfig + { + Message = "Woops....I haven't implemented password protected workspaces yet...", + OkText = "Disconnect", + OnAction = (resp) => + { + if (resp) + Back(); + } + }); + } + + } + else + { + UserDialogs.Instance.Confirm(new ConfirmConfig + { + Message = "QLab doesn't have any workspaces open?", + OkText = "Disconnect", + OnAction = (resp) => + { + if (resp) + Back(); + } }); } } @@ -57,13 +88,30 @@ namespace qController for (int i = 0; i < workspaces.Count; i++) { QWorkspaceInfo workspace = workspaces[i]; - config.Add(workspace.displayName, new Action(() => { + config.Add(workspace.displayName, new Action(() => { Console.WriteLine("ControlPage: Workspace Selected " + workspace.displayName); - qController.Connect(workspace.uniqueID); - Device.BeginInvokeOnMainThread(() => + if (!workspace.hasPasscode) { - FinishUI(); - }); + qController.Connect(workspace.uniqueID); + Device.BeginInvokeOnMainThread(() => + { + FinishUI(); + }); + } + else + { + UserDialogs.Instance.Confirm(new ConfirmConfig + { + Message = "Woops....I haven't implemented password protected workspaces yet...", + OkText = "Disconnect", + OnAction = (resp) => + { + if (resp) + Back(); + } + }); + } + })); } UserDialogs.Instance.ActionSheet(config); @@ -184,7 +232,6 @@ namespace qController void Back() { - qController.Disconnect(); qController.Kill(); App.rootPage.MenuItemSelected -= OnMenuItemSelected; Device.BeginInvokeOnMainThread(() => @@ -346,7 +393,6 @@ namespace qController protected override bool OnBackButtonPressed() { - qController.Disconnect(); qController.Kill(); App.rootPage.MenuItemSelected -= OnMenuItemSelected; Device.BeginInvokeOnMainThread(() =>