private void handleOrientationChanged(object sender, OrientationChangedEventArgs e) { if (e.Orientation == DeviceOrientations.Portrait) { quitClipLoading(); RaiseContentViewUpdateEvent?.Invoke( this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.PopAsync) ); } }
private async void onEventDetailsBackButtonTapped(object sender, EventArgs e) { await Task.Factory.StartNew(() => RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Buffering))); await Task.Factory.StartNew(() => RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Pop))); await Task.Factory.StartNew(() => RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Pop))); CrossDeviceOrientation.Current.LockOrientation(DeviceOrientations.Portrait); }
private void OnContentViewUpdateEvent(object sender, UpdatedContentEventArgs e) { lock (contentViewUpdateLock) { if (e == null || e.ContentUpdateType == EContentUpdateType.Buffering) { addToContentViewStack ( new Tuple <ContentPage, IBindableVM>(currentPageInContentView, currentPageVMInContentView) ); RaiseContentViewUpdateEvent?.Invoke(null, new UpdatedContentEventArgs(EContentUpdateType.Buffering, waitingPage)); } else if (e.ContentUpdateType == EContentUpdateType.Pop) { popFromControlViewStack(); } else if (e.ContentUpdateType == EContentUpdateType.PushAsync) { addToContentViewStack ( new Tuple <ContentPage, IBindableVM>(currentPageInContentView, currentPageVMInContentView) ); try { (e.UpdatedContent as IFocusable).Refocus(); } catch (NullReferenceException ex) { Console.WriteLine(ex.Message); } RaiseContentViewUpdateEvent?.Invoke(null, e); } else if (e.ContentUpdateType == EContentUpdateType.PopAsync) { RaiseContentViewUpdateEvent?.Invoke(null, e); Tuple <ContentPage, IBindableVM> stackTop = contentViewStack.Pop(); try { (stackTop.Item1 as IFocusable).Refocus(); } catch (NullReferenceException ex) { Console.WriteLine(ex.Message); } } else //UpdatedContentEventArgs.EContentUpdateType.Push { currentPageInContentView = e.UpdatedContent; currentPageVMInContentView = e.UpdatedVM; Task.Factory.StartNew(() => { try { (currentPageInContentView as IPopulableView).PopulateView(); } catch (NullReferenceException ex) { Console.WriteLine(ex.Message); } }); RaiseContentViewUpdateEvent?.Invoke(null, e); } } }
private void handleOrientationChanged(object sender, OrientationChangedEventArgs e) { if (e.Orientation == DeviceOrientations.Landscape) { quitClipLoading(); RaiseContentViewUpdateEvent?.Invoke( this, new UpdatedContentEventArgs( UpdatedContentEventArgs.EContentUpdateType.PushAsync, landscapeEventDetailsPage, landscapeEventDetailsPage.BindableViewModel )); } }
private void popFromControlViewStack() { Tuple <ContentPage, IBindableVM> stackTop = contentViewStack.Pop(); if (stackTop != null) { currentPageInContentView = stackTop.Item1; currentPageVMInContentView = stackTop.Item2; RaiseContentViewUpdateEvent?.Invoke(null, new UpdatedContentEventArgs(EContentUpdateType.Pop, currentPageInContentView, currentPageVMInContentView)); } else { throw new Exception("MainPage.PopFromControlViewStack called unexpectedely"); } }
private async void onSensorTapped(object sender, ItemTappedEventArgs e) { RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Buffering)); UpdatedContentEventArgs updatedContentEventArgs = null; CameraEventsPage cameraEventsPageBuf = null; await Task.Factory.StartNew(() => { SensorModel sensorBuffer = e.Item as SensorModel; cameraEventsPageBuf = new CameraEventsPage(sensorBuffer.Sensor); cameraEventsPageBuf.RaiseContentViewUpdateEvent += eventsRouter; updatedContentEventArgs = new UpdatedContentEventArgs( UpdatedContentEventArgs.EContentUpdateType.Push, cameraEventsPageBuf, cameraEventsPageBuf.BindableViewModel); }); RaiseContentViewUpdateEvent?.Invoke(this, updatedContentEventArgs); }
private async void onEventTapped(object sender, ItemTappedEventArgs e) { RaiseContentViewUpdateEvent?.Invoke(this, null); UpdatedContentEventArgs updatedContentEventArgs = null; EventDetailsPage eventDetailsPageBuf = null; await Task.Factory.StartNew(() => { EventModel selectedEvent = e.Item as EventModel; eventDetailsPageBuf = new EventDetailsPage(selectedEvent); eventDetailsPageBuf.RaiseContentViewUpdateEvent += eventsRouter; updatedContentEventArgs = new UpdatedContentEventArgs( UpdatedContentEventArgs.EContentUpdateType.Push, eventDetailsPageBuf, eventDetailsPageBuf.BindableViewModel); }); RaiseContentViewUpdateEvent?.Invoke(this, updatedContentEventArgs); }
private async void onSensorNameTapped(EventModel val) { RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Buffering)); UpdatedContentEventArgs updatedContentEventArgs = null; CameraEventsPage cameraEventsPageBuf = null; Sensor sensorBuffer = val.Sensor; await Task.Factory.StartNew(() => { cameraEventsPageBuf = new CameraEventsPage(sensorBuffer); cameraEventsPageBuf.RaiseContentViewUpdateEvent += eventsRouter; }); await Task.Factory.StartNew(() => updatedContentEventArgs = new UpdatedContentEventArgs( UpdatedContentEventArgs.EContentUpdateType.Push, cameraEventsPageBuf, cameraEventsPageBuf.BindableViewModel )); RaiseContentViewUpdateEvent?.Invoke(this, updatedContentEventArgs); }
private async void cameraEventsListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { RaiseContentViewUpdateEvent?.Invoke(this, null); EventModel selectedSensorEvent = e.SelectedItem as EventModel; UpdatedContentEventArgs updatedContentEventArgs = null; EventDetailsPage eventDetailsPageBuf = null; await Task.Factory.StartNew(() => { eventDetailsPageBuf = new EventDetailsPage(selectedSensorEvent); eventDetailsPageBuf.RaiseContentViewUpdateEvent += eventsRouter; }); await Task.Factory.StartNew(() => updatedContentEventArgs = new UpdatedContentEventArgs( UpdatedContentEventArgs.EContentUpdateType.Push, eventDetailsPageBuf, eventDetailsPageBuf.BindableViewModel )); RaiseContentViewUpdateEvent?.Invoke(this, updatedContentEventArgs); }
private void eventsRouter(object sender, UpdatedContentEventArgs e) { RaiseContentViewUpdateEvent?.Invoke(this, e); }
private void onCameraEventBackButtonTapped(object sender, EventArgs e) { RaiseContentViewUpdateEvent?.Invoke(this, new UpdatedContentEventArgs(UpdatedContentEventArgs.EContentUpdateType.Pop)); }