From 11fdf626c13ce71e171a944bd4b0a7b81a2c8bf6 Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Thu, 24 Nov 2022 17:51:50 +0300 Subject: [PATCH] DROID-534 Sets | Enhancement | Design review fixes (#2717) * DROID-534 data-view-customize-view screen redesign * DROID-534 relation format icon fixes * DROID-534 fixed item decoration on data-view-view-sort screen * DROID-534 fixed empty state design in sorts and filters --- .../ui/sets/modals/sort/ViewerSortFragment.kt | 28 +++++++---- app/src/main/res/layout/fragment_filter.xml | 25 +++++----- .../main/res/layout/fragment_viewer_sort.xml | 3 +- .../dataview/modals/FilterByAdapter.kt | 10 ++-- .../modals/FilterCheckboxViewHolder.kt | 3 +- .../dataview/modals/FilterDateViewHolder.kt | 3 +- .../dataview/modals/FilterNumberViewHolder.kt | 3 +- .../dataview/modals/FilterObjectViewHolder.kt | 3 +- .../dataview/modals/FilterStatusViewHolder.kt | 5 +- .../dataview/modals/FilterTagViewHolder.kt | 5 +- .../dataview/modals/FilterTextViewHolder.kt | 3 +- .../dataview/modals/FilterViewHolder.kt | 7 ++- .../features/sets/ViewerSortAdapter.kt | 3 +- .../widgets/RelationFormatIconWidget.kt | 28 +++++------ .../main/res/drawable/ic_arrow_forward_24.xml | 2 +- .../ic_relation_format_background.xml | 6 +++ .../layout/item_dv_viewer_filter_checkbox.xml | 32 ++++++++----- .../res/layout/item_dv_viewer_filter_date.xml | 30 +++++++----- .../layout/item_dv_viewer_filter_number.xml | 32 ++++++++----- .../layout/item_dv_viewer_filter_object.xml | 48 +++++++++++-------- .../layout/item_dv_viewer_filter_status.xml | 32 ++++++++----- .../res/layout/item_dv_viewer_filter_tag.xml | 34 ++++++++----- .../res/layout/item_dv_viewer_filter_text.xml | 26 ++++++---- .../src/main/res/layout/item_viewer_sort.xml | 15 ++++-- .../widget_data_view_customize_view.xml | 28 +++++------ 25 files changed, 249 insertions(+), 165 deletions(-) create mode 100644 core-ui/src/main/res/drawable/ic_relation_format_background.xml diff --git a/app/src/main/java/com/anytypeio/anytype/ui/sets/modals/sort/ViewerSortFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/sets/modals/sort/ViewerSortFragment.kt index d34fbed967..0839b22422 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/sets/modals/sort/ViewerSortFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/sets/modals/sort/ViewerSortFragment.kt @@ -7,13 +7,19 @@ import android.view.ViewGroup import androidx.core.os.bundleOf import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.anytypeio.anytype.R import com.anytypeio.anytype.core_models.Id +import com.anytypeio.anytype.core_ui.extensions.drawable import com.anytypeio.anytype.core_ui.features.sets.ViewerSortAdapter +import com.anytypeio.anytype.core_ui.layout.DividerVerticalItemDecoration import com.anytypeio.anytype.core_ui.reactive.clicks -import com.anytypeio.anytype.core_utils.ext.* +import com.anytypeio.anytype.core_utils.ext.arg +import com.anytypeio.anytype.core_utils.ext.gone +import com.anytypeio.anytype.core_utils.ext.invisible +import com.anytypeio.anytype.core_utils.ext.subscribe +import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.core_utils.ui.BaseBottomSheetFragment import com.anytypeio.anytype.databinding.FragmentViewerSortBinding import com.anytypeio.anytype.di.common.componentManager @@ -39,8 +45,8 @@ open class ViewerSortFragment : BaseBottomSheetFragment + + - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_viewer_sort.xml b/app/src/main/res/layout/fragment_viewer_sort.xml index c7476df7ea..a2ed06efc6 100644 --- a/app/src/main/res/layout/fragment_viewer_sort.xml +++ b/app/src/main/res/layout/fragment_viewer_sort.xml @@ -54,7 +54,7 @@ android:layout_height="68dp" android:textSize="15sp" android:fontFamily="@font/inter_regular" - android:textColor="#CBC9BD" + android:textColor="@color/glyph_active" android:gravity="center" android:layout_marginBottom="@dimen/dp_20" android:text="@string/sort_empty_state" /> @@ -65,6 +65,7 @@ android:layout_height="match_parent" android:layout_marginStart="12dp" android:layout_marginEnd="12dp" + android:paddingBottom="@dimen/dp_16" tools:listitem="@layout/item_viewer_sort" /> \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterByAdapter.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterByAdapter.kt index 4e02444306..27b736c2ab 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterByAdapter.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterByAdapter.kt @@ -3,8 +3,13 @@ package com.anytypeio.anytype.core_ui.features.dataview.modals import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.anytypeio.anytype.core_ui.R -import com.anytypeio.anytype.core_ui.databinding.* +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterCheckboxBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterDateBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterNumberBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterObjectBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterStatusBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterTagBinding +import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterTextBinding import com.anytypeio.anytype.presentation.sets.filter.FilterClick import com.anytypeio.anytype.presentation.sets.model.FilterView import com.anytypeio.anytype.presentation.sets.model.FilterView.Companion.HOLDER_CHECKBOX @@ -133,7 +138,6 @@ class FilterByAdapter( } } HOLDER_OBJECT -> { - val views = inflater.inflate(R.layout.item_dv_viewer_filter_object, parent, false) FilterObjectViewHolder( ItemDvViewerFilterObjectBinding.inflate( inflater, parent, false diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterCheckboxViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterCheckboxViewHolder.kt index 5dfee4840c..92e4688e13 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterCheckboxViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterCheckboxViewHolder.kt @@ -4,6 +4,7 @@ import android.widget.ImageView import android.widget.TextView import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterCheckboxBinding +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.presentation.extension.hasValue @@ -15,7 +16,7 @@ class FilterCheckboxViewHolder( override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveCheckbox diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterDateViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterDateViewHolder.kt index c2a67ec80f..3213711494 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterDateViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterDateViewHolder.kt @@ -4,6 +4,7 @@ import android.widget.ImageView import android.widget.TextView import com.anytypeio.anytype.core_models.DVFilterQuickOption import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterDateBinding +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.formatTimestamp import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible @@ -16,7 +17,7 @@ class FilterDateViewHolder(val binding: ItemDvViewerFilterDateBinding) : override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveDate diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterNumberViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterNumberViewHolder.kt index a1b79cf2b6..b853e82690 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterNumberViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterNumberViewHolder.kt @@ -4,6 +4,7 @@ import android.widget.ImageView import android.widget.TextView import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterNumberBinding +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.presentation.extension.hasValue @@ -13,7 +14,7 @@ class FilterNumberViewHolder(val binding: ItemDvViewerFilterNumberBinding) : Fil override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveNumber diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterObjectViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterObjectViewHolder.kt index 9ce3db0aab..09f2f2b57f 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterObjectViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterObjectViewHolder.kt @@ -4,6 +4,7 @@ import android.widget.ImageView import android.widget.TextView import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterObjectBinding import com.anytypeio.anytype.core_ui.widgets.ObjectIconTextWidget +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.gone import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.presentation.extension.hasValue @@ -15,7 +16,7 @@ class FilterObjectViewHolder(val binding: ItemDvViewerFilterObjectBinding) : Fil override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveObject diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt index 3d5ee8e48b..5912957460 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterStatusViewHolder.kt @@ -2,13 +2,14 @@ package com.anytypeio.anytype.core_ui.features.dataview.modals import android.widget.ImageView import android.widget.TextView +import com.anytypeio.anytype.core_models.ThemeColor import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterStatusBinding import com.anytypeio.anytype.core_ui.extensions.color import com.anytypeio.anytype.core_ui.extensions.dark +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible -import com.anytypeio.anytype.core_models.ThemeColor import com.anytypeio.anytype.presentation.extension.hasValue import com.anytypeio.anytype.presentation.sets.model.FilterView import timber.log.Timber @@ -18,7 +19,7 @@ class FilterStatusViewHolder(val binding: ItemDvViewerFilterStatusBinding) : override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveStatus diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt index ccbd91ad8b..606e5d191c 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTagViewHolder.kt @@ -3,15 +3,16 @@ package com.anytypeio.anytype.core_ui.features.dataview.modals import android.content.res.ColorStateList import android.widget.ImageView import android.widget.TextView +import com.anytypeio.anytype.core_models.ThemeColor import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterTagBinding import com.anytypeio.anytype.core_ui.extensions.color import com.anytypeio.anytype.core_ui.extensions.dark import com.anytypeio.anytype.core_ui.extensions.light +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.gone import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible -import com.anytypeio.anytype.core_models.ThemeColor import com.anytypeio.anytype.presentation.extension.hasValue import com.anytypeio.anytype.presentation.sets.model.FilterView import com.anytypeio.anytype.presentation.sets.model.TagView @@ -21,7 +22,7 @@ class FilterTagViewHolder(val binding: ItemDvViewerFilterTagBinding) : FilterVie override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveTag diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTextViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTextViewHolder.kt index 8ef8d86b84..1f86f8102f 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTextViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterTextViewHolder.kt @@ -4,6 +4,7 @@ import android.widget.ImageView import android.widget.TextView import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemDvViewerFilterTextBinding +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.presentation.extension.hasValue @@ -14,7 +15,7 @@ class FilterTextViewHolder(val binding: ItemDvViewerFilterTextBinding) : FilterV override val textTitle: TextView get() = binding.tvTitle override val textCondition: TextView get() = binding.tvCondition - override val iconFormat: ImageView get() = binding.iconFormat + override val iconFormat: RelationFormatIconWidget get() = binding.iconFormat override val iconArrow: ImageView get() = binding.iconArrow override val iconRemove: ImageView get() = binding.iconRemoveText diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterViewHolder.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterViewHolder.kt index 06d72a4f15..22e7df0114 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterViewHolder.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/modals/FilterViewHolder.kt @@ -4,8 +4,7 @@ import android.view.View import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.anytypeio.anytype.core_models.Relation -import com.anytypeio.anytype.core_ui.extensions.relationIcon +import com.anytypeio.anytype.core_ui.widgets.RelationFormatIconWidget import com.anytypeio.anytype.core_utils.ext.gone import com.anytypeio.anytype.core_utils.ext.visible import com.anytypeio.anytype.presentation.sets.model.ColumnView @@ -14,7 +13,7 @@ abstract class FilterViewHolder(view: View) : RecyclerView.ViewHolder(view) { abstract val textTitle: TextView abstract val textCondition: TextView - abstract val iconFormat: ImageView + abstract val iconFormat: RelationFormatIconWidget abstract val iconArrow: ImageView abstract val iconRemove: ImageView @@ -28,6 +27,6 @@ abstract class FilterViewHolder(view: View) : RecyclerView.ViewHolder(view) { } textTitle.text = title textCondition.text = condition - iconFormat.setBackgroundResource(format.relationIcon(isMedium = true)) + iconFormat.bind(format) } } \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/ViewerSortAdapter.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/ViewerSortAdapter.kt index 9dd5f5e36f..a2dc708df5 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/ViewerSortAdapter.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/sets/ViewerSortAdapter.kt @@ -6,7 +6,6 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView import com.anytypeio.anytype.core_ui.databinding.ItemViewerSortBinding -import com.anytypeio.anytype.core_ui.extensions.icon import com.anytypeio.anytype.core_ui.extensions.text import com.anytypeio.anytype.core_utils.diff.DefaultDiffUtil import com.anytypeio.anytype.core_utils.ext.gone @@ -62,7 +61,7 @@ class ViewerSortAdapter( } tvTitle.text = item.name tvSubtitle.setText(item.type.text(item.format)) - ivRelation.setImageResource(item.format.icon(isMedium = true)) + ivRelation.bind(item.format) } } } diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/RelationFormatIconWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/RelationFormatIconWidget.kt index 4011f28f2e..b3a128c036 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/RelationFormatIconWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/RelationFormatIconWidget.kt @@ -3,7 +3,7 @@ package com.anytypeio.anytype.core_ui.widgets import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatImageView -import com.anytypeio.anytype.core_models.Relation +import com.anytypeio.anytype.core_models.RelationFormat import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.presentation.sets.model.ColumnView import timber.log.Timber @@ -12,20 +12,20 @@ class RelationFormatIconWidget @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null ) : AppCompatImageView(context, attrs) { - fun bind(format: Relation.Format) { + fun bind(format: RelationFormat) { when (format) { - Relation.Format.SHORT_TEXT -> setImageResource(R.drawable.ic_relation_format_text_small) - Relation.Format.LONG_TEXT -> setImageResource(R.drawable.ic_relation_format_text_small) - Relation.Format.NUMBER -> setImageResource(R.drawable.ic_relation_format_number_small) - Relation.Format.STATUS -> setImageResource(R.drawable.ic_relation_format_status_small) - Relation.Format.TAG -> setImageResource(R.drawable.ic_relation_format_tag_small) - Relation.Format.DATE -> setImageResource(R.drawable.ic_relation_format_date_small) - Relation.Format.FILE -> setImageResource(R.drawable.ic_relation_format_attachment_small) - Relation.Format.CHECKBOX -> setImageResource(R.drawable.ic_relation_format_checkbox_small) - Relation.Format.URL -> setImageResource(R.drawable.ic_relation_format_url_small) - Relation.Format.EMAIL -> setImageResource(R.drawable.ic_relation_format_email_small) - Relation.Format.PHONE -> setImageResource(R.drawable.ic_relation_format_phone_number_small) - Relation.Format.OBJECT -> setImageResource(R.drawable.ic_relation_format_object_small) + RelationFormat.SHORT_TEXT -> setImageResource(R.drawable.ic_relation_format_text_small) + RelationFormat.LONG_TEXT -> setImageResource(R.drawable.ic_relation_format_text_small) + RelationFormat.NUMBER -> setImageResource(R.drawable.ic_relation_format_number_small) + RelationFormat.STATUS -> setImageResource(R.drawable.ic_relation_format_status_small) + RelationFormat.TAG -> setImageResource(R.drawable.ic_relation_format_tag_small) + RelationFormat.DATE -> setImageResource(R.drawable.ic_relation_format_date_small) + RelationFormat.FILE -> setImageResource(R.drawable.ic_relation_format_attachment_small) + RelationFormat.CHECKBOX -> setImageResource(R.drawable.ic_relation_format_checkbox_small) + RelationFormat.URL -> setImageResource(R.drawable.ic_relation_format_url_small) + RelationFormat.EMAIL -> setImageResource(R.drawable.ic_relation_format_email_small) + RelationFormat.PHONE -> setImageResource(R.drawable.ic_relation_format_phone_number_small) + RelationFormat.OBJECT -> setImageResource(R.drawable.ic_relation_format_object_small) else -> Timber.d("Unexpected format: $format") } } diff --git a/core-ui/src/main/res/drawable/ic_arrow_forward_24.xml b/core-ui/src/main/res/drawable/ic_arrow_forward_24.xml index 69e60be670..3c7460c887 100644 --- a/core-ui/src/main/res/drawable/ic_arrow_forward_24.xml +++ b/core-ui/src/main/res/drawable/ic_arrow_forward_24.xml @@ -5,6 +5,6 @@ android:viewportHeight="24"> diff --git a/core-ui/src/main/res/drawable/ic_relation_format_background.xml b/core-ui/src/main/res/drawable/ic_relation_format_background.xml new file mode 100644 index 0000000000..51871bd961 --- /dev/null +++ b/core-ui/src/main/res/drawable/ic_relation_format_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_checkbox.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_checkbox.xml index 0ac746fc41..de4cf0456b 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_checkbox.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_checkbox.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintStart_toEndOf="@+id/iconRemoveCheckbox" + app:layout_constraintTop_toTopOf="parent"> + + + + diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_date.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_date.xml index 9f2fae3cb0..5a44587a8b 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_date.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_date.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintTop_toTopOf="parent"> + + + + diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_number.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_number.xml index c1c4f7e245..959307e9f2 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_number.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_number.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintStart_toEndOf="@+id/iconRemoveNumber" + app:layout_constraintTop_toTopOf="parent"> + + + + diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_object.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_object.xml index fb7162bfa3..9e9040d715 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_object.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_object.xml @@ -1,19 +1,27 @@ + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintTop_toTopOf="parent"> + + + + @@ -43,11 +51,11 @@ android:layout_width="0dp" android:layout_height="22dp" android:layout_marginEnd="12dp" - app:layout_goneMarginEnd="@dimen/dp_20" app:layout_constraintBottom_toBottomOf="@id/tvCondition" app:layout_constraintEnd_toStartOf="@id/iconArrow" app:layout_constraintStart_toEndOf="@id/tvCondition" - app:layout_constraintTop_toTopOf="@+id/tvCondition"> + app:layout_constraintTop_toTopOf="@+id/tvCondition" + app:layout_goneMarginEnd="@dimen/dp_20"> @@ -95,9 +103,9 @@ diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_status.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_status.xml index 73597af8fd..7476b22105 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_status.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_status.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintStart_toEndOf="@+id/iconRemoveStatus" + app:layout_constraintTop_toTopOf="parent"> + + + + diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_tag.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_tag.xml index b9cb87f225..ea5232277b 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_tag.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_tag.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintStart_toEndOf="@+id/iconRemoveTag" + app:layout_constraintTop_toTopOf="parent"> + + + + @@ -45,11 +53,11 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:layout_marginEnd="12dp" - app:layout_goneMarginEnd="@dimen/dp_20" app:layout_constraintBottom_toBottomOf="@+id/tvCondition" app:layout_constraintEnd_toStartOf="@+id/iconArrow" app:layout_constraintStart_toEndOf="@+id/tvCondition" - app:layout_constraintTop_toTopOf="@+id/tvCondition" /> + app:layout_constraintTop_toTopOf="@+id/tvCondition" + app:layout_goneMarginEnd="@dimen/dp_20" /> + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file diff --git a/core-ui/src/main/res/layout/item_dv_viewer_filter_text.xml b/core-ui/src/main/res/layout/item_dv_viewer_filter_text.xml index d6f88d9e7b..8f0fbb4b1f 100644 --- a/core-ui/src/main/res/layout/item_dv_viewer_filter_text.xml +++ b/core-ui/src/main/res/layout/item_dv_viewer_filter_text.xml @@ -5,15 +5,23 @@ android:layout_width="match_parent" android:layout_height="@dimen/dv_viewer_filter_item_height"> - + app:layout_constraintTop_toTopOf="parent"> + + + + @@ -66,9 +74,9 @@ diff --git a/core-ui/src/main/res/layout/item_viewer_sort.xml b/core-ui/src/main/res/layout/item_viewer_sort.xml index b8d14a92cf..c9317e5d52 100644 --- a/core-ui/src/main/res/layout/item_viewer_sort.xml +++ b/core-ui/src/main/res/layout/item_viewer_sort.xml @@ -17,14 +17,23 @@ android:visibility="gone" tools:visibility="visible" /> - + android:background="@drawable/ic_relation_format_background"> + + + + @@ -46,10 +45,10 @@ android:id="@+id/btnView" android:layout_width="52dp" android:layout_height="52dp" - android:layout_marginTop="12dp" + android:layout_marginStart="16dp" + android:layout_marginTop="14dp" android:background="@drawable/rect_data_view_customize_view_button" app:layout_constraintEnd_toStartOf="@+id/btnSettings" - app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/dragger"> @@ -65,10 +64,9 @@ android:id="@+id/btnSettings" android:layout_width="52dp" android:layout_height="52dp" - android:layout_marginTop="12dp" + android:layout_marginStart="20dp" + android:layout_marginTop="14dp" android:background="@drawable/rect_data_view_customize_view_button" - app:layout_constraintEnd_toStartOf="@+id/btnSort" - app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/btnView" app:layout_constraintTop_toBottomOf="@+id/dragger"> @@ -84,10 +82,10 @@ android:id="@+id/btnSort" android:layout_width="52dp" android:layout_height="52dp" - android:layout_marginTop="12dp" + android:layout_marginStart="20dp" + android:layout_marginTop="14dp" android:background="@drawable/rect_data_view_customize_view_button" app:layout_constraintEnd_toStartOf="@+id/btnFilter" - app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/btnSettings" app:layout_constraintTop_toBottomOf="@+id/dragger"> @@ -105,7 +103,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:layout_marginBottom="10dp" + android:layout_marginBottom="13dp" android:text="@string/view" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/btnView" @@ -118,7 +116,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:layout_marginBottom="10dp" + android:layout_marginBottom="13dp" android:text="@string/settings" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/btnSettings" @@ -131,7 +129,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:layout_marginBottom="10dp" + android:layout_marginBottom="13dp" android:text="@string/sort" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/btnSort" @@ -144,7 +142,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:layout_marginBottom="10dp" + android:layout_marginBottom="13dp" android:text="@string/filter" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/btnFilter"