Skip to content

Commit 30fb623

Browse files
committed
cleanup
1 parent 2c98f57 commit 30fb623

File tree

3 files changed

+30
-11
lines changed

3 files changed

+30
-11
lines changed

app/src/main/java/com/codingwithmitch/openapi/ui/main/blog/UpdateBlogFragment.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@ import kotlinx.android.synthetic.main.fragment_view_blog.blog_title
1212
import android.content.Intent
1313
import android.net.Uri
1414
import android.util.Log
15+
import androidx.navigation.fragment.findNavController
1516
import com.codingwithmitch.openapi.ui.*
1617
import com.codingwithmitch.openapi.ui.main.blog.state.BlogStateEvent
17-
import com.codingwithmitch.openapi.ui.main.blog.viewmodel.setBlogPost
18-
import com.codingwithmitch.openapi.ui.main.blog.viewmodel.setUpdatedBlogFields
19-
import com.codingwithmitch.openapi.ui.main.blog.viewmodel.updateListItem
18+
import com.codingwithmitch.openapi.ui.main.blog.viewmodel.*
2019
import com.codingwithmitch.openapi.util.Constants.Companion.GALLERY_REQUEST_CODE
2120
import com.codingwithmitch.openapi.util.FileUtil
2221
import com.theartofdev.edmodo.cropper.CropImage
@@ -116,14 +115,12 @@ class UpdateBlogFragment : BaseBlogFragment() {
116115
stateChangeListener.onDataStateChange(dataState)
117116
dataState.data?.let{ data ->
118117
data.data?.getContentIfNotHandled()?.let{ viewState ->
118+
119+
// if this is not null, the blogpost was updated
119120
viewState.viewBlogFields.blogPost?.let{ blogPost ->
120-
viewModel.setUpdatedBlogFields(
121-
uri = null,
122-
title = blogPost.title,
123-
body = blogPost.body
124-
)
125-
viewModel.setBlogPost(blogPost)
126-
viewModel.updateListItem(blogPost)
121+
viewModel.onBlogPostUpdateSuccess(blogPost).let {
122+
findNavController().popBackStack()
123+
}
127124
}
128125
}
129126
}
@@ -150,7 +147,7 @@ class UpdateBlogFragment : BaseBlogFragment() {
150147

151148
private fun saveChanges(){
152149
var multipartBody: MultipartBody.Part? = null
153-
viewModel.viewState.value?.updatedBlogFields?.updatedImageUri?.let{ imageUri ->
150+
viewModel.getUpdatedBlogUri()?.let{ imageUri ->
154151
imageUri.path?.let{filePath ->
155152
view?.context?.let{ context ->
156153
FileUtil.getUriRealPathAboveKitkat(context, imageUri)?.let{ filepath ->

app/src/main/java/com/codingwithmitch/openapi/ui/main/blog/viewmodel/Getters.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.codingwithmitch.openapi.ui.main.blog.viewmodel
22

3+
import android.net.Uri
34
import com.codingwithmitch.openapi.models.BlogPost
45

56

@@ -57,6 +58,17 @@ fun BlogViewModel.getDummyBlogPost(): BlogPost{
5758
}
5859

5960

61+
fun BlogViewModel.getUpdatedBlogUri(): Uri? {
62+
getCurrentViewStateOrNew().let {
63+
it.updatedBlogFields.updatedImageUri?.let {
64+
return it
65+
}
66+
}
67+
return null
68+
}
69+
70+
71+
6072

6173

6274

app/src/main/java/com/codingwithmitch/openapi/ui/main/blog/viewmodel/Setters.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,16 @@ fun BlogViewModel.setUpdatedBlogFields(title: String?, body: String?, uri: Uri?)
9494
}
9595

9696

97+
fun BlogViewModel.onBlogPostUpdateSuccess(blogPost: BlogPost){
98+
setUpdatedBlogFields(
99+
uri = null,
100+
title = blogPost.title,
101+
body = blogPost.body
102+
) // update UpdateBlogFragment (not really necessary since navigating back)
103+
setBlogPost(blogPost) // update ViewBlogFragment
104+
updateListItem(blogPost) // update BlogFragment
105+
}
106+
97107

98108

99109

0 commit comments

Comments
 (0)