diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cb3c5d688..22817c4c86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Design & UX 🔳 * Apple emojis or uploaded image in block-action-toolbar link's preview (#630) +* Uploading state for upload-image-for-document flow (#765) ### Fixes & tech 🚒 diff --git a/app/src/main/java/com/agileburo/anytype/ui/page/modals/actions/DocumentIconActionMenuFragment.kt b/app/src/main/java/com/agileburo/anytype/ui/page/modals/actions/DocumentIconActionMenuFragment.kt index 8b061a893d..5e59574d77 100644 --- a/app/src/main/java/com/agileburo/anytype/ui/page/modals/actions/DocumentIconActionMenuFragment.kt +++ b/app/src/main/java/com/agileburo/anytype/ui/page/modals/actions/DocumentIconActionMenuFragment.kt @@ -16,6 +16,7 @@ import androidx.lifecycle.ViewModelProviders import com.agileburo.anytype.R import com.agileburo.anytype.core_utils.ext.parsePath import com.agileburo.anytype.core_utils.ext.toast +import com.agileburo.anytype.core_utils.ext.visible import com.agileburo.anytype.core_utils.ui.BaseFragment import com.agileburo.anytype.di.common.componentManager import com.agileburo.anytype.emojifier.Emojifier @@ -164,6 +165,7 @@ class DocumentIconActionMenuFragment : BaseFragment(R.layout.action_toolbar_page is ViewState.Exit -> exit() is ViewState.Error -> toast(state.message) is ViewState.Loading -> toast(getString(R.string.loading)) + is ViewState.Uploading -> progress.visible() } } diff --git a/app/src/main/res/layout/action_toolbar_page_icon.xml b/app/src/main/res/layout/action_toolbar_page_icon.xml index caf684a537..658565b0cc 100644 --- a/app/src/main/res/layout/action_toolbar_page_icon.xml +++ b/app/src/main/res/layout/action_toolbar_page_icon.xml @@ -1,5 +1,5 @@ - + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 286d6d2ac9..d6a15a06e1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -31,6 +31,10 @@ #ACA996 + + diff --git a/presentation/src/main/java/com/agileburo/anytype/presentation/page/picker/DocumentIconActionMenuViewModel.kt b/presentation/src/main/java/com/agileburo/anytype/presentation/page/picker/DocumentIconActionMenuViewModel.kt index 11b32586b8..efd6c889c1 100644 --- a/presentation/src/main/java/com/agileburo/anytype/presentation/page/picker/DocumentIconActionMenuViewModel.kt +++ b/presentation/src/main/java/com/agileburo/anytype/presentation/page/picker/DocumentIconActionMenuViewModel.kt @@ -31,6 +31,7 @@ class DocumentIconActionMenuViewModel( when { state.error != null -> ViewState.Error(state.error) state.isCompleted -> ViewState.Exit + state.isUploading -> ViewState.Uploading else -> ViewState.Idle } } @@ -91,6 +92,7 @@ class DocumentIconActionMenuViewModel( sealed class ViewState { object Loading : ViewState() + object Uploading : ViewState() object Exit : ViewState() object Idle : ViewState() data class Error(val message: String) : ViewState() @@ -124,6 +126,7 @@ class DocumentIconActionMenuViewModel( data class State( val isLoading: Boolean, + val isUploading: Boolean = false, val isCompleted: Boolean = false, val error: String? = null ) : Contract() { @@ -200,7 +203,8 @@ class DocumentIconActionMenuViewModel( } is Event.OnImagePickedFromGallery -> { state.copy( - isLoading = true + isUploading = true, + isLoading = false, ).also { actions.send( Action.SetImageIcon(