Esempio n. 1
0
        private async void SendClipboardItem()
        {
            if (willSendAfterLimit)
            {
                return;
            }

            try
            {
                var elapsed = (DateTime.UtcNow - lastSendTime);
                if (elapsed < TimeSpan.FromSeconds(11))
                {
                    Debug.WriteLine("Waiting...");
                    willSendAfterLimit = true;
                    await Task.Delay(TimeSpan.FromSeconds(11) - elapsed);

                    willSendAfterLimit = false;
                }

                string text = ViewModel.ClipboardActivities[0].Text;
                Debug.WriteLine("Sending...");

                lastSendTime = DateTime.UtcNow;

                await CloudClipboardService.SendCloudClipboard(Settings.Data.AccountId, text, CurrentDevice.GetDeviceName());
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"SendClipboardItem exception: {ex.Message}");
            }
        }
Esempio n. 2
0
        private async void FetchDevicesList()
        {
            var devices = (await CloudClipboardService.GetDevices(accountId))?.OrderBy(x => x.Name ?? "");

            if (devices == null)
            {
                return;
            }

            foreach (var item in devices)
            {
                if ((item.Name ?? "").ToLower() == CurrentDevice.GetDeviceName().ToLower())
                {
                    currentDeviceId = item.DeviceID;

                    //Don't set the property directly, so we don't send a request with the same value.
                    receiveCloudClipboardOnThisDeviceChecked = item.CloudClipboardEnabled;
                    OnPropertyChanged("ReceiveCloudClipboardOnThisDeviceChecked");

                    ReceiveCloudClipboardOnThisDeviceEnabled = true;
                    continue;
                }

                Devices.Add(new DeviceItem(item.CloudClipboardEnabled)
                {
                    AccountID = item.AccountID,
                    DeviceID  = item.DeviceID,
                    Name      = item.Name,
                    Type      = (item.FormFactor == null) ? DeviceType.Unknown :
                                (item.FormFactor.ToLower() == "phone") ? DeviceType.Phone : DeviceType.PC,
                });
            }
        }
        private async void FetchDevicesList()
        {
            var devices = (await CloudClipboardService.GetDevices(accountId))?.OrderBy(x => x.Name ?? "");

            if (devices == null)
            {
                return;
            }

            foreach (var item in devices)
            {
                if ((item.Name ?? "").ToLower() == (new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation()).FriendlyName.ToLower())
                {
                    continue;
                }

                Devices.Add(new DeviceItem(item));
            }
        }
Esempio n. 4
0
        private async void CheckTrialStatus(bool refreshStatus)
        {
            if ((knowTrialStatus) && (ViewModel.IsTrial))
            {
                UpdateExpireTimeText();

                if (!refreshStatus)
                {
                    return;
                }
            }

            var status = await CloudClipboardService.GetPremiumStatus(Settings.Data.AccountId);

            if (status == null)
            {
                return;
            }

            if (status.State == AccountPremiumState.PremiumTrial)
            {
                ViewModel.IsTrial         = true;
                ViewModel.TrialExpireTime = status.TrialExpireTime;

                TrialExpireNoticeContainer.Visibility = Visibility.Visible;

                UpdateExpireTimeText();
            }
            else
            {
                TrialExpireNoticeContainer.Visibility = Visibility.Collapsed;
                isExpired = false;
            }

            knowTrialStatus = true;
        }
 private async void ActiveChanged(bool value)
 {
     await CloudClipboardService.SetCloudClipboardActivation(AccountID, DeviceID, value);
 }
Esempio n. 6
0
 private async void CurrentDeviceActiveChanged(bool value)
 {
     await CloudClipboardService.SetCloudClipboardActivation(accountId, currentDeviceId, value);
 }