<commit_before>﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Plugin.FilePicker.Abstractions;

namespace UrbanSketchers.Support
{
    /// <summary>
    /// File picker service
    /// </summary>
    public abstract class FilePickerService
    {
        public enum LocationId
        {
            Pictures,
            Models3D
        }

        public enum ViewMode
        {
            List,
            Thumbnail
        }

        public static FilePickerService Current { get; set; }

        public abstract Task<FileData> PickOpenFileAsync(
            LocationId locationId,
            ViewMode viewMode,
            IEnumerable<string> fileTypeFilter);
    }
}<commit_msg>Added comments to file picker service<commit_after>﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Plugin.FilePicker.Abstractions;

namespace UrbanSketchers.Support
{
    /// <summary>
    /// File picker service
    /// </summary>
    public abstract class FilePickerService
    {
        /// <summary>
        /// the location Id
        /// </summary>
        public enum LocationId
        {
            /// <summary>
            /// Pictures folder
            /// </summary>
            Pictures,
            /// <summary>
            /// 3D Models folder
            /// </summary>
            Models3D
        }

        /// <summary>
        /// The view mode
        /// </summary>
        public enum ViewMode
        {
            /// <summary>
            /// List view
            /// </summary>
            List,
            /// <summary>
            /// Thumbnail view
            /// </summary>
            Thumbnail
        }

        /// <summary>
        /// Gets the singleton current file picker service
        /// </summary>
        public static FilePickerService Current { get; set; }

        /// <summary>
        /// Pick a single file
        /// </summary>
        /// <param name="locationId">the starting location Id</param>
        /// <param name="viewMode">the view mode</param>
        /// <param name="fileTypeFilter">the file type filter</param>
        /// <returns>an async task with the file data</returns>
        public abstract Task<FileData> PickOpenFileAsync(
            LocationId locationId,
            ViewMode viewMode,
            IEnumerable<string> fileTypeFilter);
    }
}
{'fraction_non_alphanumeric': 0.10800508259212198, 'fraction_numerical': 0.0012706480304955528, 'mean_word_length': 1.457856399583767, 'pattern_counts': {'":': 0, '<': 35, '<?xml version=': 0, '>': 35, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5214597', 'n_tokens_mistral': 589, 'n_tokens_neox': 578, 'n_words': 154}