internal static PasswordStrengthEvaluator Create(int n, IProbabilisticPasswordModel model)
        {
            var t = new List <double>(n + 1)
            {
                double.MaxValue
            };

            for (var i = 1; i <= n; ++i)
            {
                var samplePassword    = model.GenerateSamplePassword();
                var sampleProbability = model.CalculateProbability(samplePassword);
                t.Add(sampleProbability);
            }

            var a = new SearchableList <double>(t, DescendingComparer <double> .Instance);

            var c = new List <double>(n + 1)
            {
                0
            };

            for (var i = 1; i <= n; ++i)
            {
                c.Add(c[i - 1] + 1 / (n * a[i]));
            }

            return(new PasswordStrengthEvaluator(model, a, c));
        }
	private object ReadList(JsonReader reader)
	{
		IList<object> list = new SearchableList<object>(); // it is quite unfortunate to have to reimplement all class just because of this one line.
		while (reader.Read())
		{
			switch (reader.TokenType)
			{
				case JsonToken.EndArray:
					return list;
				case JsonToken.Comment:
					continue;
			}
			object item = ReadValue(reader);
			list.Add(item);
		}
		throw new JsonSerializationException("Unexpected end when reading ExpandoObject.");
	}
Example #3
0
            private Foo(IDictionary <char, int> dict)
            {
                Dictionary = dict;

                Count = dict.Values.Sum();

                var list = new int[Chars.Length];

                for (var i = Chars.Length - 1; i >= 0; --i)
                {
                    var item = this[Chars[i]];
                    if (i != Chars.Length - 1)
                    {
                        item += list[i + 1];
                    }
                    list[i] = item;
                }
                SearchableList = new SearchableList <int>(new List <int>(list), DescendingComparer <int> .Instance);
            }
Example #4
0
        public override void LoadContent()
        {
            base.LoadContent();

            Sprite buttonSprite = Resources.GetSprite("button_idle");

            Sprite[] buttonSpriteTab = new Sprite[] { buttonSprite, Resources.GetSprite("button_over"), Resources.GetSprite("button_pressed") };
            font  = Manager.Game.Content.Load <SpriteFont>("Fonts/Hud");
            panel = new Panel(this, new Rectangle(0, 0, Manager.Width, Manager.Height), buttonSprite);

            listControl = new SearchableList(this, new Rectangle(0, 0, 300, 400), buttonSprite, buttonSpriteTab, font)
            {
                Pading = 5
            };
            panel.AddControl("listControl", listControl);
            UpdateDatas();

            submitButton = new Button(this, new Rectangle(0, 405, 100, 20), buttonSpriteTab)
            {
                Text = "Submit"
            };
            panel.AddControl("submitButton", submitButton);
            addButton = new Button(this, new Rectangle(120, 405, 100, 20), buttonSpriteTab)
            {
                Text = "Add"
            };
            panel.AddControl("addButton", addButton);
            removeButton = new Button(this, new Rectangle(240, 405, 100, 20), buttonSpriteTab)
            {
                Text = "Remove"
            };
            panel.AddControl("removeButton", removeButton);
            textureDrawer = new TextureDrawer(this, new Rectangle(305, 0, 200, 200), null);
            panel.AddControl("textureDrawer", textureDrawer);
            panel.Pading = 10;

            Resize(Manager.Game.Viewport.Width, Manager.Game.Viewport.Height);
        }
 internal PasswordStrengthEvaluator(IProbabilisticPasswordModel model, SearchableList <double> a, IReadOnlyList <double> c)
 {
     _model = model;
     _a     = a;
     _c     = c;
 }
Example #6
0
 public PlaylistTrackAdapter(SearchableList <Song> tracks)
 {
     this.tracks = tracks;
     cursor      = null;
 }
