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);
            }
        }
Esempio n. 2
0
 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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 9
0
        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();
            }
        }