Ejemplo n.º 1
0
        public IAsyncOperation <ContentDialogBaseResult> ShowAsync(TLMessagesStickerSet parameter, ItemClickEventHandler callback)
        {
            ViewModel.IsLoading  = false;
            ViewModel.StickerSet = parameter.Set;
            ViewModel.Items.ReplaceWith(parameter.Documents);

            return(ShowAsync());
        }
Ejemplo n.º 2
0
        public void Archive(TLStickerSet set)
        {
            var set32 = set as TLStickerSet32;

            if (set32 == null)
            {
                return;
            }

            var inputStickerSet = new TLInputStickerSetId {
                Id = set32.Id, AccessHash = set32.AccessHash
            };

            IsWorking = true;
            MTProtoService.InstallStickerSetAsync(inputStickerSet, TLBool.True,
                                                  result => BeginOnUIThread(() =>
            {
                IsWorking      = false;
                set32.Archived = true;
                Items.Remove(set32);

                var allStickers43 = StateService.GetAllStickers() as TLAllStickers43;
                TLMessagesStickerSet messagesSet = null;
                if (allStickers43 != null)
                {
                    messagesSet = TLUtils.RemoveStickerSet(allStickers43, set32);
                    StateService.SaveAllStickersAsync(allStickers43);
                }

                if (messagesSet != null)
                {
                    var archivedStickers = StateService.GetArchivedStickers();
                    if (archivedStickers != null)
                    {
                        TLUtils.AddStickerSetCovered(archivedStickers, messagesSet, archivedStickers.SetsCovered, new TLStickerSetCovered {
                            Cover = messagesSet.Documents.FirstOrDefault() ?? new TLDocumentEmpty {
                                Id = new TLLong(0)
                            }, StickerSet = messagesSet.Set
                        });
                        archivedStickers.Count.Value = archivedStickers.Sets.Count;

                        UpdateArchivedSetsString(archivedStickers.Count.Value);

                        StateService.SaveArchivedStickersAsync(archivedStickers);
                    }
                }

                //EventAggregator.Publish(new UpdateStickerSetsEventArgs(allStickers43));
            }),
                                                  error => BeginOnUIThread(() =>
            {
                IsWorking = false;
                Execute.ShowDebugMessage("messages.installStickerSet error " + error);
            }));
        }
Ejemplo n.º 3
0
        private void ReorderExecute(TLMessagesStickerSet set)
        {
            var stickers = _stickersService.GetStickerSets(_type);
            var index    = Items.IndexOf(set);
            var old      = stickers.IndexOf(set);

            if (old != index)
            {
                stickers.Remove(set);
                stickers.Insert(index, set);

                _needReorder = true;
            }
        }
Ejemplo n.º 4
0
        public DialogStickersViewModel(IMTProtoService protoService, ICacheService cacheService, ITelegramEventAggregator aggregator, IStickersService stickersService)
            : base(protoService, cacheService, aggregator)
        {
            _stickersService = stickersService;

            _favedSet = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = Strings.Android.FavoriteStickers,
                    ShortName = "tg/favedStickers"
                }
            };

            _recentSet = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = Strings.Android.RecentStickers,
                    ShortName = "tg/recentlyUsed"
                }
            };

            _groupSet = new TLChannelStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = Strings.Android.GroupStickers,
                    ShortName = "tg/groupStickers",
                },
            };

            Aggregator.Subscribe(this);

            SavedGifs        = new MvxObservableCollection <IList <MosaicMediaPosition> >();
            FeaturedStickers = new MvxObservableCollection <TLFeaturedStickerSet>();
            SavedStickers    = new StickerSetCollection();

            SyncStickers();
            SyncGifs();

            InstallCommand = new RelayCommand <TLFeaturedStickerSet>(InstallExecute);
        }
        public DialogStickersViewModel(IMTProtoService protoService, ICacheService cacheService, ITelegramEventAggregator aggregator, IStickersService stickersService)
            : base(protoService, cacheService, aggregator)
        {
            _stickersService = stickersService;

            _favedSet = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = "Favorites",
                    ShortName = "tg/favedStickers"
                }
            };

            _recentSet = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = "Frequently used",
                    ShortName = "tg/recentlyUsed"
                }
            };

            _groupSet = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = "Group stickers",
                    ShortName = "tg/groupStickers",
                },
            };

            Aggregator.Subscribe(this);

            SavedGifs        = new MvxObservableCollection <TLDocument>();
            FeaturedStickers = new MvxObservableCollection <TLFeaturedStickerSet>();
            SavedStickers    = new StickerSetCollection();

            SyncStickers();
            SyncGifs();
        }
Ejemplo n.º 6
0
        public DialogStickersViewModel(IMTProtoService protoService, ICacheService cacheService, ITelegramEventAggregator aggregator, IStickersService stickersService)
            : base(protoService, cacheService, aggregator)
        {
            _stickersService = stickersService;
            _stickersService.RecentsDidLoaded          += OnRecentsDidLoaded;
            _stickersService.StickersDidLoaded         += OnStickersDidLoaded;
            _stickersService.FeaturedStickersDidLoaded += OnFeaturedStickersDidLoaded;

            _frequentlyUsed = new TLMessagesStickerSet
            {
                Set = new TLStickerSet
                {
                    Title     = "Frequently used",
                    ShortName = "tg/recentlyUsed"
                }
            };

            SavedGifs        = new MvxObservableCollection <TLDocument>();
            FeaturedStickers = new MvxObservableCollection <TLFeaturedStickerSet>();
            SavedStickers    = new MvxObservableCollection <TLMessagesStickerSet>();

            SyncStickers();
            SyncGifs();
        }
Ejemplo n.º 7
0
 public IAsyncOperation <ContentDialogBaseResult> ShowAsync(TLMessagesStickerSet parameter)
 {
     return(ShowAsync(parameter, null));
 }