//================================================================================
        // ILayerChangeEventListener methods
        //================================================================================

        public void OnChangeEvent(LayerChangeEvent @event)
        {
            //You can choose to handle changes to conversations or messages however you'd like:
            IList <LayerChange> changes = @event.Changes;

            for (int i = 0; i < changes.Count; i++)
            {
                LayerChange change = changes[i];
                if (change.ObjectType == LayerObjectType.Conversation)
                {
                    Conversation conversation = change.GetObject <Conversation>();
                    Log.Verbose(TAG, "Conversation " + conversation.Id + " attribute " +
                                change.AttributeName + " was changed from " + change.OldValue +
                                " to " + change.NewValue);

                    if (LayerChange.Type.Insert == change.ChangeType)
                    {
                    }
                    else if (LayerChange.Type.Update == change.ChangeType)
                    {
                    }
                    else if (LayerChange.Type.Delete == change.ChangeType)
                    {
                    }
                }
                else if (change.ObjectType == LayerObjectType.Message)
                {
                    IMessage message = change.GetObject <IMessage>();
                    Log.Verbose(TAG, "Message " + message.Id + " attribute " + change
                                .AttributeName + " was changed from " + change.OldValue +
                                " to " + change.NewValue);

                    if (LayerChange.Type.Insert == change.ChangeType)
                    {
                    }
                    else if (LayerChange.Type.Update == change.ChangeType)
                    {
                    }
                    else if (LayerChange.Type.Delete == change.ChangeType)
                    {
                    }
                }
            }

            //If we don't have an active conversation, grab the oldest one
            if (activeConversation == null)
            {
                activeConversation = _GetConversation();
            }

            //If anything in the conversation changes, re-draw it in the GUI
            _DrawConversation();

            //Check the meta-data for color changes
            _GetTopBarMetaData();
        }
Example #2
0
 public void OnChangeEvent(LayerChangeEvent layerChangeEvent)
 {
     Refresh();
 }