Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.util.Log
import androidx.core.app.ActivityCompat.requestPermissions
import androidx.core.net.toFile
import com.github.dhaval2404.imagepicker.ImagePicker
import com.github.dhaval2404.imagepicker.ImagePickerActivity
import com.github.dhaval2404.imagepicker.R
Expand Down Expand Up @@ -37,6 +39,7 @@ class CameraProvider(activity: ImagePickerActivity) : BaseProvider(activity) {
Manifest.permission.CAMERA
)

val TAG = "Hello"
private const val CAMERA_INTENT_REQ_CODE = 4281
private const val PERMISSION_INTENT_REQ_CODE = 4282
}
Expand Down Expand Up @@ -71,23 +74,32 @@ class CameraProvider(activity: ImagePickerActivity) : BaseProvider(activity) {
**/
override fun onSaveInstanceState(outState: Bundle) {
// Save Camera File
outState.putSerializable(STATE_CAMERA_FILE, mCameraFile)
if(mCameraFile != null) {
outState.putParcelable(STATE_CAMERA_FILE, Uri.fromFile(mCameraFile))
}
}

/**
* Retrieve CameraProvider state
*/
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
// Restore Camera File
mCameraFile = savedInstanceState?.getSerializable(STATE_CAMERA_FILE) as File?
val uri : Uri = savedInstanceState?.getParcelable(STATE_CAMERA_FILE) ?: return
mCameraFile = uri.toFile()
Log.d(TAG, "mCamera file after onRestoreInstanceState: $mCameraFile")
}

/**
/**r
* Start Camera Intent
*
* Create Temporary File object and Pass it to Camera Intent
*/
fun startIntent() {
if(mCameraFile != null) {
handleResult()
return
}

if (!IntentUtils.isCameraAppAvailable(this)) {
setError(R.string.error_camera_app_not_found)
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.util.Log
import androidx.core.net.toFile
import com.github.dhaval2404.imagepicker.ImagePicker
import com.github.dhaval2404.imagepicker.ImagePickerActivity
import com.github.dhaval2404.imagepicker.R
Expand Down Expand Up @@ -70,7 +71,9 @@ class CropProvider(activity: ImagePickerActivity) : BaseProvider(activity) {
*/
override fun onSaveInstanceState(outState: Bundle) {
// Save crop file
outState.putSerializable(STATE_CROP_FILE, mCropImageFile)
if(mCropImageFile != null) {
outState.putParcelable(STATE_CROP_FILE, Uri.fromFile(mCropImageFile))
}
}

/**
Expand All @@ -79,6 +82,9 @@ class CropProvider(activity: ImagePickerActivity) : BaseProvider(activity) {
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
// Restore crop file
mCropImageFile = savedInstanceState?.getSerializable(STATE_CROP_FILE) as File?

val uri : Uri = savedInstanceState?.getParcelable(STATE_CROP_FILE) ?: return
mCropImageFile = uri.toFile()
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ class MainActivity : AppCompatActivity() {
ImagePicker.with(this)
// User can only capture image from Camera
.cameraOnly()
.crop()
// Image size will be less than 1024 KB
// .compress(1024)
// Path: /storage/sdcard0/Android/data/package/files
Expand Down