예제 #1
0
        private void BackupNow(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Globals.Database.LoadSetting(UserSettings.PhotoBackupPrefix)))
            {
                AutoBackupCell.switch_button.Checked = false;
                Activity.ShowAlert(GetString(Resource.String.cannot_backup), GetString(Resource.String.cannot_set_up_backup_location));
                return;
            }
            var workConstraints = new Constraints.Builder()
                                  .SetRequiredNetworkType(NetworkType.NotRequired).Build();

            AndroidX.Work.Data myData = new AndroidX.Work.Data.Builder().PutBoolean("BackupNow", true).Build();
            var workRequest           = new OneTimeWorkRequest.Builder(typeof(PhotosBackupWorker))
                                        .SetInputData(myData)
                                        .SetConstraints(workConstraints).Build();

            WorkManager.GetInstance(Context).Enqueue(workRequest);
        }
        private void ScheduleTokenSync(string appToken)
        {
            var inputData = new AndroidX.Work.Data.Builder()
                            .PutString(TokenSyncWorker.UserIdParamName, "some id")
                            .PutString(TokenSyncWorker.AppTokenParamName, appToken)
                            .Build();

            var tokenSyncWorkerRequest = new OneTimeWorkRequest.Builder(typeof(TokenSyncWorker))
                                         .SetConstraints(new Constraints.Builder()
                                                         .SetRequiredNetworkType(NetworkType.Connected)
                                                         .Build())
                                         .SetInputData(inputData)
                                         .AddTag(TokenSyncWorker.TAG)
                                         .Build();

            AndroidX.Work.WorkManager.GetInstance(this).BeginUniqueWork(
                TokenSyncWorker.TAG, ExistingWorkPolicy.Replace, tokenSyncWorkerRequest)
            .Enqueue();
        }