Пример #1
0
        /// <summary>
        /// Devicesのスキャンを開始する
        /// </summary>
        /// <returns>The scanning for devices.</returns>
        public async Task BeginScanningForDevices()
        {
            discoveredDevices.Clear();
            isScanning = true;
            if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
            {
                adapter.StartLeScan(this);
            }
            else
            {
                adapter.BluetoothLeScanner.StartScan(leCallback);
            }

            await Task.Delay(scanTimeout);

            if (isScanning)
            {
                SaveDataUtility.SaveArray("scaned", discoveredDevices);
                if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
                {
                    adapter.StopLeScan(this);
                }
                else
                {
                    adapter.BluetoothLeScanner.StopScan(leCallback);
                }
                ScanTimeoutElapsed(this, new EventArgs());
            }
        }
Пример #2
0
        private async Task RunStoreProcess()
        {
            if (IsStoring)
            {
                return;
            }

            IsStoring = true;

            try
            {
                foreach (string directory in Directory.GetDirectories(SaveDataUtility.SaveDataPath, "*", SearchOption.TopDirectoryOnly))
                {
                    var filename = Path.GetFileName(directory) + ".zip";

                    Status = string.Format("Storing {0}...", Path.GetFileNameWithoutExtension(filename));

                    Stream archiveStream = await SaveDataUtility.GetSaveDataArchive(directory);

                    await cloudStorage.Upload("/" + filename, archiveStream);
                }

                Status = "Store done";
            }
            catch (Exception ex)
            {
                Status = "Error: " + ex.Message;
            }
            finally
            {
                IsStoring = false;
            }
        }
Пример #3
0
 public MemoTechViewModel()
 {
     if (SaveDataUtility.CheckData(stateKey))
     {
         buttonState = (State)SaveDataUtility.Load <int>(stateKey);
     }
     else
     {
         buttonState = State.Start;
     }
 }
Пример #4
0
 /// <summary>
 /// Deviecesのスキャンを終了する
 /// </summary>
 public void StopScanningForDevices()
 {
     SaveDataUtility.SaveArray(saveKey, discoveredDevices);
     isScanning = false;
     if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
     {
         adapter.StopLeScan(this);
     }
     else
     {
         adapter.BluetoothLeScanner.StopScan(leCallback);
     }
 }
Пример #5
0
        public State MainButton()
        {
            switch (buttonState)
            {
            case State.Start:
                buttonState = State.Share;
                break;

            case State.Share:
                buttonState = State.Start;
                break;
            }
            var cast = (int)buttonState;

            SaveDataUtility.Save(stateKey, cast);
            return(buttonState);
        }
Пример #6
0
        private async Task RunRestoreProcess()
        {
            if (IsRestoring)
            {
                return;
            }

            IsRestoring = true;

            try
            {
                Status = "Backing up local save data...";

                await SaveDataUtility.BackupLocalSaveData();

                Status = "Retrieving save data list...";

                string[] files = await cloudStorage.ListFiles();

                if (files.Length == 0)
                {
                    Status = "No save data";
                    return;
                }

                foreach (string filename in files)
                {
                    Status = string.Format("Restoring {0}...", Path.GetFileNameWithoutExtension(filename));

                    Stream archiveStream = await cloudStorage.Download(filename);

                    await SaveDataUtility.ExtractSaveDataArchive(archiveStream);
                }

                Status = "Restore done";
            }
            catch (Exception ex)
            {
                Status = "Error: " + ex.Message;
            }
            finally
            {
                IsRestoring = false;
            }
        }