Skip to content

Commit

Permalink
Merge pull request #105 from EAT-SSU/104-hotfix-review-upload-finish
Browse files Browse the repository at this point in the history
[hotfix] ๋ฆฌ๋ทฐ ์˜ฌ๋ฆฌ๊ณ  ๋ฐ”๋กœ ์˜ค๋ฉด ํ•ด๋‹น ๋ฆฌ๋ทฐ ์•ˆ๋œจ๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •
  • Loading branch information
HI-JIN2 authored Nov 21, 2023
2 parents 43c2c25 + f0cceb0 commit 87847ca
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 34 deletions.
3 changes: 0 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,7 @@ dependencies {
implementation 'androidx.activity:activity-ktx:1.8.0'
implementation 'androidx.fragment:fragment-ktx:1.6.1'

// implementation "androidx.security:security-crypto:1.0.0"

implementation 'com.github.bumptech.glide:glide:4.15.1'
// kapt 'com.github.bumptech.glide:compiler:4.12.0'

implementation 'id.zelory:compressor:3.0.1'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ import okhttp3.RequestBody.Companion.asRequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import java.io.File

class ReviewWriteRateActivity : BaseActivity<ActivityReviewWriteRateBinding>(ActivityReviewWriteRateBinding::inflate) {
class ReviewWriteRateActivity :
BaseActivity<ActivityReviewWriteRateBinding>(ActivityReviewWriteRateBinding::inflate) {

private lateinit var viewModel: UploadReviewViewModel
private lateinit var reviewService: ReviewService
Expand All @@ -45,7 +46,7 @@ class ReviewWriteRateActivity : BaseActivity<ActivityReviewWriteRateBinding>(Act
toolbarTitle.text = "๋ฆฌ๋ทฐ ๋‚จ๊ธฐ๊ธฐ" // ํˆด๋ฐ” ์ œ๋ชฉ ์„ค์ •

itemName = intent.getStringExtra("itemName").toString()
Log.d("post","๊ณ ์ •๋ฉ”๋‰ด${itemName}")
Log.d("post", "๊ณ ์ •๋ฉ”๋‰ด${itemName}")

itemId = intent.getLongExtra("itemId", 0)

Expand All @@ -66,10 +67,27 @@ class ReviewWriteRateActivity : BaseActivity<ActivityReviewWriteRateBinding>(Act
viewModel = ViewModelProvider(this, UploadReviewViewModelFactory(repository))
.get(UploadReviewViewModel::class.java)


setupUI()
observeViewModel()

}

private fun setupUI() {
binding.btnNextReview2.setOnClickListener { postReview() }
binding.btnDelete.setOnClickListener { deleteImage() }
}

private fun observeViewModel() {
viewModel.isUpload.observe(this) { isUpload ->
if (isUpload == true) { finish() }

}
viewModel.toastMessage.observe(this) { message ->
Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
}
}

private fun requestStoragePermission() {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED
Expand Down Expand Up @@ -124,7 +142,7 @@ class ReviewWriteRateActivity : BaseActivity<ActivityReviewWriteRateBinding>(Act
}

private fun deleteImage() {
Log.d("post",selectedImagePath.toString())
Log.d("ReviewWriteRateActivity", selectedImagePath.toString())
if (selectedImagePath != null) {
val imageFile = File(selectedImagePath)
if (imageFile.exists()) {
Expand Down Expand Up @@ -158,17 +176,16 @@ class ReviewWriteRateActivity : BaseActivity<ActivityReviewWriteRateBinding>(Act
// Make the file list nullable
if (compressedPartsList == null) {
viewModel.postReview(itemId, reviewData)
Log.d("post","์‚ฌ์ง„ ์—†๋Š” ๋ฆฌ๋ทฐ")
Log.d("ReviewWriteRateActivity", "์‚ฌ์ง„ ์—†๋Š” ๋ฆฌ๋ทฐ")
} else {
viewModel.postReview(itemId, compressedPartsList, reviewData)
Log.d("post","์‚ฌ์ง„ ์žˆ๋Š” ๋ฆฌ๋ทฐ")
Log.d("ReviewWriteRateActivity", "์‚ฌ์ง„ ์žˆ๋Š” ๋ฆฌ๋ทฐ")
}
}

val resultIntent = Intent()
setResult(RESULT_OK, resultIntent)
Log.d("post","๋ฆฌ๋ทฐ ๋‹ค์”€")
finish()
Log.d("ReviewWriteRateActivity", "๋ฆฌ๋ทฐ ๋‹ค์”€")
}

private suspend fun compressImage(fileList: List<String?>): List<MultipartBody.Part>? {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.eatssu.android.ui.review.write

import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.eatssu.android.data.repository.ReviewRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import okhttp3.MultipartBody
import okhttp3.RequestBody
Expand All @@ -15,6 +17,12 @@ import retrofit2.Response

class UploadReviewViewModel(private val repository: ReviewRepository) : ViewModel() {

private val _isUpload = MutableLiveData<Boolean>()
val isUpload: LiveData<Boolean> get() = _isUpload

private val _toastMessage = MutableLiveData<String>()
val toastMessage: LiveData<String> get() = _toastMessage

/*
private val _reviewMenuId = MutableLiveData<Long>()
val reviewMenuId: LiveData<Long> = _reviewMenuId
Expand All @@ -26,11 +34,7 @@ class UploadReviewViewModel(private val repository: ReviewRepository) : ViewMode
val reviewData: LiveData<RequestBody> = _reviewData*/


val shouldStartActivity = MutableLiveData<Boolean>(false)

fun onClickEvent() {
shouldStartActivity.postValue(true)
}

fun postReview(
menuId: Long,
Expand All @@ -42,26 +46,29 @@ class UploadReviewViewModel(private val repository: ReviewRepository) : ViewMode
repository.writeReview(
menuId, compressedPartsList, reviewData
).enqueue(object : Callback<Void> {
override fun onResponse(
call: Call<Void>,
response: Response<Void>
) {
if (response.isSuccessful) {
// ์ •์ƒ์ ์œผ๋กœ ํ†ต์‹ ์ด ์„ฑ๊ณต๋œ ๊ฒฝ์šฐ
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์„ฑ๊ณต: " + response.body().toString())
onClickEvent()

} else {
// ํ†ต์‹ ์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ(์‘๋‹ต์ฝ”๋“œ 3xx, 4xx ๋“ฑ)
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์‹คํŒจ")
}
}
override fun onResponse(
call: Call<Void>,
response: Response<Void>
) {
if (response.isSuccessful) {
handleSuccessResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.")
// ์ •์ƒ์ ์œผ๋กœ ํ†ต์‹ ์ด ์„ฑ๊ณต๋œ ๊ฒฝ์šฐ
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์„ฑ๊ณต: " + response.body().toString())
// onClickEvent()

override fun onFailure(call: Call<Void>, t: Throwable) {
// ํ†ต์‹  ์‹คํŒจ (์ธํ„ฐ๋„ท ๋Šํ‚ด, ์˜ˆ์™ธ ๋ฐœ์ƒ ๋“ฑ ์‹œ์Šคํ…œ์ ์ธ ์ด์œ )
Log.d("post", "onFailure ์—๋Ÿฌ: " + t.message.toString())
} else {
// ํ†ต์‹ ์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ(์‘๋‹ต์ฝ”๋“œ 3xx, 4xx ๋“ฑ)
handleErrorResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.")
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์‹คํŒจ")
}
})
}

override fun onFailure(call: Call<Void>, t: Throwable) {
// ํ†ต์‹  ์‹คํŒจ (์ธํ„ฐ๋„ท ๋Šํ‚ด, ์˜ˆ์™ธ ๋ฐœ์ƒ ๋“ฑ ์‹œ์Šคํ…œ์ ์ธ ์ด์œ )
handleErrorResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.")
Log.d("post", "onFailure ์—๋Ÿฌ: " + t.message.toString())
}
})
}
}

Expand All @@ -79,20 +86,42 @@ class UploadReviewViewModel(private val repository: ReviewRepository) : ViewMode
response: Response<Void>
) {
if (response.isSuccessful) {
handleSuccessResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.")
// ์ •์ƒ์ ์œผ๋กœ ํ†ต์‹ ์ด ์„ฑ๊ณต๋œ ๊ฒฝ์šฐ
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์„ฑ๊ณต: " + response.body().toString())
// onClickEvent()

} else {
// ํ†ต์‹ ์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ(์‘๋‹ต์ฝ”๋“œ 3xx, 4xx ๋“ฑ)
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์‹คํŒจ"+response.code())
handleErrorResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.")
Log.d("post", "onResponse ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์‹คํŒจ")
}
}

override fun onFailure(call: Call<Void>, t: Throwable) {
// ํ†ต์‹  ์‹คํŒจ (์ธํ„ฐ๋„ท ๋Šํ‚ด, ์˜ˆ์™ธ ๋ฐœ์ƒ ๋“ฑ ์‹œ์Šคํ…œ์ ์ธ ์ด์œ )
Log.d("post", "onFailure ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์—๋Ÿฌ: " + t.message.toString())
handleErrorResponse("๋ฆฌ๋ทฐ ์ž‘์„ฑ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.")
Log.d("post", "onFailure ์—๋Ÿฌ: " + t.message.toString())
}
})
}
}


private fun handleSuccessResponse(message: String) {
viewModelScope.launch(Dispatchers.Main) {
_toastMessage.value = message
_isUpload.value = true

}
}



private fun handleErrorResponse(message: String) {
viewModelScope.launch(Dispatchers.Main) {
_toastMessage.value = message
_isUpload.value = false
}
}
}

0 comments on commit 87847ca

Please sign in to comment.