BaconographyPortable.ViewModel.LinkViewModel.LinkViewModel C# (CSharp) Method

LinkViewModel() public method

public LinkViewModel ( Thing linkThing, IBaconProvider baconProvider, bool wasStreamed = null ) : BaconographyPortable.Common
linkThing Thing
baconProvider IBaconProvider
wasStreamed bool
return BaconographyPortable.Common
        public LinkViewModel(Thing linkThing, IBaconProvider baconProvider, bool? wasStreamed = null)
        {
            _linkThing = new TypedThing<Link>(linkThing);
            _baconProvider = baconProvider;
            _redditService = _baconProvider.GetService<IRedditService>();
            _navigationService = _baconProvider.GetService<INavigationService>();
            _imagesService = _baconProvider.GetService<IImagesService>();
            _dynamicViewLocator = _baconProvider.GetService<IDynamicViewLocator>();
            _settingsService = _baconProvider.GetService<ISettingsService>();
            _isPreviewShown = false;
			_isExtendedOptionsShown = false;
            _loading = false;
            _registeredLongNav = false;
            ShowPreview = new RelayCommand(() => IsPreviewShown = !IsPreviewShown);
			ShowExtendedOptions = new RelayCommand(() => IsExtendedOptionsShown = !IsExtendedOptionsShown);
            WasStreamed = wasStreamed ?? false;

            ContentIsFocused = !WasStreamed;

            if (Url != null)
            {
                if (_imagesService.MightHaveImagesFromUrl(Url) && !Url.EndsWith(".jpg") && !Url.EndsWith(".gif") && !Url.EndsWith(".png"))
                {
                    MessengerInstance.Register<LongNavigationMessage>(this, OnLongNav);
                    _registeredLongNav = true;
                }
            }
        }