Skip to content

Commit

Permalink
[feat/bitmap_resizing]: 프로필 이미지 등록할 때 이미지 크기 조절 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
soopeach committed Sep 5, 2023
1 parent 7d9f7b8 commit 60765dc
Showing 1 changed file with 16 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,40 +1,26 @@
package org.gdsc.presentation.login

import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.cardview.widget.CardView
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.setFragmentResultListener
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.bumptech.glide.Glide
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import okhttp3.MediaType
import okhttp3.MultipartBody
import okhttp3.RequestBody
import org.gdsc.presentation.BaseFragment
import org.gdsc.presentation.databinding.FragmentSignUpCompleteBinding
import org.gdsc.presentation.utils.BitmapUtils.getCompressedBitmapFromUri
import org.gdsc.presentation.utils.BitmapUtils.saveBitmapToFile
import org.gdsc.presentation.utils.checkMediaPermissions
import org.gdsc.presentation.utils.findPath
import org.gdsc.presentation.utils.showMediaPermissionsDialog
import org.gdsc.presentation.view.MainActivity
import java.io.File


class SignUpCompleteFragment : BaseFragment() {
Expand Down Expand Up @@ -79,15 +65,22 @@ class SignUpCompleteFragment : BaseFragment() {

binding.nextBtn.setOnClickListener {
viewModel.profileImageState.value.let {
if(it.isNullOrEmpty())
if(it.isEmpty())
viewModel.requestSignUpWithoutImage { moveToMain() }
else {
val file = File(it.toUri().findPath(requireContext()))
val requestFile = RequestBody.create(MediaType.parse("image/png"), file)
val body =
MultipartBody.Part.createFormData("profileImg", file.name, requestFile)
viewModel.requestSignUpWithImage(body) {
moveToMain()
val file = it.toUri()
.getCompressedBitmapFromUri(requireContext())
?.saveBitmapToFile(requireContext(), "profile.jpg")

if (file != null) {
val requestFile = RequestBody.create(MediaType.parse("image/png"), file)
val body =
MultipartBody.Part.createFormData("profileImg", file.name, requestFile)
viewModel.requestSignUpWithImage(body) {
moveToMain()
}
} else {
// TODO: Exception Handling
}
}
}
Expand Down

0 comments on commit 60765dc

Please sign in to comment.