private void sendDownscaledImage(GalleryProviderConnection connection, string request)
        {
            // put a upper cap like say 320x240 for image
            mImgData = "";
            mResult  = "failure";
            mReason  = REASON_IMAGE_ID_INVALID;
            int        orgWidth = 0, orgHeight = 0;
            long       orgSize = 0;
            string     orgName = "";
            JSONObject obj     = null;

            try
            {
                obj = new JSONObject(request);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final org.json.JSONException e)
            catch (JSONException e)
            {
                Console.WriteLine(e.ToString());
                Console.Write(e.StackTrace);
                return;
            }
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final ImgReqMsg uMessage = new ImgReqMsg();
            ImageFetchModelImpl.ImgReqMsg uMessage = new ImageFetchModelImpl.ImgReqMsg();
            try
            {
                uMessage.fromJSON(obj);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final org.json.JSONException e)
            catch (JSONException e)
            {
                Console.WriteLine(e.ToString());
                Console.Write(e.StackTrace);
                return;
            }
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final long id = uMessage.getID();
            long id = uMessage.ID;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int width = uMessage.getWidth();
            int width = uMessage.Width;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int height = uMessage.getHeight();
            int    height      = uMessage.Height;
            Cursor imageCursor = ContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mProjection, MediaStore.Images.Media._ID + " = " + id, null, null);

            if (imageCursor != null && imageCursor.moveToFirst())
            {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String path = imageCursor.getString(imageCursor.getColumnIndex(android.provider.MediaStore.Images.Media.DATA));
                string path = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA));
                orgWidth  = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media.WIDTH));
                orgHeight = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media.HEIGHT));
                orgName   = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
                orgSize   = imageCursor.getLong(imageCursor.getColumnIndex(MediaStore.Images.Media.SIZE));
                if (!imageCursor.Closed)
                {
                    imageCursor.close();
                }
                pullDownscaledImg(path, width, height);
            }
            else
            {
                mResult = "failure";
                mReason = REASON_IMAGE_ID_INVALID;
            }
            sendImgRsp(connection, id, orgName, orgSize, orgWidth, orgHeight);
        }
		private void sendDownscaledImage(GalleryProviderConnection connection, string request)
		{
			// put a upper cap like say 320x240 for image
			mImgData = "";
			mResult = "failure";
			mReason = REASON_IMAGE_ID_INVALID;
			int orgWidth = 0, orgHeight = 0;
			long orgSize = 0;
			string orgName = "";
			JSONObject obj = null;
			try
			{
				obj = new JSONObject(request);
			}
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final org.json.JSONException e)
			catch (JSONException e)
			{
				Console.WriteLine(e.ToString());
				Console.Write(e.StackTrace);
				return;
			}
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final ImgReqMsg uMessage = new ImgReqMsg();
			ImageFetchModelImpl.ImgReqMsg uMessage = new ImageFetchModelImpl.ImgReqMsg();
			try
			{
				uMessage.fromJSON(obj);
			}
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final org.json.JSONException e)
			catch (JSONException e)
			{
				Console.WriteLine(e.ToString());
				Console.Write(e.StackTrace);
				return;
			}
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final long id = uMessage.getID();
			long id = uMessage.ID;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int width = uMessage.getWidth();
			int width = uMessage.Width;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int height = uMessage.getHeight();
			int height = uMessage.Height;
			Cursor imageCursor = ContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mProjection, MediaStore.Images.Media._ID + " = " + id, null, null);
			if (imageCursor != null && imageCursor.moveToFirst())
			{
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String path = imageCursor.getString(imageCursor.getColumnIndex(android.provider.MediaStore.Images.Media.DATA));
				string path = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA));
				orgWidth = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media.WIDTH));
				orgHeight = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media.HEIGHT));
				orgName = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
				orgSize = imageCursor.getLong(imageCursor.getColumnIndex(MediaStore.Images.Media.SIZE));
				if (!imageCursor.Closed)
				{
					imageCursor.close();
				}
				pullDownscaledImg(path, width, height);
			}
			else
			{
				mResult = "failure";
				mReason = REASON_IMAGE_ID_INVALID;
			}
			sendImgRsp(connection, id, orgName, orgSize, orgWidth, orgHeight);
		}