Skip to content

Commit 4d9df46

Browse files
committed
change color icon selection fields
1 parent 727c143 commit 4d9df46

File tree

9 files changed

+110
-33
lines changed

9 files changed

+110
-33
lines changed

features/feature_change_activity_filter/src/main/java/com/example/util/simpletimetracker/feature_change_activity_filter/view/ChangeActivityFilterFragment.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.os.Bundle
55
import android.view.LayoutInflater
66
import android.view.ViewGroup
77
import androidx.core.view.isVisible
8+
import androidx.core.view.updateLayoutParams
89
import androidx.core.widget.doAfterTextChanged
910
import androidx.fragment.app.viewModels
1011
import com.example.util.simpletimetracker.core.base.BaseFragment
@@ -29,6 +30,7 @@ import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmpty
2930
import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate
3031
import com.example.util.simpletimetracker.feature_base_adapter.info.createInfoAdapterDelegate
3132
import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate
33+
import com.example.util.simpletimetracker.feature_change_activity_filter.R
3234
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Closed
3335
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Color
3436
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Type
@@ -207,6 +209,12 @@ class ChangeActivityFilterFragment :
207209
// Chooser fields
208210
fieldChangeActivityFilterColor.isVisible = isClosed || state.current is Color
209211
fieldChangeActivityFilterType.isVisible = isClosed || state.current is Type
212+
213+
// Chooser size
214+
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
215+
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
216+
val colorSize = if (state.current is Color) sizeDefault else sizeBig
217+
fieldChangeActivityFilterColor.updateLayoutParams { height = colorSize }
210218
}
211219

212220
private fun updateTypes(

features/feature_change_activity_filter/src/main/res/layout/change_activity_filter_fragment.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
android:id="@+id/fieldChangeActivityFilterColor"
111111
style="@style/InputFieldCard"
112112
android:layout_width="0dp"
113-
android:layout_height="@dimen/input_field_height"
113+
android:layout_height="@dimen/input_field_height_big"
114114
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
115115
android:layout_marginTop="3dp"
116116
app:layout_constraintEnd_toEndOf="parent"

features/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.view.LayoutInflater
66
import android.view.ViewGroup
77
import androidx.core.view.isInvisible
88
import androidx.core.view.isVisible
9+
import androidx.core.view.updateLayoutParams
910
import androidx.core.widget.doAfterTextChanged
1011
import androidx.fragment.app.viewModels
1112
import com.example.util.simpletimetracker.core.base.BaseFragment
@@ -31,12 +32,13 @@ import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmpty
3132
import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate
3233
import com.example.util.simpletimetracker.feature_base_adapter.info.createInfoAdapterDelegate
3334
import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate
34-
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryTypesViewData
35-
import com.example.util.simpletimetracker.feature_change_category.viewModel.ChangeCategoryViewModel
35+
import com.example.util.simpletimetracker.feature_change_category.R
3636
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.Closed
3737
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.Color
3838
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.GoalTime
3939
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.Type
40+
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryTypesViewData
41+
import com.example.util.simpletimetracker.feature_change_category.viewModel.ChangeCategoryViewModel
4042
import com.example.util.simpletimetracker.feature_change_goals.api.ChangeRecordTypeGoalsViewData
4143
import com.example.util.simpletimetracker.feature_change_goals.views.GoalsViewDelegate
4244
import com.example.util.simpletimetracker.feature_views.extension.animateColor
@@ -277,6 +279,12 @@ class ChangeCategoryFragment :
277279
fieldChangeCategoryColor.isVisible = isClosed || state.current is Color
278280
fieldChangeCategoryType.isVisible = isClosed || state.current is Type
279281
fieldChangeCategoryGoalTime.isVisible = isClosed || state.current is GoalTime
282+
283+
// Chooser size
284+
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
285+
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
286+
val colorSize = if (state.current is Color) sizeDefault else sizeBig
287+
fieldChangeCategoryColor.updateLayoutParams { height = colorSize }
280288
}
281289

