private void MoveMessageReaderByPos(int id) { if (textToSpeech.IsSpeaking) { textToSpeech.Stop(); } if (id <= maxPos - 1 && id >= 0) { if (id == maxPos - 1) { var btnNext = FindViewById <Button>(Resource.Id.btnNextEmailReader); btnNext.Enabled = false; } else { var btnNext = FindViewById <Button>(Resource.Id.btnNextEmailReader); btnNext.Enabled = true; } if (id >= 0) { var btnPrev = FindViewById <Button>(Resource.Id.btnPrevEmailReader); btnPrev.Enabled = true; } else { var btnPrev = FindViewById <Button>(Resource.Id.btnPrevEmailReader); btnPrev.Enabled = false; } //DBManagerHelper dbmgr = new DBManagerHelper(this); DatabaseUpdates tblEmail = new DatabaseUpdates(); List <EmailObject> eListAdapt = tblEmail.EmailOBJ(); EmailObject emlObj = eListAdapt[id]; emlFrom = emlObj.From; //Intent.GetStringExtra("emlFrom") ?? "From Data not available"; emlDate = emlObj.date.ToString(); //Intent.GetStringExtra("emlDate") ?? "Date Data not available"; emlCC = emlObj.CC; //Intent.GetStringExtra("emlCC") ?? "CC Data not available"; emlSubject = emlObj.Subject; //Intent.GetStringExtra("emlSubject") ?? "Subject Data not available"; emlBody = emlObj.Body; //Intent.GetStringExtra("emlBody") ?? "Body Data not available"; curPos = id; //Intent.GetIntExtra("curPos", 0); var tvFrom = FindViewById <TextView>(Resource.Id.tvFromEmailReaer); tvFrom.Text = emlFrom; var tvCC = FindViewById <TextView>(Resource.Id.tvCCEmailReader); tvCC.Text = emlCC; var tvSubject = FindViewById <TextView>(Resource.Id.tvSubjectEmailReader); tvSubject.Text = emlSubject; var tvBody = FindViewById <TextView>(Resource.Id.tvBodyEmailReader); tvBody.Text = emlBody; } }
private void RetrieveDBMail() { EmailsToRead = ""; DBManagerHelper dbmgr = new DBManagerHelper(this); DatabaseUpdates tblEmail = new DatabaseUpdates(); var eListAdapt = new EmailListAdapter(this, tblEmail.EmailOBJ()); eListAdapt.NotifyDataSetChanged(); var emailListView = FindViewById <ListView>(Resource.Id.lvEmailList); emailListView.Adapter = eListAdapt; }
protected override void OnActivityResult(int req, Result res, Intent data) { var tvPreviewCommand = FindViewById <TextView>(Resource.Id.tvPreviewCommand); //STTtextBox = FindViewById<TextView>(Resource.Id.etxtCommand); if (req == NeedLang) { // we need a new language installed var installTTS = new Intent(); installTTS.SetAction(TextToSpeech.Engine.ActionInstallTtsData); StartActivity(installTTS); } else if (req == VOICE) { if (res == Result.Ok) { var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults); if (matches.Count != 0) { //string textInput = STTtextBox.Text + matches[0]; string textInput = matches[0]; // limit the output to 500 characters if (textInput.Length > 500) { textInput = textInput.Substring(0, 500); } tvPreviewCommand.Text = textInput; STTtextBox.Text = textInput; //put logic transfer here. compare keywords then redirect to next activity. if (textInput.ToLower() == "one" || textInput.ToLower() == "1" || textInput.ToLower() == "call" || textInput.ToLower() == "dial") { //start activity here. StartActivity(typeof(Activities.PhoneCallActivity)); } else if (textInput.ToLower() == "two" || textInput.ToLower() == "2" || textInput.ToLower() == "message" || textInput.ToLower() == "SMS") { StartActivity(typeof(Activities.MessageActivity)); } else if (textInput.ToLower() == "four" || textInput.ToLower() == "4" || textInput.ToLower() == "email" || textInput.ToLower() == "mail") { StartActivity(typeof(Activities.EmailActivity)); } else if (textInput.ToLower() == "read email" || textInput.ToLower() == "5" || textInput.ToLower() == "five") { var progressDialog = ProgressDialog.Show(this, "Please wait...", "Connecting to GDSS Mail Server", true); progressDialog.SetProgressStyle(ProgressDialogStyle.Spinner); new Thread(new ThreadStart(delegate { //LOAD METHOD TO GET ACCOUNT INFO RunOnUiThread(() => { Toast.MakeText(this, "Email Sync: Connecting to Server", ToastLength.Long).Show(); }); RunOnUiThread(() => RetrievePOP3Mail()); //RetrievePOP3Mail(); RunOnUiThread(() => { Toast.MakeText(this, "Email Sync: Successful", ToastLength.Long).Show(); }); //RunOnUiThread(() => { DatabaseUpdates tblEmail = new DatabaseUpdates(); List <EmailObject> EmailObjectList = tblEmail.EmailOBJ(); int emailListCount = 0; EmailObject item = EmailObjectList[emailListCount]; var actEmailReader = new Intent(this, typeof(EmailReaderActivity)); actEmailReader.PutExtra("emlFrom", item.From); actEmailReader.PutExtra("emlCC", item.CC); actEmailReader.PutExtra("emlDate", item.date.ToString()); actEmailReader.PutExtra("emlSubject", item.Subject); actEmailReader.PutExtra("emlBody", item.Body); actEmailReader.PutExtra("curPos", emailListCount); actEmailReader.PutExtra("maxPos", EmailObjectList.Count()); actEmailReader.PutExtra("autoRead", 1); actEmailReader.SetFlags(ActivityFlags.ReorderToFront); StartActivity(actEmailReader); //}); //HIDE PROGRESS DIALOG RunOnUiThread(() => progressDialog.Hide()); })).Start(); } else if (textInput.ToLower() == "read message" || textInput.ToLower() == "read messages" || textInput.ToLower() == "3" || textInput.ToLower() == "three") { var progressDialog = ProgressDialog.Show(this, "Please wait...", "Fetching Messages", true); progressDialog.SetProgressStyle(ProgressDialogStyle.Spinner); new Thread(new ThreadStart(delegate { //LOAD METHOD TO GET ACCOUNT INFO RunOnUiThread(() => { Toast.MakeText(this, "SMS Sync: Fetching Messages", ToastLength.Long).Show(); }); RunOnUiThread(() => { Toast.MakeText(this, "SMS Sync: Successful", ToastLength.Long).Show(); }); //RunOnUiThread(() => { var cursor = Application.Context.ContentResolver.Query(Telephony.Sms.Inbox.ContentUri, null, null, null, null); var actSMSReader = new Intent(this, typeof(MessageReaderActivity)); cursor.MoveToFirst(); var ID = cursor.GetString(cursor.GetColumnIndex(Telephony.Sms.Inbox.InterfaceConsts.Id)); string From = cursor.GetString(cursor.GetColumnIndex(Telephony.Sms.Inbox.InterfaceConsts.Address)).ToString(); string messageVal = cursor.GetString(cursor.GetColumnIndex(Telephony.Sms.Inbox.InterfaceConsts.Body)).ToString(); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified); var Dateval = epoch.AddMilliseconds(cursor.GetLong(cursor.GetColumnIndex(Telephony.Sms.Inbox.InterfaceConsts.Date))).AddHours(10); var currSMS = new MessageObject(ID, From, messageVal, Dateval); actSMSReader.PutExtra("SMSFrom", From); actSMSReader.PutExtra("SMSID", ID); actSMSReader.PutExtra("SMSDate", Dateval.ToString()); actSMSReader.PutExtra("SMSMessage", messageVal); actSMSReader.PutExtra("curPos", 0); actSMSReader.PutExtra("maxPos", cursor.Count - 1); actSMSReader.PutExtra("autoRead", 1); actSMSReader.SetFlags(ActivityFlags.ReorderToFront); cursor.Close(); StartActivity(actSMSReader); //}); //HIDE PROGRESS DIALOG RunOnUiThread(() => progressDialog.Hide()); })).Start(); } else if (textInput.ToLower() == "six" || textInput.ToLower() == "6" || textInput.ToLower() == "assistant" || textInput.ToLower() == "google") { RunOnUiThread(async() => { //Process.KillProcess(Process.MyPid()); var voiceAssistantIntent = new Intent(RecognizerIntent.ActionVoiceSearchHandsFree); voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm); // put a message on the modal dialog voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraPrompt, "Assistant Command"); //Application.Context.GetString(Resource.String)); // if there is more then 1.5s of silence, consider the speech over voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraSpeechInputCompleteSilenceLengthMillis, 3000); voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraSpeechInputPossiblyCompleteSilenceLengthMillis, 3000); voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraSpeechInputMinimumLengthMillis, 3000); voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraMaxResults, 1); voiceAssistantIntent.PutExtra(RecognizerIntent.ExtraLanguage, Java.Util.Locale.Default); voiceAssistantIntent.SetFlags(ActivityFlags.ReorderToFront); try { await Task.Delay(4000); StartActivity(voiceAssistantIntent); } catch (Exception ex) { //Console.WriteLine(ex.Source + "|" + ex.Message); Console.WriteLine(ex.Source + "|" + ex.Message); } }); } else if (textInput.ToLower() == "quit" || textInput.ToLower() == "exit" || textInput.ToLower() == "close") { Process.KillProcess(Process.MyPid()); } else if (textInput.ToLower() == "settings" || textInput.ToLower() == "configuration") { StartActivity(typeof(Activities.ConfigActivity)); } else { SetReadMessage("Unrecognized command. You said: " + textInput); var btnAction = FindViewById <ImageButton>(Resource.Id.imgBtnListen); btnAction.SetImageResource(Resource.Drawable.micread); //@android:drawable/presence_audio_online + Android.Resource.Drawable.PresenceAudioOnline + Android.Resource.Drawable.IcDialogInfo } } else { STTtextBox.Text = "No speech was recognised"; SetReadMessage(STTtextBox.Text); } } } base.OnActivityResult(req, res, data); }