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

App | Fixes for 0.5.0 (#2030)

This commit is contained in:
Evgenii Kozlov 2022-01-11 14:07:39 +03:00 committed by GitHub
parent c9de2e1511
commit 833510110b
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 56 additions and 27 deletions

View file

@ -1,5 +1,11 @@
# Change log for Android @Anytype app.
## Version 0.5.1 (WIP)
### Design & UX 🔳
* Sets | Fix tag and status colors for night mode for lists (#2030)
## Version 0.5.0
### New features & enhancements 🚀

View file

@ -172,6 +172,7 @@ dependencies {
implementation applicationDependencies.androidxSecurityCrypto
//Unit/Integration tests dependencies
testImplementation unitTestDependencies.androidXTestCore
testImplementation unitTestDependencies.junit
testImplementation unitTestDependencies.robolectric
testImplementation unitTestDependencies.kotlinTest

View file

@ -54,8 +54,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.Document)
onDocumentClicked(item.target, item.isLoading)
if (item is DashboardView.Document) {
onDocumentClicked(item.target, item.isLoading)
}
}
}
}
@ -66,8 +67,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.Document)
onDocumentClicked(item.target, item.isLoading)
if (item is DashboardView.Document) {
onDocumentClicked(item.target, item.isLoading)
}
}
}
}
@ -78,8 +80,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.Document)
onDocumentClicked(item.target, item.isLoading)
if (item is DashboardView.Document) {
onDocumentClicked(item.target, item.isLoading)
}
}
}
}
@ -92,8 +95,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.Archive)
onArchiveClicked(item.target)
if (item is DashboardView.Archive) {
onArchiveClicked(item.target)
}
}
}
}
@ -106,8 +110,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.ObjectSet)
onObjectSetClicked(item.target)
if (item is DashboardView.ObjectSet) {
onObjectSetClicked(item.target)
}
}
}
itemView.typeTitle.setText(R.string.set)
@ -121,8 +126,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.ObjectSet)
onObjectSetClicked(item.target)
if (item is DashboardView.ObjectSet) {
onObjectSetClicked(item.target)
}
}
}
itemView.tvSetTypeName.setText(R.string.set)
@ -134,8 +140,9 @@ class DashboardAdapter(
val pos = bindingAdapterPosition
if (pos != RecyclerView.NO_POSITION) {
val item = data[pos]
check(item is DashboardView.Document)
onDocumentClicked(item.target, item.isLoading)
if (item is DashboardView.Document) {
onDocumentClicked(item.target, item.isLoading)
}
}
}
}

View file

@ -2300,11 +2300,15 @@ open class EditorFragment : NavigationFragment(R.layout.fragment_editor),
)
}
in DragAndDropConfig.bottomRange -> {
vm.onDragAndDrop(
dragged = blockAdapter.views[dndTargetPos].id,
target = blockAdapter.views[vh.bindingAdapterPosition].id,
position = Position.BOTTOM
)
try {
vm.onDragAndDrop(
dragged = blockAdapter.views[dndTargetPos].id,
target = blockAdapter.views[vh.bindingAdapterPosition].id,
position = Position.BOTTOM
)
} catch (e: Exception) {
toast("Failed to drop. Please, try again later.")
}
}
else -> toast("drop skipped, scenario 1")
}

View file

@ -32,7 +32,7 @@ class MarkupExtractTest {
private val context: Context = ApplicationProvider.getApplicationContext()
@Mock
lateinit var markup : Markup
lateinit var markup: Markup
@Before
fun setup() {

View file

@ -5,6 +5,8 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.LinearLayout
import com.anytypeio.anytype.core_ui.R
import com.anytypeio.anytype.core_ui.extensions.dark
import com.anytypeio.anytype.core_ui.extensions.light
import com.anytypeio.anytype.core_utils.ext.gone
import com.anytypeio.anytype.core_utils.ext.setDrawableColor
import com.anytypeio.anytype.core_utils.ext.visible
@ -29,9 +31,14 @@ class ListViewRelationTagValueView @JvmOverloads constructor(
tvCount.gone()
}
val color = ThemeColor.values().find { it.title == tagColor }
val defaultTextColor = resources.getColor(R.color.text_primary, null)
val defaultBackground = resources.getColor(R.color.shape_primary, null)
if (color != null) {
tvName.setTextColor(color.text)
tvName.background.setDrawableColor(color.background)
tvName.setTextColor(resources.dark(color, defaultTextColor))
tvName.background.setDrawableColor(resources.light(color, defaultBackground))
} else {
tvName.setTextColor(defaultTextColor)
tvName.background.setDrawableColor(defaultBackground)
}
}
}

View file

@ -9,6 +9,7 @@ import android.widget.TextView
import androidx.constraintlayout.helper.widget.Flow
import androidx.constraintlayout.widget.ConstraintLayout
import com.anytypeio.anytype.core_ui.R
import com.anytypeio.anytype.core_ui.extensions.dark
import com.anytypeio.anytype.core_ui.widgets.ListViewRelationObjectValueView
import com.anytypeio.anytype.core_ui.widgets.ListViewRelationTagValueView
import com.anytypeio.anytype.core_utils.ext.dimen
@ -128,6 +129,7 @@ class ListViewItemRelationGroupWidget @JvmOverloads constructor(
}
}
is DefaultObjectRelationValueView.Status -> {
val defaultTextColor = resources.getColor(R.color.text_primary, null)
if (relation.status.isNotEmpty()) {
val status = relation.status[0]
val color = ThemeColor.values().find { v -> v.title == status.color }
@ -139,7 +141,9 @@ class ListViewItemRelationGroupWidget @JvmOverloads constructor(
ellipsize = TextUtils.TruncateAt.END
setTextSize(TypedValue.COMPLEX_UNIT_PX, defaultTextSize)
if (color != null) {
setTextColor(color.text)
setTextColor(resources.dark(color, defaultTextColor))
} else {
setTextColor(defaultTextColor)
}
}
addView(view)

View file

@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<solid android:color="#F3F2EC" />
<solid android:color="@color/shape_tertiary" />
</shape>

View file

@ -4,7 +4,7 @@ import com.anytypeio.anytype.core_models.Id
import com.anytypeio.anytype.core_models.Relation
import com.anytypeio.anytype.presentation.editor.editor.Store
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.mapNotNull
class DefaultObjectRelationProvider(
private val relations: Store.Relations
@ -14,8 +14,8 @@ class DefaultObjectRelationProvider(
}
override fun subscribe(relation: Id): Flow<Relation> {
return relations.stream().map { relations ->
relations.first { it.key == relation }
return relations.stream().mapNotNull { relations ->
relations.find { it.key == relation }
}
}
}