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(