diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index a1757ae..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index cc72de3..99202cc 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,11 +5,12 @@ @@ -24,26 +25,10 @@ - + - - - - - 1.8 - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 583b929..80cdb22 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 67269d2..9050a68 100644 --- a/app/app.iml +++ b/app/app.iml @@ -70,13 +70,6 @@ - - - - - - - @@ -84,48 +77,69 @@ + + + + + + + + + + + + + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index e378c07..92af685 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,8 +4,8 @@ android { compileSdkVersion 26 defaultConfig { applicationId "com.developer.jatin.textrecognition" - minSdkVersion 16 - targetSdkVersion 26 + minSdkVersion 23 + targetSdkVersion versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7957d7c..f394253 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,13 +2,26 @@ + + + + + + + + + android:theme="@style/AppTheme" + android:screenOrientation="portrait"> diff --git a/app/src/main/java/com/developer/jatin/textrecognition/Activities/Showcamera.java b/app/src/main/java/com/developer/jatin/textrecognition/Activities/Showcamera.java new file mode 100644 index 0000000..6870f95 --- /dev/null +++ b/app/src/main/java/com/developer/jatin/textrecognition/Activities/Showcamera.java @@ -0,0 +1,79 @@ +package com.developer.jatin.textrecognition.Activities; + + +import android.content.Context; +import android.content.res.Configuration; +import android.util.Log; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.hardware.Camera; + +import java.io.IOException; +import java.util.List; + +import static android.content.ContentValues.TAG; + +class Showcamera extends SurfaceView implements SurfaceHolder.Callback { + private SurfaceHolder mHolder; + private Camera bCamera; + + public Showcamera(Context context, Camera mCamera) { + super(context); + bCamera = mCamera; + mHolder = getHolder(); + mHolder.addCallback(this); + mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); + } + + @Override + public void surfaceCreated(SurfaceHolder surfaceHolder) { + + // The Surface has been created, now tell the camera where to draw the preview. + try { + bCamera.setPreviewDisplay(surfaceHolder); + bCamera.startPreview(); + } catch (IOException e) { + Log.d(TAG, "Error setting camera preview: " + e.getMessage()); + } + + } + + @Override + public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) { + + + + + if (mHolder.getSurface() == null) { + + return; + } + + + try { + bCamera.stopPreview(); + } catch (Exception e) { + + } + + + try { + bCamera.setPreviewDisplay(mHolder); + bCamera.startPreview(); + + } catch (Exception e) { + Log.d(TAG, "Error starting camera preview: " + e.getMessage()); + } + } + + + @Override + public void surfaceDestroyed(SurfaceHolder surfaceHolder) { + + } +} + + + + + diff --git a/app/src/main/java/com/developer/jatin/textrecognition/Activities/Start.java b/app/src/main/java/com/developer/jatin/textrecognition/Activities/Start.java index 1f76edd..4d8ad1b 100644 --- a/app/src/main/java/com/developer/jatin/textrecognition/Activities/Start.java +++ b/app/src/main/java/com/developer/jatin/textrecognition/Activities/Start.java @@ -1,15 +1,162 @@ package com.developer.jatin.textrecognition.Activities; -import android.support.v7.app.AppCompatActivity; +import android.Manifest; +import android.content.pm.PackageManager; +import android.hardware.Camera; import android.os.Bundle; +import android.os.Environment; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.Button; +import android.widget.FrameLayout; +import android.widget.Toast; import com.developer.jatin.textrecognition.R; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + public class Start extends AppCompatActivity { + private Camera mCamera; + private Showcamera mPreview; + FrameLayout frameLayout; + Button captureButton; + + @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); + + + + mCamera = Camera.open( ); + + // Create our Preview view and set it as the content of our activity. + mPreview = new Showcamera(this, mCamera); + FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview); + preview.addView(mPreview); + captureButton = (Button)findViewById(R.id.button_capture); + + } + public static final int MEDIA_TYPE_IMAGE = 1; + private Camera.PictureCallback mPicture = new Camera.PictureCallback() { + + + @Override + public void onPictureTaken(byte[] data, Camera camera) { + + File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE); + if (pictureFile == null){ + return; + } + + try { + FileOutputStream fos = new FileOutputStream(pictureFile); + fos.write(data); + fos.close(); + } catch (FileNotFoundException e) { + + } catch (IOException e) { + } + } + }; + + Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { + @Override + public void onPictureTaken(byte[] bytes, Camera camera) { + + File picture_file = getOutputMediaFile(MEDIA_TYPE_IMAGE) ; + + if (picture_file== null) + { + return; + } + else { + try { + FileOutputStream fos = new FileOutputStream(picture_file); + fos.write(bytes); + fos.close(); + + camera.startPreview(); + }catch (java.io.IOException e) + { + e.printStackTrace(); + } + + } + } + }; + + + private File getOutputMediaFile(int mediaTypeImage) + { + String state = Environment.getExternalStorageState(); + if (!state.equals(Environment.MEDIA_MOUNTED)) + { + return null; + + } + else + { + File folder_gui = new File(Environment.getExternalStorageDirectory() + File.separator + "GUI"); + if (!folder_gui.exists() ) + {folder_gui.mkdirs();} + File outputFile = new File(folder_gui , "temp.jpg"); + return outputFile; + + } + } + + // Add a listener to the Capture button + + /*captureButton.setOnClickListener( + new View.OnClickListener() { + @Override + public void onClick(View v) { + // get an image from the camera + mCamera.takePicture(null, null, mPicture); + } + } +); */ + + private void releaseCamera(){ + if (mCamera != null){ + mCamera.release(); // release the camera for other applications + mCamera = null; + } + } + + + + public void click (View view) { + mCamera.takePicture(null, null, mPicture); + } + + + /* Public void Showcamera(View view) + { + if (checkSelfPermission(Manifest.permission.CAMERA)==PackageManager.PERMISSION_GRANTED) + { + showCameraPreview(); + + } else + { + if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)){ + Toast.makeText(this , "camera permission is needed" , Toast.LENGTH_SHORT).show(); + } + requestPermissions(new String[]{Manifest.permission.CAMERA} , REQUEST_CAMERA); + } + } + public void OnRequestPermissionsResultCallback(int re)*/ + + private static final int REQUEST_CAMERA = 125; + private static final int REQUEST_STORAGE = 225; + private static final int TXT_CAMERA = 1; + private static final int TXT_STORAGE = 2; + } diff --git a/app/src/main/res/layout/activity_start.xml b/app/src/main/res/layout/activity_start.xml index b8ebba3..67a142c 100644 --- a/app/src/main/res/layout/activity_start.xml +++ b/app/src/main/res/layout/activity_start.xml @@ -1,18 +1,25 @@ - + - + android:layout_alignParentBottom="true" + android:layout_centerHorizontal="true" + android:text="Capture" + android:onClick="click"/> - + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8a0f1fb..d2857b1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,7 @@ TextRecognition - - + PERMISSION_PREFERENCES + PERMISSION_CAMERA + PERMISSION_CONTACTS Hello blank fragment