Browse Source

resolved image permission

PankajBranch
Hemant Khadase 2 years ago
parent
commit
c767662417
5 changed files with 36 additions and 35 deletions
  1. +1
    -3
      app/src/main/AndroidManifest.xml
  2. +13
    -20
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  3. +14
    -12
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  4. +4
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  5. +4
    -0
      app/src/main/res/values/strings.xml

+ 1
- 3
app/src/main/AndroidManifest.xml View File

@ -5,9 +5,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28"
tools:ignore="ScopedStorage" />
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>


+ 13
- 20
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -4,6 +4,7 @@ import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
import android.content.DialogInterface
import android.content.Intent
import android.content.pm.PackageManager
import android.database.Cursor
import android.graphics.Bitmap
@ -12,6 +13,7 @@ import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.OpenableColumns
import android.provider.Settings
import android.util.Base64
import android.util.Log
import android.view.LayoutInflater
@ -34,10 +36,12 @@ import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogWithTwoButtons
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.ImageUtil
import com.nivesh.production.bajajfd.util.Resource
import java.io.*
import java.util.*
class StepThreeBajajFDFragment : Fragment() {
@ -81,39 +85,29 @@ class StepThreeBajajFDFragment : Fragment() {
Manifest.permission.WRITE_EXTERNAL_STORAGE
)
}
private val askPermissions = mutableListOf<String>()
private val requestCameraPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
if (isGranted) {
Log.e("Permission: ", "Granted")
takeImage()
} else {
Log.e("Permission: ", "Denied")
showDialogWithTwoButtons((activity as BajajFdMainActivity), getString(R.string.cameraPermission), getString(
R.string.permissionRequired))
}
}
private val requestGalleryPermission = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { permission ->
if (!permission.containsValue(false)){
) { permission ->
if (!permission.containsValue(false)) {
selectImageIntent?.launch("image/*")
}else{
// for (permissionObj in permissions) {
// if (ContextCompat.checkSelfPermission(activity as BajajFdMainActivity, permissionObj) != PackageManager.PERMISSION_GRANTED) {
// askPermissions.add(permissionObj)
// }
// }
// if (askPermissions.isNotEmpty()){
// requestGalleryPermission.launch(askPermissions)
// }
} else {
showDialogWithTwoButtons((activity as BajajFdMainActivity), getString(R.string.galleryPermission), getString(
R.string.permissionsRequired))
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@ -286,7 +280,7 @@ class StepThreeBajajFDFragment : Fragment() {
return true
}
fun onClickRequestPermission() {
private fun onClickRequestPermission() {
when {
ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
@ -312,7 +306,6 @@ class StepThreeBajajFDFragment : Fragment() {
}
}
private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =


+ 14
- 12
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -4,23 +4,28 @@ import android.Manifest
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.net.Uri
import android.os.Build
import android.provider.Settings
import android.text.format.DateFormat
import android.util.Log
import android.util.Patterns
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.startActivity
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import kotlinx.coroutines.CoroutineExceptionHandler
import org.json.JSONObject
import retrofit2.HttpException
@ -124,11 +129,18 @@ class Common {
builder.show()
}
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?) {
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?, title: String) {
val builder = AlertDialog.Builder(activity)
builder.setTitle(title)
builder.setMessage(message)
if (activity != null) {
builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ ->
val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", (activity as BajajFdMainActivity).packageName, null)
)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
activity.startActivity(intent)
dialogInterface.dismiss()
}
builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ ->
@ -194,21 +206,11 @@ class Common {
}
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
// try {
if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
// } catch (t: Throwable) {
// return when (t) {
// is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// }
// }
return Resource.Error(response.message())
}
@ -247,7 +249,7 @@ class Common {
}
fun isMinor(date: String): Boolean {
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
val dt1: Date = simpleDateFormat.parse(date) as Date
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt()


+ 4
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -248,6 +248,10 @@
<string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cameraPermission">You Need to Give Permission of Camera for uploading Image</string>
<string name="galleryPermission">You Need to Give Permission of Gallery for uploading Image</string>
<string name="permissionRequired">Permission Required !</string>
<string name="permissionsRequired">Permission\'s Required !</string>
</resources>

+ 4
- 0
app/src/main/res/values/strings.xml View File

@ -248,6 +248,10 @@
<string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cameraPermission">You Need to Give Permission of Camera for uploading Image</string>
<string name="galleryPermission">You Need to Give Permission of Gallery for uploading Image</string>
<string name="permissionRequired">Permission Required !</string>
<string name="permissionsRequired">Permission\'s Required !</string>
</resources>

Loading…
Cancel
Save

Powered by TurnKey Linux.