protected internal override void OnMessageReceived(ConversationMessage message)
        {
            BrowseRequestMessage brMessage = message as BrowseRequestMessage;

            if (brMessage != null)
            {
                if (respondMessage == null ||
                    !respondMessage.browserId.Equals(brMessage.browserId))
                {
                    #region comment
                    //TODO 如果是安卓又该如何处理?首先需要搞清楚这是在分类浏览,还是在浏览目录,如果是在浏览目录,这个代码可用
                    //如果是在分类浏览,那么需要去数据库中查询,并返回列表。

                    //如果安卓做分类浏览,那么分类浏览中有没有子目录的概念?有的图库中有多个相册,是如何处理的?多个相册看起来像是文件夹的概念。

                    //TODO 新拍摄的图片之类的,没有立即存储到MediaStore,如何处理?
                    //TODO 如果有生成并缓存缩略图,那些缩略图要被MediaStore忽略才行。

                    //http://blog.csdn.net/yhcelebrite/article/details/11714925
                    //http://blog.csdn.net/bgc525725278/article/details/8131657
                    #endregion

                    if (work != null && work.IsBusy)
                    {
                        work.CancelAsync();
                    }
                    var browseList = Env.Instance.GetBrowseList(brMessage.path);
                    respondMessage           = new BrowseResponseMessage();
                    respondMessage.browserId = brMessage.browserId;
                    respondMessage.Items     = browseList;
                    respondMessage.path      = brMessage.path;
                    PostMessage(respondMessage);
                }

                return;
            }

            ThumbnailRequestMessage thumbRequestMessage = message as ThumbnailRequestMessage;
            if (thumbRequestMessage != null)
            {
                work = new BackgroundWorker()
                {
                    WorkerSupportsCancellation = true
                };
                work.DoWork += Work_DoWork;
                work.RunWorkerAsync(thumbRequestMessage);

                return;
            }
        }
Exemple #2
0
 public void GetThumbnail(string itemID)
 {
     if (breponseMessage != null &&
         breponseMessage.Items.Exists(item => itemID.Equals(item.ID)))
     {
         List <string> list = new List <string>();
         list.Add(itemID);
         thumbMessage = new ThumbnailRequestMessage()
         {
             itemIDList = list
         };
         PostMessage(thumbMessage);
     }
 }
Exemple #3
0
 public void GetThumbnail(List <string> ItemIDList)
 {
     if (breponseMessage != null && ItemIDList != null)
     {
         List <string> list = new List <string>();
         foreach (var itemID in ItemIDList)
         {
             if (breponseMessage.Items.Exists(item => itemID.Equals(item.ID)))
             {
                 list.Add(itemID);
             }
         }
         if (list.Count > 0)
         {
             thumbMessage = new ThumbnailRequestMessage()
             {
                 itemIDList = list
             };
             PostMessage(thumbMessage);
         }
     }
 }