282290
private fun updateGoalsState(state: ChangeRecordTypeGoalsViewData) = with(binding) {

features/feature_change_category/src/main/res/layout/change_category_fragment.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@
153153
android:id="@+id/fieldChangeCategoryColor"
154154
style="@style/InputFieldCard"
155155
android:layout_width="0dp"
156-
android:layout_height="@dimen/input_field_height"
156+
android:layout_height="@dimen/input_field_height_big"
157157
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
158158
android:layout_marginTop="3dp"
159159
app:layout_constraintEnd_toEndOf="parent"

features/feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import android.view.LayoutInflater
77
import android.view.ViewGroup
88
import androidx.core.view.isInvisible
99
import androidx.core.view.isVisible
10+
import androidx.core.view.setPadding
11+
import androidx.core.view.updateLayoutParams
1012
import androidx.core.widget.doAfterTextChanged
1113
import androidx.fragment.app.viewModels
1214
import androidx.recyclerview.widget.GridLayoutManager
@@ -53,6 +55,7 @@ import com.example.util.simpletimetracker.feature_change_record_tag.viewData.Cha
5355
import com.example.util.simpletimetracker.feature_change_record_tag.viewData.ChangeRecordTagTypesViewData
5456
import com.example.util.simpletimetracker.feature_change_record_tag.viewModel.ChangeRecordTagViewModel
5557
import com.example.util.simpletimetracker.feature_views.extension.animateColor
58+
import com.example.util.simpletimetracker.feature_views.extension.dpToPx
5659
import com.example.util.simpletimetracker.feature_views.extension.setCompoundDrawableWithIntrinsicBounds
5760
import com.example.util.simpletimetracker.feature_views.extension.setOnClick
5861
import com.example.util.simpletimetracker.feature_views.extension.visible
@@ -358,6 +361,7 @@ class ChangeRecordTagFragment :
358361
)
359362

360363
val isClosed = state.current is Closed
364+
spaceChangeRecordTagFieldsTop.isVisible = !isClosed
361365
inputChangeRecordTagName.isVisible = isClosed
362366
btnChangeRecordTagSelectActivity.isVisible = isClosed
363367
btnChangeRecordTagStatistics.isVisible =
@@ -374,6 +378,16 @@ class ChangeRecordTagFragment :
374378
fieldChangeRecordTagIcon.isVisible = isClosed || state.current is Icon
375379
fieldChangeRecordTagType.isVisible = isClosed || state.current is Type
376380
fieldChangeRecordTagDefaultType.isVisible = isClosed || state.current is DefaultType
381+
382+
// Chooser size
383+
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
384+
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
385+
val colorSize = if (state.current is Color) sizeDefault else sizeBig
386+
fieldChangeRecordTagColor.updateLayoutParams { height = colorSize }
387+
val iconSize = if (state.current is Icon) sizeDefault else sizeBig
388+
fieldChangeRecordTagIcon.updateLayoutParams { height = iconSize }
389+
val iconPreviewPadding = if (state.current is Icon) 4 else 8
390+
iconChangeRecordTagIconPreview.setPadding(iconPreviewPadding.dpToPx())
377391
}
378392

