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.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission <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.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/> <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.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.DialogInterface import android.content.DialogInterface
import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.database.Cursor import android.database.Cursor
import android.graphics.Bitmap import android.graphics.Bitmap
@ -12,6 +13,7 @@ import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.provider.OpenableColumns import android.provider.OpenableColumns
import android.provider.Settings
import android.util.Base64 import android.util.Base64
import android.util.Log import android.util.Log
import android.view.LayoutInflater 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.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension 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.Constants
import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.ImageUtil
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import java.io.* import java.io.*
import java.util.*
class StepThreeBajajFDFragment : Fragment() { class StepThreeBajajFDFragment : Fragment() {
@ -81,39 +85,29 @@ class StepThreeBajajFDFragment : Fragment() {
Manifest.permission.WRITE_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE
) )
} }
private val askPermissions = mutableListOf<String>()
private val requestCameraPermission = registerForActivityResult( private val requestCameraPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) { isGranted: Boolean -> ) { isGranted: Boolean ->
if (isGranted) { if (isGranted) {
Log.e("Permission: ", "Granted")
takeImage()
} else { } else {
Log.e("Permission: ", "Denied")
showDialogWithTwoButtons((activity as BajajFdMainActivity), getString(R.string.cameraPermission), getString(
R.string.permissionRequired))
} }
} }
private val requestGalleryPermission = registerForActivityResult( private val requestGalleryPermission = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions() ActivityResultContracts.RequestMultiplePermissions()
) { permission ->
if (!permission.containsValue(false)){
) { permission ->
if (!permission.containsValue(false)) {
selectImageIntent?.launch("image/*") 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( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
@ -286,7 +280,7 @@ class StepThreeBajajFDFragment : Fragment() {
return true return true
} }
fun onClickRequestPermission() {
private fun onClickRequestPermission() {
when { when {
ContextCompat.checkSelfPermission( ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
@ -312,7 +306,6 @@ class StepThreeBajajFDFragment : Fragment() {
} }
} }
private fun setOtherUploadLayout(itemName: String?) { private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *") binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = 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.Activity
import android.app.AlertDialog import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.GradientDrawable import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.net.Uri
import android.os.Build import android.os.Build
import android.provider.Settings
import android.text.format.DateFormat import android.text.format.DateFormat
import android.util.Log import android.util.Log
import android.util.Patterns import android.util.Patterns
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat.startActivity
import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import org.json.JSONObject import org.json.JSONObject
import retrofit2.HttpException import retrofit2.HttpException
@ -124,11 +129,18 @@ class Common {
builder.show() builder.show()
} }
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?) {
fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?, title: String) {
val builder = AlertDialog.Builder(activity) val builder = AlertDialog.Builder(activity)
builder.setTitle(title)
builder.setMessage(message) builder.setMessage(message)
if (activity != null) { if (activity != null) {
builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> 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() dialogInterface.dismiss()
} }
builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ -> builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ ->
@ -194,21 +206,11 @@ class Common {
} }
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> { fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
// try {
if (response.isSuccessful && response.body() != null) { if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse -> response.body()?.let { resultResponse ->
return Resource.Success(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()) return Resource.Error(response.message())
} }
@ -247,7 +249,7 @@ class Common {
} }
fun isMinor(date: String): Boolean { 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 dt1: Date = simpleDateFormat.parse(date) as Date
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt() val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", 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="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></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> </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="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></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> </resources>

Loading…
Cancel
Save

Powered by TurnKey Linux.