From 04ce24e7d37b6928fc095938125ae28264ed0f6a Mon Sep 17 00:00:00 2001 From: CHOI <32347874+CHOI97@users.noreply.github.com> Date: Sun, 7 May 2023 14:26:17 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20=ED=94=84=EB=A1=9C=ED=95=84=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EC=84=A0=ED=83=9D=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95,=20Constants=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/ui/view/gallery/GalleryActivity.kt | 43 ++++++------------- .../signup/fragment/SignupProfileFragment.kt | 5 +++ .../java/com/example/simya/util/Constants.kt | 1 + .../res/layout/fragment_signup_profile.xml | 1 + 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/com/example/simya/src/ui/view/gallery/GalleryActivity.kt b/app/src/main/java/com/example/simya/src/ui/view/gallery/GalleryActivity.kt index 3be3081..e466ce6 100644 --- a/app/src/main/java/com/example/simya/src/ui/view/gallery/GalleryActivity.kt +++ b/app/src/main/java/com/example/simya/src/ui/view/gallery/GalleryActivity.kt @@ -21,6 +21,7 @@ import com.example.simya.databinding.ActivityCropImageBinding import com.example.simya.util.Constants.IMAGE_PATH import com.example.simya.util.Constants.IMAGE_URI import com.example.simya.util.Constants.REQUEST_CODE_FOR_INTENT +import com.example.simya.util.Constants.REQUEST_CODE_PERMISSIONS import com.example.simya.util.onThrottleClick import com.takusemba.cropme.CropLayout import com.takusemba.cropme.OnCropListener @@ -30,16 +31,13 @@ import java.io.ByteArrayOutputStream class GalleryActivity: BaseActivity(R.layout.activity_crop_image) { private val imageList = arrayListOf() -// private val adapter = GalleryAdapter() private lateinit var cropLayout: CropLayout - private val PERMISSIONS_REQUEST_CODE = 100 private var REQUIRED_PERMISSIONS =if(Build.VERSION.SDK_INT <33){ - arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE) + arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE) }else{ - arrayOf(android.Manifest.permission.READ_MEDIA_IMAGES) + arrayOf(android.Manifest.permission.READ_MEDIA_IMAGES) } - override fun init() { cropLayout = binding.clCropper binding.ibCropAble.onThrottleClick { @@ -55,7 +53,7 @@ class GalleryActivity: BaseActivity(R.layout.activity_ setResult(REQUEST_CODE_FOR_INTENT,intent) finish() } - // 실패했을 때, + // 실패 했을때, override fun onFailure(e: Exception) { Log.e("Failure", "$e") Log.d("Failure", "failed") @@ -70,11 +68,11 @@ class GalleryActivity: BaseActivity(R.layout.activity_ showGallery() Log.d("LOG", "갤러리 접근 권한이 있는 경우") } - // 갤러리 접근 권한이 없는 경우 && 교육용 팝업을 보여줘야 하는 경우 + // 갤러리 접근 권한이 없는 경우 && 교육용 팝업 shouldShowRequestPermissionRationale(REQUIRED_PERMISSIONS[0]) -> { requestPermission() - Log.d("LOG", "갤러리 접근 권한이 없는 경우 && 교육용 팝업을 보여줘야 하는 경우") + Log.d("LOG", "갤러리 접근 권한이 없는 경우 && 교육용 팝업") } // 권한 요청 하기 else -> { @@ -103,7 +101,7 @@ class GalleryActivity: BaseActivity(R.layout.activity_ ActivityCompat.requestPermissions( this, REQUIRED_PERMISSIONS, - PERMISSIONS_REQUEST_CODE + REQUEST_CODE_PERMISSIONS ) } else { //설명 필요하지 않음 @@ -111,11 +109,10 @@ class GalleryActivity: BaseActivity(R.layout.activity_ ActivityCompat.requestPermissions( this, REQUIRED_PERMISSIONS, - PERMISSIONS_REQUEST_CODE + REQUEST_CODE_PERMISSIONS ) } } else { - Log.d("허용..?", "사용자가 요청을 거부 한적이 있다.") //권한 허용 } } @@ -125,7 +122,7 @@ class GalleryActivity: BaseActivity(R.layout.activity_ ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) when (requestCode) { - PERMISSIONS_REQUEST_CODE -> { + REQUEST_CODE_PERMISSIONS -> { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { showGallery() } else { @@ -212,22 +209,7 @@ class GalleryActivity: BaseActivity(R.layout.activity_ } } -// binding.rvGallery.adapter = adapter -// adapter.setImageList(imageList) } - -// private fun clickImage() { -// adapter.setOnItemClickListener(object : GalleryAdapter.OnItemClickListener { -// override fun onItemClick(v: View, data: Uri, position: Int) { -// cropLayout.setUri(data) -// } -// -// override fun onLongClick(v: View, data: Uri, position: Int) { -// Log.d("click", "길게 누르지마") -// } -// -// }) -// } private fun getImageUri(context: Context, inImage: Bitmap): Uri? { val bytes = ByteArrayOutputStream() inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) @@ -241,11 +223,10 @@ class GalleryActivity: BaseActivity(R.layout.activity_ } fun absolutelyPath(path: Uri): String { - var proj: Array = arrayOf(MediaStore.Images.Media.DATA) - var c: Cursor? = contentResolver.query(path, proj, null, null, null) - var index = c!!.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) + val proj: Array = arrayOf(MediaStore.Images.Media.DATA) + val c: Cursor? = contentResolver.query(path, proj, null, null, null) + val index = c!!.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) c.moveToFirst() - return c.getString(index) } diff --git a/app/src/main/java/com/example/simya/src/ui/view/login/signup/fragment/SignupProfileFragment.kt b/app/src/main/java/com/example/simya/src/ui/view/login/signup/fragment/SignupProfileFragment.kt index 86666a8..63284bf 100644 --- a/app/src/main/java/com/example/simya/src/ui/view/login/signup/fragment/SignupProfileFragment.kt +++ b/app/src/main/java/com/example/simya/src/ui/view/login/signup/fragment/SignupProfileFragment.kt @@ -22,6 +22,7 @@ import com.example.simya.databinding.FragmentSignupProfileBinding import com.example.simya.src.main.login.model.SignUpInterface import com.example.simya.src.main.login.model.SignUpService import com.example.simya.src.model.account.* +import com.example.simya.src.ui.view.gallery.GalleryActivity import com.example.simya.src.ui.viewmodel.login.signup.SignupViewModel import com.example.simya.util.Constants.COMMENT_VALIDATION import com.example.simya.util.Constants.ERROR_STRING_DUPLICATE @@ -61,6 +62,10 @@ class SignupProfileFragment : BaseFragment( Navigation.findNavController(view) .navigate(R.id.action_signupProfileFragment_to_signupFinFragment) } + binding.ibSignupProfileEdit.setOnClickListener{ + val intent = Intent(requireContext(), GalleryActivity::class.java) + startActivity(intent) + } getResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == REQUEST_CODE_FOR_INTENT) { diff --git a/app/src/main/java/com/example/simya/util/Constants.kt b/app/src/main/java/com/example/simya/util/Constants.kt index eb6eaa2..7f08a04 100644 --- a/app/src/main/java/com/example/simya/util/Constants.kt +++ b/app/src/main/java/com/example/simya/util/Constants.kt @@ -98,4 +98,5 @@ object Constants { const val REQUEST_CODE_FOR_INTENT = 1002 const val REQUEST_CODE_PROFILE_IMAGE = 2001 const val REQUEST_CODE_BORDER_IMAGE = 2002 + const val REQUEST_CODE_PERMISSIONS = 2000 } diff --git a/app/src/main/res/layout/fragment_signup_profile.xml b/app/src/main/res/layout/fragment_signup_profile.xml index 3cff0aa..a0fb54e 100644 --- a/app/src/main/res/layout/fragment_signup_profile.xml +++ b/app/src/main/res/layout/fragment_signup_profile.xml @@ -71,6 +71,7 @@ android:background="@drawable/bg_profile" />