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:
parent
c9de2e1511
commit
833510110b
9 changed files with 56 additions and 27 deletions
|
@ -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 🚀
|
||||
|
|
|
@ -172,6 +172,7 @@ dependencies {
|
|||
implementation applicationDependencies.androidxSecurityCrypto
|
||||
|
||||
//Unit/Integration tests dependencies
|
||||
testImplementation unitTestDependencies.androidXTestCore
|
||||
testImplementation unitTestDependencies.junit
|
||||
testImplementation unitTestDependencies.robolectric
|
||||
testImplementation unitTestDependencies.kotlinTest
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class MarkupExtractTest {
|
|||
private val context: Context = ApplicationProvider.getApplicationContext()
|
||||
|
||||
@Mock
|
||||
lateinit var markup : Markup
|
||||
lateinit var markup: Markup
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
|
@ -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 }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue