Skip to content

Commit e07bd30

Browse files
Merge pull request #6 from AlfredoHdez1709/develop
fix permission
2 parents 0e0f6ad + 2518419 commit e07bd30

File tree

4 files changed

+45
-23
lines changed

4 files changed

+45
-23
lines changed

EasyCameraAndGallery/src/main/java/dev/ahrsoft/easycameraandgallery/camera/CameraActivity.kt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package dev.ahrsoft.easycameraandgallery.camera
22

33
import android.annotation.SuppressLint
44
import android.app.Activity
5+
import android.app.AlertDialog
56
import android.content.ContentValues
7+
import android.content.DialogInterface
68
import android.content.Intent
79
import android.content.pm.PackageManager
810
import android.media.MediaScannerConnection
@@ -12,9 +14,11 @@ import android.os.Bundle
1214
import android.os.Environment
1315
import android.provider.MediaStore
1416
import android.provider.Settings
17+
import android.util.Log
1518
import android.view.Surface.ROTATION_0
1619
import android.view.View
1720
import android.webkit.MimeTypeMap
21+
import android.widget.Toast
1822
import androidx.activity.result.ActivityResultLauncher
1923
import androidx.activity.result.contract.ActivityResultContracts
2024
import androidx.appcompat.app.AppCompatActivity
@@ -31,6 +35,7 @@ import dev.ahrsoft.easycameraandgallery.Constant.FILENAME
3135
import dev.ahrsoft.easycameraandgallery.Constant.PHOTO_EXTENSION
3236
import dev.ahrsoft.easycameraandgallery.Constant.REQUEST_CODE_PERMISSIONS
3337
import dev.ahrsoft.easycameraandgallery.Constant.REQUIRED_PERMISSIONS
38+
import dev.ahrsoft.easycameraandgallery.Constant.TAG
3439
import dev.ahrsoft.easycameraandgallery.EasyCamera.IMAGE_RESULTS
3540
import dev.ahrsoft.easycameraandgallery.Flash
3641
import dev.ahrsoft.easycameraandgallery.OptionsCamera
@@ -71,12 +76,13 @@ class CameraActivity : AppCompatActivity(), GalleryAdapter.OnItemClickListener {
7176
supportActionBar?.hide()
7277
optionsCamera = (intent.getSerializableExtra("options") as? OptionsCamera)!!
7378
viewModel = ViewModelProvider(this)[CameraViewModel::class.java]
79+
initCameraUI()
7480
initObserver()
7581
openCallback()
7682
}
7783

78-
override fun onResume() {
79-
super.onResume()
84+
override fun onRestart() {
85+
super.onRestart()
8086
initCameraUI()
8187
}
8288

@@ -134,11 +140,6 @@ class CameraActivity : AppCompatActivity(), GalleryAdapter.OnItemClickListener {
134140
cameraCaptureButtonCamera.setOnClickListener {
135141
takePhoto()
136142
}
137-
cameraBtnPermission.setOnClickListener {
138-
startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
139-
data = Uri.fromParts("package",this@CameraActivity.packageName,null)
140-
})
141-
}
142143
ibFrontCamera.setOnClickListener {
143144
if (CameraSelector.LENS_FACING_FRONT == lensFacing) {
144145
lensFacing = CameraSelector.LENS_FACING_BACK
@@ -310,11 +311,25 @@ class CameraActivity : AppCompatActivity(), GalleryAdapter.OnItemClickListener {
310311
if (allPermissionsGranted()) {
311312
initCameraUI()
312313
} else {
313-
binding.cameraVfState.displayedChild = CameraFlipperState.SHOW_PERMISSIONS.state
314+
dialogPermission()
314315
}
315316
}
316317
}
317318

319+
private fun dialogPermission() {
320+
val builder = AlertDialog.Builder(this).apply {
321+
setTitle(getString(R.string.action_permission))
322+
setMessage(getString(R.string.message_permissions))
323+
setCancelable(false)
324+
}.setPositiveButton(getString(android.R.string.ok)) { dialog, id ->
325+
startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
326+
data = Uri.fromParts("package",baseContext.packageName,null)
327+
})
328+
}
329+
330+
builder.show()
331+
}
332+
318333
private fun hasBackCamera(): Boolean {
319334
return cameraProvider?.hasCamera(CameraSelector.DEFAULT_BACK_CAMERA) ?: false
320335
}

EasyCameraAndGallery/src/main/res/layout/activity_camera.xml

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,31 +127,30 @@
127127
android:layout_width="match_parent"
128128
android:layout_height="match_parent">
129129

130-
<com.google.android.material.button.MaterialButton
131-
android:id="@+id/camera.btn.permission"
132-
android:layout_width="wrap_content"
133-
android:layout_height="wrap_content"
134-
android:text="@string/action_permission"
135-
app:layout_constraintBottom_toBottomOf="parent"
136-
app:layout_constraintEnd_toEndOf="parent"
137-
app:layout_constraintStart_toStartOf="parent"
138-
app:layout_constraintTop_toTopOf="parent"
139-
style="@style/ShapeAppearanceOverlay.Material3.Button"/>
140130

141131
<TextView
142132
android:id="@+id/camera.tv.permission"
133+
style="@style/TextAppearance.Material3.BodyLarge"
143134
android:layout_width="0dp"
144135
android:layout_height="wrap_content"
145136
android:layout_marginStart="32dp"
146137
android:layout_marginEnd="32dp"
147-
android:layout_marginBottom="16dp"
148-
android:text="@string/message_permissions"
149138
android:gravity="center"
150-
style="@style/TextAppearance.Material3.BodyLarge"
151-
app:layout_constraintBottom_toTopOf="@+id/camera.btn.permission"
139+
android:text="@string/message_permissions"
140+
app:layout_constraintBottom_toTopOf="@+id/permission.btn"
152141
app:layout_constraintEnd_toEndOf="parent"
153142
app:layout_constraintStart_toStartOf="parent" />
154143

144+
<Button
145+
android:id="@+id/permission.btn"
146+
android:layout_width="wrap_content"
147+
android:layout_height="wrap_content"
148+
android:text="@string/action_permission"
149+
app:layout_constraintBottom_toBottomOf="parent"
150+
app:layout_constraintEnd_toEndOf="parent"
151+
app:layout_constraintStart_toStartOf="parent"
152+
app:layout_constraintTop_toTopOf="parent" />
153+
155154
</androidx.constraintlayout.widget.ConstraintLayout>
156155

157156
</ViewFlipper>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="tomar_foto">Tomar foto</string>
4+
<string name="action_permission">Otorgar permisos</string>
5+
<string name="message_permissions">Para el correcto funcionamiento se requiere que otorgues los permisos necesarios a la aplicación.</string>
6+
<string name="error_start_camera">"Error al iniciar la cámara "</string>
7+
<string name="unknown_error">"error desconocido "</string>
8+
</resources>

EasyCameraAndGallery/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<resources>
2-
<string name="tomar_foto">Tomar foto</string>
2+
<string name="tomar_foto">Take photo</string>
33
<string name="action_permission">Grant permissions</string>
44
<string name="message_permissions">For the correct operation it is required that you grant the required permissions to the application.</string>
55
<string name="error_start_camera">Failed to start the camera</string>

0 commit comments

Comments
 (0)