public async Task HandleWork(SMSReaderFilterModel smsReaderFilterModel) { var messageList = new Dependency.SMS.AndoidProcessSMS().GetAllSMS(smsReaderFilterModel); var totalList = messageList.Count(); var counter = 1; //Toast.MakeText(context, string.Format("starting sync task size {0}", totalList), ToastLength.Long); foreach (var item in messageList) { try { await SMSSaverRepository.SaveMessageToDb(item); //if (context != null) // Toast.MakeText(context, string.Format("{0} of {1} completed", counter, totalList), ToastLength.Long); } catch (Exception ex) { //if (context != null) // Toast.MakeText(context, string.Format("{0} of {1} failed", counter, totalList), ToastLength.Long); try { await App.Database.DatabaseConnection.InsertAsync(new FailedSyncSMS { Sorted = false, TextMessage = item.TextMessage, TransactionId = item.TransactionCode, UnixTimeStamp = App.Database.GetUnixTimeStamp(), ErrorMessage = ex.Message }); } catch (Exception) { //do not do shit } } counter++; } }
protected async override void OnHandleWork(Intent intent) { try { var smsMessageModel = JsonConvert.DeserializeObject <SmsMessageModel>(intent.GetStringExtra("smsMessageModel")); if (Android.OS.Build.VERSION.SdkInt < Android.OS.BuildVersionCodes.O) { var tostMessage = string.Format("S:{0} SDK lt 26", smsMessageModel.TransactionCode); //Toast.MakeText(this, tostMessage, ToastLength.Long).Show(); } else { var tostMessage = string.Format("S:{0} SDK gte 27", smsMessageModel.TransactionCode); //Toast.MakeText(this, tostMessage, ToastLength.Long).Show(); } await SMSSaverRepository.SaveMessageToDb(smsMessageModel); } catch (Exception ex) { App.Database.LogException(ex, this.GetType().FullName); } }