public SubscriptionsPageViewModel([NotNull] INavigationService navigationService,
			[NotNull] ApiClient apiClient,
			[NotNull] AppSettingsService settingsService,
			[NotNull] TelemetryClient telemetryClient,
			[NotNull] TileManager tileManager,
			[NotNull] LocalStorageManager localStorageManager,
			[NotNull] SubscriptionsManager subscriptionsManager,
			[NotNull] NetworkManager networkManager)
		{
			if (navigationService == null) throw new ArgumentNullException("navigationService");
			if (apiClient == null) throw new ArgumentNullException("apiClient");
			if (settingsService == null) throw new ArgumentNullException("settingsService");
			if (telemetryClient == null) throw new ArgumentNullException("telemetryClient");
			if (tileManager == null) throw new ArgumentNullException("tileManager");
			if (localStorageManager == null) throw new ArgumentNullException("localStorageManager");
			if (subscriptionsManager == null) throw new ArgumentNullException("subscriptionsManager");
			if (networkManager == null) throw new ArgumentNullException("networkManager");

			_navigationService = navigationService;
			_apiClient = apiClient;
			_settingsService = settingsService;
			_telemetryClient = telemetryClient;
			_tileManager = tileManager;
			_localStorageManager = localStorageManager;
			_subscriptionsManager = subscriptionsManager;
			_networkManager = networkManager;

			_dispatcher = CoreWindow.GetForCurrentThread().Dispatcher;

			Application.Current.Resuming += Application_Resuming;
			_networkManager.NetworkChanged += _networkManager_NetworkChanged;
		}
		public StreamPageViewModel([NotNull] ApiClient apiClient,
			[NotNull] INavigationService navigationService,
			[NotNull] TelemetryClient telemetryClient,
			[NotNull] TagsManager tagsManager,
			[NotNull] AppSettingsService settingsService,
			[NotNull] SavedStreamManager savedStreamManager,
			[NotNull] LocalStorageManager localStorageManager,
			[NotNull] NetworkManager networkManager)
		{
			if (apiClient == null) throw new ArgumentNullException("apiClient");
			if (navigationService == null) throw new ArgumentNullException("navigationService");
			if (telemetryClient == null) throw new ArgumentNullException("telemetryClient");
			if (tagsManager == null) throw new ArgumentNullException("tagsManager");
			if (settingsService == null) throw new ArgumentNullException("settingsService");
			if (savedStreamManager == null) throw new ArgumentNullException("savedStreamManager");
			if (localStorageManager == null) throw new ArgumentNullException("localStorageManager");
			if (networkManager == null) throw new ArgumentNullException("networkManager");

			_apiClient = apiClient;
			_navigationService = navigationService;
			_telemetryClient = telemetryClient;
			_tagsManager = tagsManager;
			_savedStreamManager = savedStreamManager;
			_localStorageManager = localStorageManager;
			_networkManager = networkManager;

			_showNewestFirst = settingsService.ShowNewestFirst;
			_autoMarkAsRead = settingsService.AutoMarkAsRead;
			_preloadItemCount = settingsService.PreloadItemCount;

			DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
			dataTransferManager.DataRequested += dataTransferManager_DataRequested;

			_dispatcher = CoreWindow.GetForCurrentThread().Dispatcher;

			_networkManager.NetworkChanged += _networkManager_NetworkChanged;
		}