Repository: files-community/Files
File: src/Files.App/Utils/Cloud/Detector/GoogleDriveCloudDetector.cs (C#)

Code before:

				var folder = await StorageFolder.GetFolderFromPathAsync(path);
				string title = reader["name"]?.ToString() ?? folder.Name;

				App.AppModel.GoogleDrivePath = path;

				StorageFile? iconFile = await GetGoogleDriveIconFileAsync();

#if DEBUG
				Debug.WriteLine("YIELD RETURNING from GoogleDriveCloudDetector#GetProviders (media): ");
				Debug.WriteLine("name=" + title + "; path=" + path);
#endif

				yield return new CloudProvider(CloudProviders.GoogleDrive)
				{
					Name = title,
					SyncFolder = path,
					IconData = iconFile is not null ? await iconFile.ToByteArrayAsync() : null,
				};
			}

#if DEBUG
			await Inspect(database, "SELECT * FROM roots", "root_preferences db, roots table");
			await Inspect(database, "SELECT * FROM media", "root_preferences db, media table");
			await Inspect(database, "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY 1",
				"root_preferences db, all tables");
#endif

			await foreach (var provider in GetGoogleDriveProvidersFromRegistryAsync())
			{

#if DEBUG
				Debug.WriteLine("YIELD RETURNING from GoogleDriveCloudDetector#GetProviders (registry): ");
				Debug.WriteLine("name=" + provider.Name + "; path=" + provider.SyncFolder);
#endif

				yield return provider;
			}
		}

		private async Task Inspect(SqliteConnection database, string sqlCommand, string contentsOf)
		{
			await using var cmdTablesAll =
				new SqliteCommand(sqlCommand, database);
			var reader = await cmdTablesAll.ExecuteReaderAsync();
			var colNamesList = Enumerable.Range(0, reader.FieldCount).Select(j => reader.GetName(j)).ToList();
			var i = 0;
			Debug.WriteLine("BEGIN LOGGING of " + contentsOf + " contents");
			while (reader.Read())
			{
				var colVals = new object[reader.FieldCount];

Review comment (suggestion):
```suggestion
			await Inspect(database, "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY 1", "root_preferences db, all tables");
```


Code after:
				};
			}

			await Inspect(database, "SELECT * FROM roots", "root_preferences db, roots table");
			await Inspect(database, "SELECT * FROM media", "root_preferences db, media table");
			await Inspect(database, "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY 1", "root_preferences db, all tables");

			var registryPath = App.AppModel.GoogleDrivePath;
			if (!AddMyDriveToPathAndValidate(ref registryPath))
				yield break;
			yield return new CloudProvider(CloudProviders.GoogleDrive)
			{
				Name = "Google Drive",
				SyncFolder = registryPath,
				IconData = iconFile is not null ? await iconFile.ToByteArrayAsync() : null
			};
		}

		private static async Task Inspect(SqliteConnection database, string sqlCommand, string targetDescription)
		{
			await using var cmdTablesAll = new SqliteCommand(sqlCommand, database);
			var reader = await cmdTablesAll.ExecuteReaderAsync();
			var colNamesList = Enumerable.Range(0, reader.FieldCount).Select(i => reader.GetName(i)).ToList();

			Debug.WriteLine($"BEGIN LOGGING of {targetDescription}");

			for (int rowIdx = 0; reader.Read() is not false; rowIdx++)
			{
				var colVals = new object[reader.FieldCount];
				reader.GetValues(colVals);

				colVals.Select((val, colIdx) => $"row {rowIdx}: column {colIdx}: {colNamesList[colIdx]}: {val}")
					.ToList().ForEach(s => Debug.WriteLine(s));
			}

			Debug.WriteLine($"END LOGGING of {targetDescription} contents");
		}

		private static JsonDocument? GetGoogleDriveRegValJson()
		{
			// This will be null if the key name is not found.
			using var googleDriveRegKey = Registry.CurrentUser.OpenSubKey(_googleDriveRegKeyName);

			if (googleDriveRegKey is null)
			{
				_logger.LogWarning($"Google Drive registry key for key name '{_googleDriveRegKeyName}' not found.");
				return null;
			}

			var googleDriveRegVal = googleDriveRegKey.GetValue(_googleDriveRegValName);