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;
}
}
}