ronantakizawa/codereview-bench huggingface dataset:
Repository: dotnet/maui
File: src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs (C#)

Code before:
			}

			_tapGesture = new UITapGestureRecognizer(() =>
			{
				UpdatePresented(false, true);
			});

			if (FlyoutOverlapsDetailsInPopoverMode)
				_tapGesture.ShouldReceiveTouch = shouldReceive;

			_clickOffView.AddGestureRecognizer(_tapGesture);

			PackContainers();
			UpdateFlyoutPageContainers();

			UpdateBackground();

			UpdatePanGesture();
			UpdateApplyShadow(((FlyoutPage)Element).OnThisPlatform().GetApplyShadow());
			UpdatePageSpecifics();
		}

		public override void ViewWillTransitionToSize(CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
		{
			base.ViewWillTransitionToSize(toSize, coordinator);
			if (!OperatingSystem.IsMacCatalyst())
			{
				if (FlyoutOverlapsDetailsInPopoverMode)
				{
					if (FlyoutPageController.ShouldShowSplitMode)
						UpdatePresented(true);
					else
						UpdatePresented(false);
				}
				else
				{
					if (!FlyoutPageController.ShouldShowSplitMode && _presented)
						UpdatePresented(false);
				}
			}

			UpdateLeftBarButton();
		}

		void UpdatePresented(bool newValue, bool animated = false)
		{
			if (Presented == newValue)
			{
				UpdateClickOffView();
				return;
			}

Review comment (suggestion):
The Flyout state will also be maintained when resizing the window for example with this change. What is the behavior on Windows? While the change seems fine to me, I do think the behavior should be aligned between platforms.

Code after:
			}

			_tapGesture = new UITapGestureRecognizer(() =>
			{
				UpdatePresented(false, true);
			});

			if (FlyoutOverlapsDetailsInPopoverMode)
				_tapGesture.ShouldReceiveTouch = shouldReceive;

			_clickOffView.AddGestureRecognizer(_tapGesture);

			PackContainers();
			UpdateFlyoutPageContainers();

			UpdateBackground();

			UpdatePanGesture();
			UpdateApplyShadow(((FlyoutPage)Element).OnThisPlatform().GetApplyShadow());
			UpdatePageSpecifics();
		}

		public override void ViewWillTransitionToSize(CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
		{
			base.ViewWillTransitionToSize(toSize, coordinator);
			if (!OperatingSystem.IsMacCatalyst())
			{
				bool shouldShowSplitMode = FlyoutPageController.ShouldShowSplitMode;
				if (FlyoutOverlapsDetailsInPopoverMode)
				{
					UpdatePresented(shouldShowSplitMode);
				}
				else if (!shouldShowSplitMode && _presented)
				{
					UpdatePresented(false);
				}
			}

			UpdateLeftBarButton();
		}

		void UpdatePresented(bool newValue, bool animated = false)
		{
			if (Presented == newValue)
			{
				UpdateClickOffView();
				return;
			}

			if (!newValue && FlyoutPageController.ShouldShowSplitMode)
			{
Repository: dotnet/maui
File: src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs (C#)

Code before:
			{
				UpdatePresented(false, true);
			});

			if (FlyoutOverlapsDetailsInPopoverMode)
				_tapGesture.ShouldReceiveTouch = shouldReceive;

			_clickOffView.AddGestureRecognizer(_tapGesture);

			PackContainers();
			UpdateFlyoutPageContainers();

			UpdateBackground();

			UpdatePanGesture();
			UpdateApplyShadow(((FlyoutPage)Element).OnThisPlatform().GetApplyShadow());
			UpdatePageSpecifics();
		}

		public override void ViewWillTransitionToSize(CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
		{
			base.ViewWillTransitionToSize(toSize, coordinator);
			if (!OperatingSystem.IsMacCatalyst())
			{
				if (FlyoutOverlapsDetailsInPopoverMode)
				{
					if (FlyoutPageController.ShouldShowSplitMode)
						UpdatePresented(true);
					else
						UpdatePresented(false);
				}
				else
				{
					if (!FlyoutPageController.ShouldShowSplitMode && _presented)
						UpdatePresented(false);
				}
			}

			UpdateLeftBarButton();
		}

		void UpdatePresented(bool newValue, bool animated = false)
		{
			if (Presented == newValue)
			{
				UpdateClickOffView();
				return;
			}

			if (!newValue && FlyoutPageController.ShouldShowSplitMode)
			{

Review comment (refactor):
Can simplify it and improve readability with some changes:

```
bool shouldShowSplitMode = FlyoutPageController.ShouldShowSplitMode;

if (FlyoutOverlapsDetailsInPopoverMode)
{
    UpdatePresented(shouldShowSplitMode);
}
else if (!shouldShowSplitMode && _presented)
{
    UpdatePresented(false);
}
```

Simplified the nested if statements by combining conditions and using an else if block, in addition to determined the value to pass to UpdatePresented with a boolean variable.

Code after:
			{
				UpdatePresented(false, true);
			});

			if (FlyoutOverlapsDetailsInPopoverMode)
				_tapGesture.ShouldReceiveTouch = shouldReceive;

			_clickOffView.AddGestureRecognizer(_tapGesture);

			PackContainers();
			UpdateFlyoutPageContainers();

			UpdateBackground();

			UpdatePanGesture();
			UpdateApplyShadow(((FlyoutPage)Element).OnThisPlatform().GetApplyShadow());
			UpdatePageSpecifics();
		}

		public override void ViewWillTransitionToSize(CoreGraphics.CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
		{
			base.ViewWillTransitionToSize(toSize, coordinator);
			if (!OperatingSystem.IsMacCatalyst())
			{
				bool shouldShowSplitMode = FlyoutPageController.ShouldShowSplitMode;
				if (FlyoutOverlapsDetailsInPopoverMode)
				{
					UpdatePresented(shouldShowSplitMode);
				}
				else if (!shouldShowSplitMode && _presented)
				{
					UpdatePresented(false);
				}
			}

			UpdateLeftBarButton();
		}

		void UpdatePresented(bool newValue, bool animated = false)
		{
			if (Presented == newValue)
			{
				UpdateClickOffView();
				return;
			}

			if (!newValue && FlyoutPageController.ShouldShowSplitMode)
			{
				return;
			}
Repository: dotnet/maui
File: src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue5161.cs (C#)

Code before:
using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.TestCases.Tests.Issues;
public class Issue5161:_IssuesUITest
{
public Issue5161(TestDevice testDevice) : base(testDevice)
		{
		}

		public override string Issue => "ShellContent IsEnabledProperty does not work"; 

        [Test]
		[Category(UITestCategories.Shell)]
		public void CheckIsEnabled()
		{
			App.WaitForElement("ThirdTab");
            App.Tap("ThirdTab");
			App.WaitForElement("ThirdPageLabel");
			App.Tap("SecondTab");
            App.WaitForNoElement("SecondPageLabel");
			App.Tap("EnableSecondTab");
			App.Tap("SecondTab");
			App.WaitForElement("SecondPageLabel");
		}
}


Review comment (suggestion):
```suggestion
	public Issue5161(TestDevice testDevice) : base(testDevice)
```

Code after:
using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.TestCases.Tests.Issues;

public class Issue5161 : _IssuesUITest
{
	public Issue5161(TestDevice testDevice) : base(testDevice)
	{
	}

	public override string Issue => "ShellContent IsEnabledProperty does not work";

	[Test]
	[Category(UITestCategories.Shell)]
	public void CheckIsEnabled()
	{
		App.WaitForElement("ThirdTab");
		App.Tap("ThirdTab");
		App.WaitForElement("ThirdPageLabel");
		App.Tap("SecondTab");
		App.WaitForNoElement("SecondPageLabel");
		App.Tap("EnableSecondTab");
		App.Tap("SecondTab");
		App.WaitForElement("SecondPageLabel");
	}
}
Repository: dotnet/maui
File: src/Controls/src/Core/Handlers/Shell/ShellItemHandler.Windows.cs (C#)

Code before:
			if (_currentSearchHandler == null)
				return;

			((ISearchHandlerController)_currentSearchHandler).QueryConfirmed();
		}

		object? CreateSearchHandlerItemsSource()
		{
			if (_currentSearchHandler == null)
				return null;

			var itemsSource = _currentSearchHandler.ItemsSource;
			var itemTemplate = _currentSearchHandler.ItemTemplate;

			if (itemTemplate is not null && itemsSource is not null)
			{
				return TemplatedItemSourceFactory.Create(itemsSource, itemTemplate, _currentSearchHandler,
				null, null, null, MauiContext);
			}
			else
			{
				return itemsSource;
			}
		}

		private void OnShellItemPropertyChanged(object? sender, PropertyChangedEventArgs e)
		{
			if (_mainLevelTabs == null || sender is not BaseShellItem shellItem)
				return;
			for (int i = 0; i < _mainLevelTabs.Count; i++)
			{
				if (_mainLevelTabs[i].Data != sender)
					continue;
				switch (e.PropertyName)
				{
					case nameof(BaseShellItem.IsEnabled):
						_mainLevelTabs[i].IsEnabled = shellItem.IsEnabled;
						break;
					case nameof(BaseShellItem.Title):
						_mainLevelTabs[i].Content = shellItem.Title;
						break;
				}
				return;
			}
		}

		void OnCurrentSearchHandlerPropertyChanged(object? sender, PropertyChangedEventArgs e)
		{
			if (_currentSearchHandler is null)
				return;


Review comment (suggestion):
```suggestion
		void OnShellItemPropertyChanged(object? sender, PropertyChangedEventArgs e)
```

Code after:
							// TODO: Expand search
						}
						else
						{
							// TODO: Collapse search
						}
					}

					UpdateQueryIcon();
				}
				else if (autoSuggestBox is not null)
				{
					// there is no current search handler, so hide the autoSuggestBox
					autoSuggestBox.Visibility = UI.Xaml.Visibility.Collapsed;
				}
			}
		}

		void OnSearchBoxGotFocus(object sender, RoutedEventArgs e)
		{
			_currentSearchHandler?.SetIsFocused(true);
		}

		void OnSearchBoxLostFocus(object sender, RoutedEventArgs e)
		{
			_currentSearchHandler?.SetIsFocused(false);
		}

		void OnSearchBoxTextChanged(Microsoft.UI.Xaml.Controls.AutoSuggestBox sender, Microsoft.UI.Xaml.Controls.AutoSuggestBoxTextChangedEventArgs args)
		{
			if (_currentSearchHandler == null)
				return;

			if (args.Reason != Microsoft.UI.Xaml.Controls.AutoSuggestionBoxTextChangeReason.ProgrammaticChange)
				_currentSearchHandler.Query = sender.Text;
		}

		void OnSearchBoxSuggestionChosen(Microsoft.UI.Xaml.Controls.AutoSuggestBox sender, Microsoft.UI.Xaml.Controls.AutoSuggestBoxSuggestionChosenEventArgs args)
		{
			if (_currentSearchHandler == null)
				return;

			object selectedItem = args.SelectedItem;

			if (selectedItem is ItemTemplateContext itemTemplateContext)
				selectedItem = itemTemplateContext.Item;

			// Currently the search handler on each platform clears out the text when an answer is chosen
			// Ideally we'd have a "TextMemberPath" property that could bind to a property in the item source
			// to indicate what to display
			if (String.IsNullOrEmpty(sender.TextMemberPath))
Repository: dotnet/maui
File: src/Controls/src/Core/Handlers/Shell/ShellItemHandler.Windows.cs (C#)

Code before:
					mauiNavView.AutoSuggestBox.ItemsSource = CreateSearchHandlerItemsSource();
					break;
				case nameof(SearchHandler.Query):
					mauiNavView.AutoSuggestBox.Text = _currentSearchHandler.Query;
					break;
			}
		}

		void UpdateQueryIcon()
		{
			if (PlatformView is not NavigationView mauiNavView)
				return;

			if (_currentSearchHandler != null)
			{
				if (_currentSearchHandler.QueryIcon is FileImageSource fis)
					mauiNavView.AutoSuggestBox.QueryIcon = new BitmapIcon() { UriSource = new Uri("ms-appx:///" + fis.File) };
				else
					mauiNavView.AutoSuggestBox.QueryIcon = new SymbolIcon(Symbol.Find);
			}
		}

		ShellSection? _currentShellSection;

		internal void UpdateTitle()
		{
			MapMenuItems();
		}

		void UpdateCurrentItem()
		{
			if (_currentShellSection == VirtualView.CurrentItem)
				return;

			if (_currentShellSection != null)
			{
				_currentShellSection.PropertyChanged -= OnCurrentShellSectionPropertyChanged;
			}

			_currentShellSection = VirtualView.CurrentItem;

			if (VirtualView.CurrentItem != null)
			{
				_shellSectionHandler ??= (ShellSectionHandler)VirtualView.CurrentItem.ToHandler(MauiContext!);

				if (PlatformView is NavigationView navView &&
					_shellSectionHandler.PlatformView != (FrameworkElement)navView.Content)
				{
					navView.Content = _shellSectionHandler.PlatformView;
				}


Review comment (suggestion):
```suggestion
			if (_mainLevelTabs == null || sender is not BaseShellItem shellItem)
			{
				return;
			}
```

Code after:
		}

		object? CreateSearchHandlerItemsSource()
		{
			if (_currentSearchHandler == null)
				return null;

			var itemsSource = _currentSearchHandler.ItemsSource;
			var itemTemplate = _currentSearchHandler.ItemTemplate;

			if (itemTemplate is not null && itemsSource is not null)
			{
				return TemplatedItemSourceFactory.Create(itemsSource, itemTemplate, _currentSearchHandler,
				null, null, null, MauiContext);
			}
			else
			{
				return itemsSource;
			}
		}

		void OnShellItemPropertyChanged(object? sender, PropertyChangedEventArgs e)
		{
			if (_mainLevelTabs == null || sender is not BaseShellItem shellItem)
			{
				return;
			}

			for (int i = 0; i < _mainLevelTabs.Count; i++)
			{
				if (_mainLevelTabs[i].Data != sender)
				{
					continue;
				}

				switch (e.PropertyName)
				{
					case nameof(BaseShellItem.IsEnabled):
						_mainLevelTabs[i].IsEnabled = shellItem.IsEnabled;
						break;
					case nameof(BaseShellItem.Title):
						_mainLevelTabs[i].Content = shellItem.Title;
						break;
				}
				return;
			}
		}

		void OnCurrentSearchHandlerPropertyChanged(object? sender, PropertyChangedEventArgs e)
		{
			if (_currentSearchHandler is null)
Repository: dotnet/maui
File: src/Controls/tests/TestCases.HostApp/Issues/Issue28208.xaml.cs (C#)

Code before:
﻿using System.ComponentModel;
using System.Globalization;

namespace Maui.Controls.Sample.Issues
{
	[Issue(IssueTracker.Github, 28208, "[Windows] The Slider and Stepper control does not work in One-Way binding mode with a MultiBinding Converter", PlatformAffected.UWP)]
	public partial class Issue28208 : ContentPage
	{
		Issue28208ViewModel _vm;
		public Issue28208()
		{
			InitializeComponent();
			this.BindingContext = _vm = new Issue28208ViewModel();
		}

		private void OnCounterClicked(object sender, EventArgs e)
		{
			if (_vm is not null)
			{
				_vm.Price++;
			}
		}
	}

	public class Issue28208ViewModel : INotifyPropertyChanged
	{
		private double _price = 2;

		public double Price

Review comment (suggestion):
Super-nit: After #28040, you can convert this to file-scope namespace by CTRL+. in Visual Studio (I believe it's the same in VS Code).

If it is converted, then new files will use file-scope namespaces more and more as people IMO copy old files to create new code.

Code after:
﻿using System.ComponentModel;
using System.Globalization;

namespace Maui.Controls.Sample.Issues;
[Issue(IssueTracker.Github, 28208, "[Windows] The Slider and Stepper control does not work in One-Way binding mode with a MultiBinding Converter", PlatformAffected.UWP)]
public partial class Issue28208 : ContentPage
{
	Issue28208ViewModel _vm;
	public Issue28208()
	{
		InitializeComponent();
		this.BindingContext = _vm = new Issue28208ViewModel();
	}

	private void OnCounterClicked(object sender, EventArgs e)
	{
		if (_vm is not null)
		{
			_vm.Price++;
		}
	}
}

public class Issue28208ViewModel : INotifyPropertyChanged
{
	private double _price = 2;

	public double Price
	{
Repository: dotnet/maui
File: src/Essentials/test/DeviceTests/Tests/FileSystem_Tests.cs (C#)

Code before:

			Assert.Equal(contents, text);
		}

		[Fact]
		public async Task OpenAppPackageFileAsync_Throws_If_File_Is_Not_Found()
		{
			await Assert.ThrowsAsync<FileNotFoundException>(() => FileSystem.OpenAppPackageFileAsync("MissingFile.txt")).ConfigureAwait(false);
		}

		[Fact]
		public async Task CheckFileResultWithFilePath()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "Sample content for testing");

			var fileResult = new FileResult(filePath);

			using var stream = await fileResult.OpenReadAsync();

			Assert.NotNull(stream);

			var bytes = new byte[stream.Length];
			_ = await stream.ReadAsync(bytes, 0, (int)stream.Length);

			Assert.True(bytes.Length > 0);
			File.Delete(filePath);
		}
	}
}


Review comment (suggestion):
This caught my attention. Should this be:

```suggestion
			var count = await stream.ReadAsync(bytes, 0, (int)stream.Length);
			Assert.True(count > 0);
```
?

`bytes.Lenght` is always `>0`, or not?

(I did not open the PR in my IDE. Sorry, if I'm confusing things.)

Code after:

			Assert.Equal(contents, text);
		}

		[Fact]
		public async Task OpenAppPackageFileAsync_Throws_If_File_Is_Not_Found()
		{
			await Assert.ThrowsAsync<FileNotFoundException>(() => FileSystem.OpenAppPackageFileAsync("MissingFile.txt")).ConfigureAwait(false);
		}

#if MACCATALYST
		[Fact]
		public async Task ValidateMIMEFormat()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "File Content type is text/plain");

			FileResult fileResult = new FileResult(filePath);
			Assert.Equal("text/plain", fileResult.ContentType);

			File.Delete(filePath);
		}
#endif
		[Fact]
		public async Task CheckFileResultWithFilePath()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "Sample content for testing");

			var fileResult = new FileResult(filePath);

			using var stream = await fileResult.OpenReadAsync();

			Assert.NotNull(stream);

			File.Delete(filePath);
		}

		[Fact]
		public async Task CheckFileResultOpenReadAsyncMultipleTimes()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample_multiple.txt");
			string expectedContent = "Sample content for multiple stream testing";
			await File.WriteAllTextAsync(filePath, expectedContent);

			var fileResult = new FileResult(filePath);

			// First call to OpenReadAsync
			using (var firstStream = await fileResult.OpenReadAsync())
			{
				Assert.NotNull(firstStream);
Repository: dotnet/maui
File: src/Essentials/test/DeviceTests/Tests/FileSystem_Tests.cs (C#)

Code before:
			using var reader = new StreamReader(stream);
			var text = await reader.ReadToEndAsync().ConfigureAwait(false);

			Assert.Equal(contents, text);
		}

		[Fact]
		public async Task OpenAppPackageFileAsync_Throws_If_File_Is_Not_Found()
		{
			await Assert.ThrowsAsync<FileNotFoundException>(() => FileSystem.OpenAppPackageFileAsync("MissingFile.txt")).ConfigureAwait(false);
		}

#if MACCATALYST
		[Fact]
		public async Task ValidateMIMEFormat()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "File Content type is text/plain");

			FileResult fileResult = new FileResult(filePath);
			Assert.Equal("text/plain", fileResult.ContentType);

			File.Delete(filePath);
		}
