1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-1369 App | Tech | Support Incompatible Sync status (#43)

This commit is contained in:
Konstantin Ivanov 2023-06-09 13:00:59 +02:00 committed by GitHub
parent 7723fca97e
commit cee634b939
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 4 deletions

View file

@ -801,18 +801,18 @@ open class EditorFragment : NavigationFragment<FragmentEditorBinding>(R.layout.f
binding.topToolbar.showStatusContainer()
}
val tvStatus = binding.topToolbar.statusText
binding.topToolbar.statusContainer.setOnLongClickListener {
binding.topToolbar.statusContainer.setOnClickListener {
when (status) {
SyncStatus.UNKNOWN -> toast(getString(R.string.sync_status_toast_unknown))
SyncStatus.FAILED -> toast(getString(R.string.sync_status_toast_failed))
SyncStatus.OFFLINE -> toast(getString(R.string.sync_status_toast_offline))
SyncStatus.SYNCING -> toast(getString(R.string.sync_status_toast_syncing))
SyncStatus.SYNCED -> toast(getString(R.string.sync_status_toast_synced))
SyncStatus.INCOMPATIBLE_VERSION -> toast(getString(R.string.sync_status_toast_incompatible))
else -> {
Timber.i("Missed sync status")
}
}
true
}
when (status) {
SyncStatus.UNKNOWN -> tvStatus.setText(R.string.sync_status_unknown)

View file

@ -98,6 +98,7 @@ import com.bumptech.glide.Glide
import javax.inject.Inject
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import timber.log.Timber
open class ObjectSetFragment :
NavigationFragment<FragmentObjectSetBinding>(R.layout.fragment_object_set),
@ -396,6 +397,19 @@ open class ObjectSetFragment :
SyncStatus.SYNCED -> tvStatus.setText(R.string.sync_status_synced)
SyncStatus.INCOMPATIBLE_VERSION -> tvStatus.setText(R.string.sync_status_incompatible)
}
topToolbarStatusContainer.setOnClickListener {
when (status) {
SyncStatus.UNKNOWN -> toast(getString(R.string.sync_status_toast_unknown))
SyncStatus.FAILED -> toast(getString(R.string.sync_status_toast_failed))
SyncStatus.OFFLINE -> toast(getString(R.string.sync_status_toast_offline))
SyncStatus.SYNCING -> toast(getString(R.string.sync_status_toast_syncing))
SyncStatus.SYNCED -> toast(getString(R.string.sync_status_toast_synced))
SyncStatus.INCOMPATIBLE_VERSION -> toast(getString(R.string.sync_status_toast_incompatible))
else -> {
Timber.i("Missed sync status")
}
}
}
}
private fun setupDataViewViewState(state: DataViewViewState) {

View file

@ -21,7 +21,10 @@ class StatusBadgeWidget @JvmOverloads constructor(
fun bind(status: SyncStatus?) {
when (status) {
SyncStatus.UNKNOWN, SyncStatus.FAILED, SyncStatus.OFFLINE -> tint(
SyncStatus.UNKNOWN,
SyncStatus.FAILED,
SyncStatus.OFFLINE,
SyncStatus.INCOMPATIBLE_VERSION -> tint(
color = context.color(R.color.sync_status_red)
)
SyncStatus.SYNCING -> tint(

View file

@ -107,7 +107,7 @@
<color name="default_object_basic_avatar_background_color">#F3F2EC</color>
<color name="default_object_basic_avatar_text_color">#CBC9BD</color>
<color name="RelationPlaceholderTextColor">#929082</color>
<color name="default_status_text_color">#929082</color>
<color name="default_status_text_color">@color/text_secondary</color>
<color name="default_grey">#929082</color>
<color name="keychain_text_color">#1BA0EB</color>

View file

@ -291,6 +291,7 @@
<string name="sync_status_toast_syncing">Downloading or uploading data to some node</string>
<string name="sync_status_toast_synced">Backed up on one node at least</string>
<string name="sync_status_toast_failed">Failed to sync, trying again…</string>
<string name="sync_status_toast_incompatible">Version outdated. Please update Anytype</string>
<string name="relation_format_description">Description</string>
<string name="relation_format_title">Title</string>