379393
private fun updateIconColorSourceSelected(selected: Boolean) = with(binding) {

features/feature_change_record_tag/src/main/res/layout/change_record_tag_fragment.xml

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,13 @@
158158
app:barrierDirection="bottom"
159159
app:constraint_referenced_ids="btnChangeRecordTagStatistics, btnChangeRecordTagArchive, btnChangeRecordTagDelete" />
160160

161+
<Space
162+
android:id="@+id/spaceChangeRecordTagFieldsTop"
163+
android:layout_width="match_parent"
164+
android:layout_height="@dimen/edit_screen_field_top_margin"
165+
android:visibility="gone"
166+
app:layout_constraintTop_toBottomOf="@id/barrierChangeRecordTagButtons" />
167+
161168
<com.google.android.material.textfield.TextInputLayout
162169
android:id="@+id/inputChangeRecordTagName"
163170
style="@style/ChangeItemInputField"
@@ -166,7 +173,7 @@
166173
android:layout_marginHorizontal="@dimen/edit_screen_margin_horizontal"
167174
android:layout_marginTop="@dimen/edit_screen_field_top_margin"
168175
app:errorIconDrawable="@null"
169-
app:layout_constraintTop_toBottomOf="@id/barrierChangeRecordTagButtons">
176+
app:layout_constraintTop_toBottomOf="@id/spaceChangeRecordTagFieldsTop">
170177

171178
<com.google.android.material.textfield.TextInputEditText
172179
android:id="@+id/etChangeRecordTagName"
@@ -181,13 +188,15 @@
181188
android:id="@+id/fieldChangeRecordTagColor"
182189
style="@style/InputFieldCard"
183190
android:layout_width="0dp"
184-
android:layout_height="@dimen/input_field_height"
185-
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
191+
android:layout_height="@dimen/input_field_height_big"
192+
android:layout_marginStart="@dimen/edit_screen_field_margin_horizontal"
186193
android:layout_marginTop="3dp"
187-
app:layout_constraintEnd_toEndOf="parent"
194+
android:layout_marginEnd="0dp"
195+
app:layout_constraintEnd_toStartOf="@id/fieldChangeRecordTagIcon"
188196
app:layout_constraintStart_toStartOf="parent"
189197
app:layout_constraintTop_toBottomOf="@id/inputChangeRecordTagName"
190-
app:layout_goneMarginTop="@dimen/edit_screen_field_top_margin">
198+
app:layout_goneMarginEnd="@dimen/edit_screen_field_margin_horizontal"
199+
app:layout_goneMarginTop="0dp">
191200

192201
<androidx.constraintlayout.widget.ConstraintLayout
193202
android:layout_width="match_parent"
@@ -226,12 +235,15 @@
226235
android:id="@+id/fieldChangeRecordTagIcon"
227236
style="@style/InputFieldCard"
228237
android:layout_width="0dp"
229-
android:layout_height="@dimen/input_field_height"
230-
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
238+
android:layout_height="@dimen/input_field_height_big"
239+
android:layout_marginStart="0dp"
240+
android:layout_marginTop="3dp"
241+
android:layout_marginEnd="@dimen/edit_screen_field_margin_horizontal"
231242
app:layout_constraintEnd_toEndOf="parent"
232-
app:layout_constraintStart_toStartOf="parent"
233-
app:layout_constraintTop_toBottomOf="@id/fieldChangeRecordTagColor"
234-
app:layout_goneMarginTop="@dimen/edit_screen_field_top_margin">
243+
app:layout_constraintStart_toEndOf="@id/fieldChangeRecordTagColor"
244+
app:layout_constraintTop_toBottomOf="@id/inputChangeRecordTagName"
245+
app:layout_goneMarginStart="@dimen/edit_screen_field_margin_horizontal"
246+
app:layout_goneMarginTop="0dp">
235247

236248
<androidx.constraintlayout.widget.ConstraintLayout
237249
android:layout_width="match_parent"
@@ -250,7 +262,8 @@
250262
android:id="@+id/iconChangeRecordTagIconPreview"
251263
style="@style/EditScreenPreviewIcon"
252264
android:layout_width="match_parent"
253-
android:layout_height="match_parent" />
265+
android:layout_height="match_parent"
266+
android:padding="8dp" />
254267

255268
</com.google.android.material.card.MaterialCardView>
256269

@@ -274,6 +287,13 @@
274287

275288
</androidx.cardview.widget.CardView>
276289

290+
<androidx.constraintlayout.widget.Barrier
291+
android:id="@+id/barrierChangeRecordTagMain"
292+
android:layout_width="match_parent"
293+
android:layout_height="match_parent"
294+
app:barrierDirection="bottom"
295+
app:constraint_referenced_ids="fieldChangeRecordTagColor, fieldChangeRecordTagIcon" />
296+
277297
<androidx.cardview.widget.CardView
278298
android:id="@+id/fieldChangeRecordTagType"
279299
style="@style/InputFieldCard"
@@ -282,8 +302,7 @@
282302
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
283303
app:layout_constraintEnd_toEndOf="parent"
284304
app:layout_constraintStart_toStartOf="parent"
285-
app:layout_constraintTop_toBottomOf="@id/fieldChangeRecordTagIcon"
286-
app:layout_goneMarginTop="@dimen/edit_screen_field_top_margin">
305+
app:layout_constraintTop_toBottomOf="@id/barrierChangeRecordTagMain">
287306

288307
<androidx.constraintlayout.widget.ConstraintLayout
289308
android:layout_width="match_parent"
@@ -337,8 +356,7 @@
337356
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
338357
app:layout_constraintEnd_toEndOf="parent"
339358
app:layout_constraintStart_toStartOf="parent"
340-
app:layout_constraintTop_toBottomOf="@id/fieldChangeRecordTagType"
341-
app:layout_goneMarginTop="@dimen/edit_screen_field_top_margin">
359+
app:layout_constraintTop_toBottomOf="@id/fieldChangeRecordTagType">
342360

343361
<androidx.constraintlayout.widget.ConstraintLayout
344362
android:layout_width="match_parent"
@@ -407,7 +425,7 @@
407425
android:layout_width="0dp"
408426
android:layout_height="wrap_content"
409427
android:layout_marginHorizontal="@dimen/edit_screen_margin_horizontal"
410-
android:layout_marginTop="-2dp"
428+
android:layout_marginTop="-4dp"
411429
app:layout_constraintEnd_toEndOf="parent"
412430
app:layout_constraintStart_toStartOf="parent"
413431
app:layout_constraintTop_toBottomOf="@id/btnChangeRecordTagSelectActivity">

features/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import android.view.LayoutInflater
77
import android.view.ViewGroup
88
import androidx.core.view.isInvisible
99
import androidx.core.view.isVisible
10+
import androidx.core.view.setPadding
11+
import androidx.core.view.updateLayoutParams
1012
import androidx.core.widget.doAfterTextChanged
1113
import androidx.fragment.app.viewModels
1214
import androidx.recyclerview.widget.GridLayoutManager
@@ -47,6 +49,7 @@ import com.example.util.simpletimetracker.feature_base_adapter.loader.createLoad
4749
import com.example.util.simpletimetracker.feature_base_adapter.recordType.RecordTypeViewData
4850
import com.example.util.simpletimetracker.feature_change_goals.api.ChangeRecordTypeGoalsViewData
4951
import com.example.util.simpletimetracker.feature_change_goals.views.GoalsViewDelegate
52+
import com.example.util.simpletimetracker.feature_change_record_type.R
5053
import com.example.util.simpletimetracker.feature_change_record_type.viewData.ChangeRecordTypeAdditionalState
5154
import com.example.util.simpletimetracker.feature_change_record_type.viewData.ChangeRecordTypeCategoriesViewData
5255
import com.example.util.simpletimetracker.feature_change_record_type.viewData.ChangeRecordTypeChooserState.Additional
@@ -416,6 +419,16 @@ class ChangeRecordTypeFragment :
416419
fieldChangeRecordTypeCategory.isVisible = isClosed || state.current is Category
417420
fieldChangeRecordTypeGoalTime.isVisible = isClosed || state.current is GoalTime
418421
fieldChangeRecordTypeAdditional.isVisible = isClosed || state.current is Additional
422+
423+
// Chooser size
424+
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
425+
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
426+
val colorSize = if (state.current is Color) sizeDefault else sizeBig
427+
fieldChangeRecordTypeColor.updateLayoutParams { height = colorSize }
428+
val iconSize = if (state.current is Icon) sizeDefault else sizeBig
429+
fieldChangeRecordTypeIcon.updateLayoutParams { height = iconSize }
430+
val iconPreviewPadding = if (state.current is Icon) 4 else 8
431+
iconChangeRecordTypeIconPreview.setPadding(iconPreviewPadding.dpToPx())
419432
}
420433

421434
private fun updateGoalsState(state: ChangeRecordTypeGoalsViewData) = with(binding) {

0 commit comments

Comments
 (0)