#endif
		[Fact]
		public async Task CheckFileResultWithFilePath()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "Sample content for testing");

			var fileResult = new FileResult(filePath);

			using var stream = await fileResult.OpenReadAsync();

			Assert.NotNull(stream);

			File.Delete(filePath);
		}
	}
}


Review comment (suggestion):
Could add a test that calls `OpenReadAsync` twice to validate it? Ensures the second call does not regress and that the StorageFile remains usable across multiple streams.

Code after:
			using var reader = new StreamReader(stream);
			var text = await reader.ReadToEndAsync().ConfigureAwait(false);

			Assert.Equal(contents, text);
		}

		[Fact]
		public async Task OpenAppPackageFileAsync_Throws_If_File_Is_Not_Found()
		{
			await Assert.ThrowsAsync<FileNotFoundException>(() => FileSystem.OpenAppPackageFileAsync("MissingFile.txt")).ConfigureAwait(false);
		}

#if MACCATALYST
		[Fact]
		public async Task ValidateMIMEFormat()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "File Content type is text/plain");

			FileResult fileResult = new FileResult(filePath);
			Assert.Equal("text/plain", fileResult.ContentType);

			File.Delete(filePath);
		}
#endif
		[Fact]
		public async Task CheckFileResultWithFilePath()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.txt");
			await File.WriteAllTextAsync(filePath, "Sample content for testing");

			var fileResult = new FileResult(filePath);

			using var stream = await fileResult.OpenReadAsync();

			Assert.NotNull(stream);

			File.Delete(filePath);
		}

		[Fact]
		public async Task CheckFileResultOpenReadAsyncMultipleTimes()
		{
			string filePath = Path.Combine(FileSystem.CacheDirectory, "sample_multiple.txt");
			string expectedContent = "Sample content for multiple stream testing";
			await File.WriteAllTextAsync(filePath, expectedContent);

			var fileResult = new FileResult(filePath);

			// First call to OpenReadAsync
			using (var firstStream = await fileResult.OpenReadAsync())
Repository: dotnet/maui
File: src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue25558.cs (C#)

Code before:
﻿using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.TestCases.Tests.Issues
{
	public class Issue25558 : _IssuesUITest
	{
		public override string Issue => "ImageButton dosen't scale Image correctly";

		public Issue25558(TestDevice device) : base(device)
		{
		}

		[Test]
		[Category(UITestCategories.ImageButton)]
		public void Issue25558VerifyImageButtonAspects()
		{
			App.WaitForElement("imageButton");
			VerifyScreenshot();
		}
	}
}

Review comment (suggestion):
Super-nit: After #28040, you can convert this to file-scope namespace by CTRL+. in Visual Studio (I believe it's the same in VS Code).

If it is converted, then new files will use file-scope namespaces more and more as people IMO copy old files to create new code.

Code after:
﻿using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.TestCases.Tests.Issues;

public class Issue25558 : _IssuesUITest
{
	public override string Issue => "ImageButton does not scale Image correctly";

	public Issue25558(TestDevice device) : base(device)
	{
	}

	[Test]
	[Category(UITestCategories.ImageButton)]
	public void Issue25558VerifyImageButtonAspects()
	{
		App.WaitForElement("imageButton");
		VerifyScreenshot();
	}
}