protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Bundle itemBundle = this.Intent.GetBundleExtra("currentUserBundle"); current_user = itemBundle.GetString("username") ?? "pos"; age = itemBundle.GetInt("age", 40); weight = itemBundle.GetInt("weight", 90); height = itemBundle.GetInt("height", 200); BMI = weight / (height * weight); // Creating instance of NotificationJandler NotificationHandler.Initialize(60, 30); notifyHandler = NotificationHandler.getInstance(); //Layout related SetContentView(Resource.Layout.activity_user_page); txtStatus = (TextView)FindViewById(Id.txtStatus); txtStep = (TextView)FindViewById(Id.txtStep); currentHB = (TextView)FindViewById(Id.bpm); btnStop = (Button)FindViewById(Id.btnStop); btnConsent = (Button)FindViewById(Id.btnConsent); modeBtn = (Button)FindViewById(Id.modeBtn); dateBtn = (Button)FindViewById(Id.dateBtn); fromDatePckr = (DatePicker)FindViewById(Id.fromDatePicker); toDatePckr = (DatePicker)FindViewById(Id.toDatePicker); statistics = (TextView)FindViewById(Id.statistics); DatePickerInit(fromDatePckr); DatePickerInit(toDatePckr); chartView = FindViewById<Microcharts.Droid.ChartView>(Resource.Id.chartView); chartViewPie = FindViewById<Microcharts.Droid.ChartView>(Resource.Id.chartViewPie); historyChartView = FindViewById<Microcharts.Droid.ChartView>(Resource.Id.HistorychartView); //set UI elements Default Visiblity txtStep.Visibility = ViewStates.Visible; btnConsent.Visibility = ViewStates.Visible; vfromDatePckr = ViewStates.Visible; vtoDatePckr = ViewStates.Visible; vdateBtn = ViewStates.Visible; vhistoryChartView = ViewStates.Gone; vstatistics = ViewStates.Gone; vchartViewPie = ViewStates.Visible; reference = new WeakReference<Activity>(this); //used to declared as "final" in java mHeartRateEventListener = new HeartRateEventListener(this); new HeartRateConsentTask(this).Execute(reference); btnStop.Click += async (sender, e) => { try { client.SensorManager.UnregisterHeartRateEventListener(mHeartRateEventListener); } catch (BandIOException be) { appendToUI(be.Message); } }; btnConsent.Click += async (sender, e) => { try { new HeartRateConsentTask(this).Execute(reference); } catch (BandIOException be) { appendToUI(be.Message); } }; new RetrieveSingleTableEntry(this).Execute(current_user, Variance, Variance, storageConnectionString); new RetrieveSingleTableEntry(this).Execute(current_user, Average, Average, storageConnectionString); new RetrieveSingleTableEntry(this).Execute(current_user, Total_count, Total_count, storageConnectionString); dateBtn.Click += async (sender, e) => { try { if (dateBtn.Text.Equals(GetString(Resource.String.render))) { new DisplayRangeOfEntries(this).Execute(current_user, "PartitionKey", Convert.ToDateTime(fromDatePckr.DateTime.ToString()).ToString(dateFormat_day), "PartitionKey", Convert.ToDateTime(toDatePckr.DateTime.ToString()).ToString(dateFormat_day), storageConnectionString); //if retrieval is succesful, the graph visibility will change to visible and dateBtn mode to clean } else { historyChartView.Chart = null; historyChartView.Visibility = ViewStates.Gone; fromDatePckr.Visibility = ViewStates.Visible; toDatePckr.Visibility = ViewStates.Visible; dateBtn.Text = GetString(Resource.String.render); } } catch (System.Exception se) { appendToUI(se.Message); } }; modeBtn.Click += async (sender, e) => { try { if (modeBtn.Text.Equals(GetString(Resource.String.history_view))) { //save current live view UI element's visiblity mode vtxtStep = txtStep.Visibility; vtxtStatus = txtStatus.Visibility; vbtnConsent = btnConsent.Visibility; vchartView = chartView.Visibility; vchartViewPie = chartViewPie.Visibility; vcurrentHB = currentHB.Visibility; //hide live view UI elements txtStep.Visibility = ViewStates.Gone; txtStatus.Visibility = ViewStates.Gone; btnConsent.Visibility = ViewStates.Gone; chartView.Visibility = ViewStates.Gone; chartViewPie.Visibility = ViewStates.Gone; currentHB.Visibility = ViewStates.Gone; liveUpdate = false; //make history view UI elements visible (if they were before) historyChartView.Visibility = vhistoryChartView; fromDatePckr.Visibility = vfromDatePckr; toDatePckr.Visibility = vtoDatePckr; dateBtn.Visibility = vdateBtn; statistics.Visibility = ViewStates.Visible; modeBtn.Text = GetString(Resource.String.live_view); } else //go back to live view { //save current history view UI element's visiblity mode vfromDatePckr = fromDatePckr.Visibility; vtoDatePckr = toDatePckr.Visibility; vdateBtn = dateBtn.Visibility; vhistoryChartView = historyChartView.Visibility; //hide history view UI elements fromDatePckr.Visibility = ViewStates.Gone; toDatePckr.Visibility = ViewStates.Gone; dateBtn.Visibility = ViewStates.Gone; historyChartView.Visibility = ViewStates.Gone; //make live view UI elements visible txtStep.Visibility = vtxtStep; txtStatus.Visibility = vtxtStatus; currentHB.Visibility = vcurrentHB; btnConsent.Visibility = vbtnConsent; chartView.Visibility = vchartView; chartViewPie.Visibility = vchartView; statistics.Visibility = ViewStates.Gone; liveUpdate = true; modeBtn.Text = GetString(Resource.String.history_view); } } catch (System.Exception se) { appendToUI(se.Message); } }; }