private void OnObjectThumbnailClicked ( object sender, EventArgs arguments ) { PortableBaseObject selectedObject = null; try { ImageView objectThumbnail = (ImageView)sender; string correlationTag = objectThumbnail.GetCorrelationTag(); selectedObject = PortableObjectRepository <Activity> .GetObjectByCorrelationTag ( correlationTag ); } catch (Exception exception) { AndroidCrapApplication.ApplicationLogger.LogError(exception); throw; } if (selectedObject != null) { EditObject(selectedObject); } }
public void AddObject ( PortableBaseObject sourceObject ) { _sourceObjects.Add(sourceObject); }
public static void PushPendingObject ( PortableBaseObject pendingObject ) { _pendingObjects.Enqueue(pendingObject); }
public static PortableBaseObject PopPendingObject() { PortableBaseObject pendingObject = (_pendingObjects.Count > 0) ? _pendingObjects.Dequeue() : null; return(pendingObject); }
public void AddPendingObject ( PortableBaseObject pendingObject ) { var objectRenderer = (PortableSyncRenderer <Context>)pendingObject; _objectRenderers.Add(objectRenderer); }
public static void EditObject ( this Activity thisActivity, PortableBaseObject editedObject ) { var syncRenderer = (PortableSyncRenderer <Context>)editedObject; syncRenderer.EditObject(thisActivity, deviceOrientation: 0); }
public static PortableBaseObject GetObjectByCorrelationTag ( string correlationTag ) { PortableBaseObject foundObject = _cachedObjects.FirstOrDefault ( cachedObject => { PortableCorrelatedEntity correlatedEntity = cachedObject; return(correlatedEntity.CorrelationTag == correlationTag); } ); return(foundObject); }
private void OnSlideThumbnailClicked ( object sender, EventArgs arguments ) { PortableBaseObject selectedObject = null; try { ImageView slideThumbnail = (ImageView)sender; FrameLayout backgroundFrame = slideThumbnail.GetParentView <FrameLayout>(); FrameLayout innerFrame = backgroundFrame.GetParentView <FrameLayout>(); FrameLayout outerFrame = innerFrame.GetParentView <FrameLayout>(); ViewGroup sourceView = outerFrame.GetParentView <ViewGroup>(); int itemPosition = (int)sourceView.Tag; KeyValuePair <PortableBaseSource, int> selectedSource = this[itemPosition]; PortableBaseSource objectSource = selectedSource.Key; int objectIndex = selectedSource.Value; selectedObject = objectSource.SourceObjects[objectIndex]; } catch (Exception exception) { AndroidCrapApplication.ApplicationLogger.LogError(exception); throw; } if (selectedObject != null) { EditObject(selectedObject); } }
protected override void OnResume() { bool initializeAdapter = ((BrowseViewState == null) || (PortableObjectRepository <Activity> .HasUnreadSourceChanges)); if (initializeAdapter) { List <ObjectItem> objectRenderers; try { objectRenderers = PortableObjectRepository <Activity> .GetEnabledObjects <ObjectItem>() .ToList(); } catch (Exception exception) { IsHandlingException = true; base.OnResume(); AndroidCrapApplication.ShowExceptionAndExit(this, exception); return; } _objectViewAdapter = new AndroidBrowseObjectsAdapter ( RunOnUiThread, (viewGroup) => { try { return(LayoutInflater.Inflate(ItemLayoutResource, viewGroup, attachToRoot: false)); } catch (Exception exception) { throw exception; } }, () => { return(BrowseFooterFragment.GetScaleType()); }, (scaleType) => BrowseFooterFragment.SetScaleType(scaleType), () => { return(Resources); }, LoadingResource, this.EditObject, objectRenderers, getString: (resource) => GetString(resource), onCorrupt: (imageException, imageView) => { this.HandleCorruptObject ( imageException, imageView, getCount: () => { return(CorruptMesssageCount); }, setCount: (currentMassageCount) => { CorruptMesssageCount = currentMassageCount; } ); } ); } base.OnResume(); AbstractBrowseView.ItemClick -= ObjectItemClicked; AbstractBrowseView.ItemClick += ObjectItemClicked; bool isDataChanged = false; PortableBaseObject pendingObject = PortableObjectRepository <Activity> .PopPendingObject(); while (pendingObject != null) { _objectViewAdapter.AddPendingObject(pendingObject); isDataChanged = true; pendingObject = PortableObjectRepository <Activity> .PopPendingObject(); } if (isDataChanged) { _objectViewAdapter.NotifyDataSetChanged(); } }