Example #7
0
        async Task PopulateList()
        {
            if (item.LocalID == -1 && item.YoutubeID == null && adapter?.tracks.Count == 0)
            {
                return;
            }

            if (item.LocalID != -1)
            {
                if (await MainActivity.instance.GetReadPermission() == false)
                {
                    MainActivity.instance.FindViewById(Resource.Id.loading).Visibility = ViewStates.Gone;
                    return;
                }

                adapter = new PlaylistTrackAdapter();
                ListView.SetAdapter(adapter);

                Android.Support.V7.Widget.Helper.ItemTouchHelper.Callback callback = new ItemTouchCallback(adapter, false);
                itemTouchHelper = new Android.Support.V7.Widget.Helper.ItemTouchHelper(callback);
                itemTouchHelper.AttachToRecyclerView(ListView);

                LoaderManager.GetInstance(this).InitLoader(0, null, this);
            }
            else if (item.YoutubeID != null)
            {
                fullyLoadded = false;
                SearchableList <Song> tracks = new SearchableList <Song>();
                adapter = new PlaylistTrackAdapter(tracks);
                ListView.SetAdapter(adapter);

                Android.Support.V7.Widget.Helper.ItemTouchHelper.Callback callback = new ItemTouchCallback(adapter, false);
                itemTouchHelper = new Android.Support.V7.Widget.Helper.ItemTouchHelper(callback);
                itemTouchHelper.AttachToRecyclerView(ListView);

                try
                {
                    var ytPlaylistRequest = YoutubeManager.YoutubeService.PlaylistItems.List("snippet, contentDetails");
                    ytPlaylistRequest.PlaylistId = item.YoutubeID;
                    ytPlaylistRequest.MaxResults = 50;

                    var ytPlaylist = await ytPlaylistRequest.ExecuteAsync();

                    foreach (var item in ytPlaylist.Items)
                    {
                        if (item.Snippet.Title != "[Deleted video]" && item.Snippet.Title != "Private video" && item.Snippet.Title != "Deleted video")
                        {
                            Song song = new Song(item.Snippet.Title, item.Snippet.ChannelTitle, item.Snippet.Thumbnails.High.Url, item.ContentDetails.VideoId, -1, -1, item.ContentDetails.VideoId, true, false)
                            {
                                TrackID   = item.Id,
                                ChannelID = item.Snippet.ChannelId
                            };
                            tracks.Add(song);
                        }
                    }

                    nextPageToken = ytPlaylist.NextPageToken;
                    if (nextPageToken == null)
                    {
                        fullyLoadded = true;
                    }

                    tracks.Invalidate();
                    adapter.NotifyDataSetChanged();

                    if (item?.ImageURL == null)
                    {
                        Picasso.With(Android.App.Application.Context).Load(tracks[0].Album).Placeholder(Resource.Drawable.noAlbum).Transform(new RemoveBlackBorder(true)).Into(Activity.FindViewById <ImageView>(Resource.Id.headerArt));
                    }
                }
                catch (System.Net.Http.HttpRequestException) { }
            }
            else if (adapter?.tracks.Count != 0)
            {
                ListView.SetAdapter(adapter);
            }
        }
        public override void LoadContent()
        {
            base.LoadContent();

            Sprite buttonSprite = Resources.GetSprite("button_idle");

            Sprite[] buttonSpriteTab = new Sprite[] { buttonSprite, Resources.GetSprite("button_over"), Resources.GetSprite("button_pressed") };
            font  = Manager.Game.Content.Load <SpriteFont>("Fonts/Hud");
            panel = new Panel(this, new Rectangle(0, 0, Manager.Width, Manager.Height), buttonSprite);

            spriteLib = new SearchableList(this, new Rectangle(0, 0, 200, 400), buttonSprite, buttonSpriteTab, font)
            {
                Pading = 5
            };
            panel.AddControl("spriteLib", spriteLib);
            foreach (KeyValuePair <string, Sprite> pair in Resources.Sprites)
            {
                spriteLib.AddToList(pair.Key);
            }

            spriteSelected = new SearchableList(this, new Rectangle(400, 0, 200, 300), buttonSprite, buttonSpriteTab, font)
            {
                Pading = 5
            };
            panel.AddControl("spriteSelected", spriteSelected);

            textureDrawerLib = new TextureDrawer(this, new Rectangle(200, 0, 200, 200), null);
            panel.AddControl("textureDrawerLib", textureDrawerLib);

            textureDrawerSelected = new TextureDrawer(this, new Rectangle(600, 0, 200, 200), null);
            panel.AddControl("textureDrawerSelected", textureDrawerSelected);

            submitButton = new Button(this, new Rectangle(0, 410, 100, 20), buttonSpriteTab)
            {
                Text = "Submit"
            };
            panel.AddControl("submitButton", submitButton);

            addAnimationButton = new Button(this, new Rectangle(350, 410, 100, 20), buttonSpriteTab)
            {
                Text = "Add Animation"
            };
            panel.AddControl("addSpriteButton", addAnimationButton);

            toLeftButton = new Button(this, new Rectangle(285, 255, 30, 30), buttonSpriteTab)
            {
                Text = " <-"
            };
            panel.AddControl("toLeftButton", toLeftButton);

            toRightButton = new Button(this, new Rectangle(285, 220, 30, 30), buttonSpriteTab)
            {
                Text = " ->"
            };
            panel.AddControl("toRightButton", toRightButton);

            toUpButton = new Button(this, new Rectangle(340, 220, 30, 30), buttonSpriteTab)
            {
                Text = "Up"
            };
            panel.AddControl("toUpButton", toUpButton);

            toDownButton = new Button(this, new Rectangle(340, 255, 30, 30), buttonSpriteTab)
            {
                Text = "Down"
            };
            panel.AddControl("toDownButton", toDownButton);

            frameTimeLabel = new TextBlock(this, new Vector2(400, 305), "FrameTime :");
            panel.AddControl("frameTimeLabel", frameTimeLabel);

            frameTimeTextBox = new TextBox(this, new Rectangle(520, 305, 80, 20), buttonSpriteTab);
            panel.AddControl("frameTimeText", frameTimeTextBox);

            panel.AddControl("effectButtonLabel", new TextBlock(this, new Vector2(400, 325), "Effect :"));
            effectButton = new ListButton(this, new Rectangle(470, 325, 130, 20), buttonSprite, new List <string>()
            {
                "None", "FlipVertically", "FlipHorizontally", "FlipBoth"
            });
            panel.AddControl("effectButton", effectButton);

            addSpriteText = new TextBox(this, new Rectangle(210, 410, 140, 20), buttonSpriteTab);
            panel.AddControl("addSpriteText", addSpriteText);

            panel.Pading = 10;
            Resize(Manager.Game.Viewport.Width, Manager.Game.Viewport.Height);
        }