public override bool OnOptionsItemSelected(IMenuItem item) { if (item.ItemId == Resource.Id.reset) { steps = 0; calories = 0; speed = 0.0f; distance = 0.0f; tmp = null; chrono.Base = SystemClock.ElapsedRealtime(); refreshTextViews(); } else { if (!run) { sensorsListenerRegister(); if (tmp == null) chrono.Base = SystemClock.ElapsedRealtime(); else chrono.Base += SystemClock.ElapsedRealtime() - tmp.Base; chrono.Start(); run = true; } else { sensorManager.UnregisterListener(this); run = false; chrono.Stop(); tmp = new Chronometer(this); } } return base.OnOptionsItemSelected(item); }
public void OnChronometerTick(Chronometer chronometer) { TimeSpan tim = TimeSpan.FromMilliseconds(SystemClock.ElapsedRealtime() - chrono.Base); timeTextView.Text = chrono.Text; if (tim.Ticks != 0) speedTextView.Text = (distance / 100000 / tim.TotalHours).ToString("0.00"); }
/// <summary> /// Initial function call when activity loads /// </summary> /// <param name="bundle"></param> protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); IsOver = false; // game not over // Set our view from the "main" layout resource SetContentView(Resource.Layout.Game); // Grab UI Componets _mineTable = FindViewById<TableLayout>(Resource.Id.mineTableLayout); MinesRemainingTextView = FindViewById<TextView>(Resource.Id.minesRemaining); Timer = FindViewById<Chronometer>(Resource.Id.chronometer); //var height = int.Parse((FindViewById<EditText>(Resource.Id.editTextHeight)).Text); //var width = int.Parse((FindViewById<EditText>(Resource.Id.editTextWidth)).Text); //var numMines = int.Parse((FindViewById<EditText>(Resource.Id.editTextMines)).Text); var numMines = int.Parse(Intent.GetStringExtra("mines") ?? "5"); var height = int.Parse(Intent.GetStringExtra("height") ?? "11"); var width = int.Parse(Intent.GetStringExtra("width") ?? "6"); NumFlags = numMines; // Create new engine with current game settings _gameEngine = new Engine(height, width, numMines); SetMinesText(); PopulateTable(); _run = true; // Set runner thread to loop _runnerThread = new Thread(new ThreadStart(Runner)); _runnerThread.Start(); // start runner }
public void OnChronometerTick(Chronometer chronometer) { Tick.Invoke(chronometer, System.EventArgs.Empty); }
protected override void OnCreate(Bundle savedInstanceState) { powerManager = (PowerManager)GetSystemService(Context.PowerService); wakeLock = powerManager.NewWakeLock(WakeLockFlags.Partial, "MyWakeLock"); wakeLock.Acquire(); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Pedometer); chrono = FindViewById<Chronometer>(Resource.Id.chronometer1); sensorManager = (SensorManager)GetSystemService(Context.SensorService); stepsTextView = FindViewById<TextView>(Resource.Id.pedometer); caloriesTextView = FindViewById<TextView>(Resource.Id.calories); speedTextView = FindViewById<TextView>(Resource.Id.speed); distanceTextView = FindViewById<TextView>(Resource.Id.distance); timeTextView = FindViewById<TextView>(Resource.Id.time); if (savedInstanceState != null) { steps = savedInstanceState.GetInt("steps", 0); calories = savedInstanceState.GetFloat("calories", 0.0f); speed = savedInstanceState.GetFloat("speed", 0.0f); distance = savedInstanceState.GetFloat("distance", 0.0f); chrono.Base = savedInstanceState.GetLong("time", SystemClock.ElapsedRealtime()); run = savedInstanceState.GetBoolean("run", false); } chrono.Format = "00:0%s"; chrono.OnChronometerTickListener = this; int h = 480; mYOffset = h * 0.5f; mScale[0] = -(h * 0.5f * (1.0f / (SensorManager.StandardGravity * 2))); mScale[1] = -(h * 0.5f * (1.0f / (SensorManager.MagneticFieldEarthMax))); if (run) { refreshTextViews(); sensorsListenerRegister(); chrono.Start(); } }