public override void OnCaptureCompleted(CameraCaptureSession session,
                                                    CaptureRequest request,
                                                    TotalCaptureResult result)
            {
                // Only update UI every so many frames
                // Use an odd number here to ensure both even and odd exposures get an occasional update
                long frameNumber = result.FrameNumber;

                if (frameNumber % 3 != 0)
                {
                    return;
                }

                Integer exposureComp = result.Get(CaptureResult.ControlAeExposureCompensation) as Integer;

                if (exposureComp == null)
                {
                    throw new RuntimeException("Cannot get exposure compensation.");
                }

                // Format exposure time nicely
                Rational exposureStep = mParent.mCameraInfo.ExposureState.ExposureCompensationStep;
                string   exposureText = (exposureComp.FloatValue() * exposureStep.FloatValue()).ToString("0.00");

                if (mParent.mRenderMode == ViewfinderProcessor.ModeNormal)
                {
                    mParent.mAutoExposureText.Text = exposureText;

                    mParent.mEvenExposureText.Enabled = false;
                    mParent.mOddExposureText.Enabled  = false;
                    mParent.mAutoExposureText.Enabled = true;

                    if (exposureComp.IntValue() != mParent.mAutoExposure)
                    {
                        mParent.mCameraControl.SetExposureCompensationIndex(mParent.mAutoExposure);
                    }
                }
                else if ((frameNumber & 1) == 0)
                {
                    mParent.mEvenExposureText.Text = exposureText;

                    mParent.mEvenExposureText.Enabled = true;
                    mParent.mOddExposureText.Enabled  = true;
                    mParent.mAutoExposureText.Enabled = false;
                }
                else
                {
                    mParent.mOddExposureText.Text = exposureText;

                    mParent.mEvenExposureText.Enabled = true;
                    mParent.mOddExposureText.Enabled  = true;
                    mParent.mAutoExposureText.Enabled = false;
                }
            }