/// <returns> true, If device supports required feature. </returns>
        private bool checkRequiredFeatures()
        {
            try
            {
                mCameraId = null;
                foreach (string id in mSCamera.SCameraManager.CameraIdList)
                {
                    SCameraCharacteristics cameraCharacteristics = mSCamera.SCameraManager.getCameraCharacteristics(id);
                    if (cameraCharacteristics.get(SCameraCharacteristics.LENS_FACING) == SCameraCharacteristics.LENS_FACING_BACK)
                    {
                        mCameraId = id;
                        break;
                    }
                }

                if (null == mCameraId)
                {
                    showAlertDialog("No back-facing camera exist.", true);
                    return(false);
                }

                SCameraCharacteristics cameraCharacteristics = mSCamera.SCameraManager.getCameraCharacteristics(mCameraId);

                if (!contains(cameraCharacteristics.get(SCameraCharacteristics.CONTROL_AF_AVAILABLE_MODES), SCameraCharacteristics.CONTROL_AF_MODE_CONTINUOUS_PICTURE))
                {
                    showAlertDialog("Required AF mode is not supported.", true);
                    return(false);
                }

                if (!mSCamera.isFeatureEnabled(SCamera.SCAMERA_PROCESSOR))
                {
                    showAlertDialog("This device does not support SCamera Processor feature.", true);
                    return(false);
                }

                SCameraProcessorManager processorManager = mSCamera.SCameraProcessorManager;
                if (!processorManager.isProcessorAvailable(SCameraProcessorManager.PROCESSOR_TYPE_PANORAMA))
                {
                    showAlertDialog("This device does not support Panorama Processor.", true);
                    return(false);
                }
            }
            catch (CameraAccessException e)
            {
                showAlertDialog("Cannot access the camera.", true);
                Log.e(TAG, "Cannot access the camera.", e);
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Create <seealso cref="com.samsung.android.sdk.camera.processor.SCameraPanoramaProcessor"/>.
        /// </summary>
        private void createProcessor()
        {
            SCameraProcessorManager processorManager = mSCamera.SCameraProcessorManager;

            mProcessor = processorManager.createProcessor(SCameraProcessorManager.PROCESSOR_TYPE_PANORAMA);
        }