diff --git a/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageActivity.kt b/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageActivity.kt index 262dcca..2233dbd 100644 --- a/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageActivity.kt +++ b/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageActivity.kt @@ -3,11 +3,11 @@ package com.photosurfer.android.search_result.detailimage import android.content.Context import android.content.Intent import android.os.Bundle -import android.util.Log import android.view.Gravity import android.widget.PopupMenu import androidx.activity.viewModels import com.photosurfer.android.core.base.BaseActivity +import com.photosurfer.android.core.util.EventObserver import com.photosurfer.android.core.util.StfalconImageViewerUtil import com.photosurfer.android.core.util.getImageUriFromBitmap import com.photosurfer.android.core.util.useBitmapImg @@ -34,6 +34,13 @@ class DetailImageActivity : binding.detailImageViewModel = detailImageViewModel startImageViewer() initShareButtonClickListener() + deleteImageSuccess() + initDeleteButtonClickListener() + } + + private fun initDeleteButtonClickListener() { + binding.ivDelete.setOnClickListener { + } } private fun initExtraData() { @@ -95,6 +102,15 @@ class DetailImageActivity : } } + private fun deleteImageSuccess() { + detailImageViewModel.deleteSuccessState.observe( + this, + EventObserver { + finish() + } + ) + } + companion object { const val START = "START" const val ADD = "ADD" diff --git a/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageViewModel.kt b/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageViewModel.kt index d102f59..e18bfbb 100644 --- a/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageViewModel.kt +++ b/feature/search-result/src/main/java/com/photosurfer/android/search_result/detailimage/DetailImageViewModel.kt @@ -1,10 +1,10 @@ package com.photosurfer.android.search_result.detailimage -import android.util.Log import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import com.photosurfer.android.core.base.BaseViewModel +import com.photosurfer.android.core.util.Event import com.photosurfer.android.domain.entity.TagInfo import com.photosurfer.android.domain.repository.ImageRepository import dagger.hilt.android.lifecycle.HiltViewModel @@ -26,6 +26,9 @@ class DetailImageViewModel @Inject constructor( private val _photoId = MutableLiveData() val photoId: LiveData = _photoId + private val _deleteSuccessState = MutableLiveData>() + val deleteSuccessState: LiveData> = _deleteSuccessState + fun updateTagInfoList(tags: List) { _tagInfoList.value = tags } @@ -50,4 +53,17 @@ class DetailImageViewModel @Inject constructor( } } } + + fun deleteImage() { + viewModelScope.launch { + val option = mutableMapOf() + option["id"] = requireNotNull(photoId.value) + imageRepository.deleteImage(option) + .onSuccess { + _deleteSuccessState.value = Event(true) + }.onFailure { + Timber.d(it, "${this.javaClass.name}_deleteImage") + } + } + } }