private void CheckLocalGoogleDrive() { new Thread(() => { Thread.CurrentThread.IsBackground = true; stopCheck = false; MainProgram.DoDebug("Starting loop to check for Google Drive folder locally"); while (backgroundCheckerServiceName == "googledrive" && MainProgram.GetGoogleDriveFolder() == String.Empty && !stopCheck) { Thread.Sleep(1000); } if (stopCheck) { stopCheck = false; return; } if (backgroundCheckerServiceName == "googledrive") { //Cloud service has been installed since we last checked! MainProgram.DoDebug("Google Drive has been added to local PC. Proceed."); theWebBrowser.Invoke(new Action(() => { theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] { true, false }); })); } else { MainProgram.DoDebug("Service has since been changed. Stopping the search for Google Drive."); } }).Start(); }
public void CloudServiceChosen(string service = "") { switch (service) { case "dropbox": case "onedrive": case "googledrive": backgroundCheckerServiceName = service; break; default: return; } if (MainProgram.GetCloudServicePath(backgroundCheckerServiceName) != "") { //Cloud service found MainProgram.DoDebug("Cloud service " + backgroundCheckerServiceName + " is installed"); if (backgroundCheckerServiceName == "googledrive") { bool partial = MainProgram.GetGoogleDriveFolder() != String.Empty; if (theWebBrowser != null) { if (theWebBrowser.Handle != null) { theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] { true, partial }); } } if (partial) { CheckLocalGoogleDrive(); } } else { if (theWebBrowser != null) { if (theWebBrowser.Handle != null) { theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[1] { true }); } } } } else { //Not found new Thread(() => { Thread.CurrentThread.IsBackground = true; string checkValue = ""; stopCheck = false; MainProgram.DoDebug("Could not find cloud service. Running loop to check"); while (checkValue == "" && !stopCheck) { checkValue = MainProgram.GetCloudServicePath(backgroundCheckerServiceName); Thread.Sleep(1000); } if (stopCheck) { stopCheck = false; return; } //Cloud service has been installed since we last checked! MainProgram.DoDebug("Cloud service has been installed since last check. Proceed."); if (theWebBrowser != null) { if (theWebBrowser.Handle != null) { theWebBrowser.Invoke(new Action(() => { if (backgroundCheckerServiceName == "googledrive") { bool partial = MainProgram.GetGoogleDriveFolder() != String.Empty; theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] { true, partial }); if (partial) { CheckLocalGoogleDrive(); } } else { theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[1] { true }); } })); } } }).Start(); } }