/// <summary> /// called when online sync is disabled /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MenuItem_Unchecked_1(object sender, RoutedEventArgs e) { MenuItem item = sender as MenuItem; bool x = item.IsChecked; uploadCloud.IsEnabled = false; downloadCloud.IsEnabled = false; XmlDataLayer.SetConfigEntry("authentication", "not_done"); XmlDataLayer.SetConfigEntry("sync_online", "disabled"); }
/// <summary> /// called when downloads are enabled /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void downloadCloud_Checked_1(object sender, RoutedEventArgs e) { if (XmlDataLayer.GetConfigEntry("sync_online") == "enabled") { abortDownloadDriveThread(); XmlDataLayer.SetConfigEntry("download_cloud", "enabled"); Thread newThread = new Thread(() => GoogleDriveSync.UploadDownloadNewFiles()); newThread.Start(); } }
/// <summary> /// Main function which authenticates and creates threads for uploads and downloads if they are enabled /// </summary> /// <param name="createThreads"></param> public static void UploadDownloadNewFiles(bool createThreads = true) { if (authProgress) { return; } authProgress = true; DriveService service = getDriveService(); if (service == null) { Thread.Sleep(5 * 60 * 1000); UploadDownloadNewFiles(); return; } File file2 = null, tempFile = null; try { About ab = service.About.Get().Fetch(); string rootId = ab.RootFolderId; file2 = makeDirectoryIfNotExists(service, "PCTrack", rootId); tempFile = makeDirectoryIfNotExists(service, "Temp", file2.Id); } catch (Exception) { XmlDataLayer.SetConfigEntry("authentication", "not_done"); Thread.Sleep(5 * 60 * 1000); UploadDownloadNewFiles(); return; } XmlDataLayer.SetConfigEntry("authentication", "done"); if (createThreads) { try { if (XmlDataLayer.GetConfigEntry("download_cloud") == "enabled") { downloadThread = new Thread(() => DownloadTempFiles(service, tempFile.Id)); downloadThread.Start(); } if (XmlDataLayer.GetConfigEntry("upload_cloud") == "enabled") { uploadThread = new Thread(() => UploadTempFiles(service, tempFile.Id)); uploadThread.Start(); } } catch (Exception) { } } authProgress = false; }
/// <summary> /// called when online sync is enabled /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MenuItem_Checked_1(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; XmlDataLayer.SetConfigEntry("sync_online", "enabled"); string pcId = XmlDataLayer.GetConfigEntry("pc_id"); if (pcId == null) { Random rnd = new Random(); int id = rnd.Next(0, 1000000); XmlDataLayer.SetConfigEntry("pc_id", id.ToString()); } uploadCloud.IsEnabled = true; downloadCloud.IsEnabled = true; if (XmlDataLayer.GetConfigEntry("upload_cloud") == "enabled") { uploadCloud.IsChecked = true; } else { uploadCloud.IsChecked = false; } if (XmlDataLayer.GetConfigEntry("download_cloud") == "enabled") { downloadCloud.IsChecked = true; } else { downloadCloud.IsChecked = false; } Thread newThread = new Thread(() => GoogleDriveSync.UploadDownloadNewFiles()); newThread.Start(); MenuItem item = sender as MenuItem; bool x = item.IsChecked; }
/// <summary> /// called when downloads are disabled /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void downloadCloud_Unchecked_1(object sender, RoutedEventArgs e) { XmlDataLayer.SetConfigEntry("download_cloud", "disabled"); abortDownloadDriveThread(); }