-
Matthias Urhahn authored
* Strings for contact diary encounter/visit button groups and extensions. * First draft, enchance person and location items to allow changing the new attributes. * Move circumstances text input + button into a custom view. Fix TextWatcher mechanism. Reduce clickable container area to header. Fix list items flickering on update. * Adjust duration storage to map long to JodaTime.Duration. Improve list item update mechanism, we don't need live updates, just live restoration on stableId change. * Fix inconsistent list/database updates. We need to to refresh the list data consistently. Introduce payload handling to prevent whole view refresh. * Call text changed listener after focus was lost. * LINTER ¯\_(ツ)_/¯ * Fix instrumentation tests. * Trim text from circumstances input. * Fix list items not expanding on selection because the ViewHolder wasn't re-layouted.
Matthias Urhahn authored* Strings for contact diary encounter/visit button groups and extensions. * First draft, enchance person and location items to allow changing the new attributes. * Move circumstances text input + button into a custom view. Fix TextWatcher mechanism. Reduce clickable container area to header. Fix list items flickering on update. * Adjust duration storage to map long to JodaTime.Duration. Improve list item update mechanism, we don't need live updates, just live restoration on stableId change. * Fix inconsistent list/database updates. We need to to refresh the list data consistently. Introduce payload handling to prevent whole view refresh. * Call text changed listener after focus was lost. * LINTER ¯\_(ツ)_/¯ * Fix instrumentation tests. * Trim text from circumstances input. * Fix list items not expanding on selection because the ViewHolder wasn't re-layouted.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
styles.xml 18.54 KiB
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.Bridge">
<item name="colorPrimary">@color/colorBrandSecondary</item>
<item name="colorPrimaryDark">@color/colorStableDark</item>
<item name="android:windowBackground">@color/colorBackground</item>
<item name="alertDialogTheme">@style/DialogAlertTheme</item>
<item name="android:actionOverflowButtonStyle">@style/CWAToolbar.Overflow</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="dialogTheme">@style/DialogTheme</item>
<item name="bottomSheetDialogTheme">@style/BottomSheetDialogTheme</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="ThemeOverlay.App.ExtendedFloatingActionButton" parent="">
<item name="colorSecondary">@color/colorAccentTintButton</item>
<item name="colorOnSecondary">@color/colorTextEmphasizedButton</item>
<item name="colorOnSurface">@color/colorAccentTintButtonPressed</item>
</style>
<style name="Widget.App.ExtendedFloatingActionButton" parent="Widget.MaterialComponents.ExtendedFloatingActionButton.Icon">
<item name="materialThemeOverlay">
@style/ThemeOverlay.App.ExtendedFloatingActionButton
</item>
</style>
<!-- Launcher theme with background -->
<style name="AppTheme.Launcher" parent="AppTheme.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
<!-- Main Application -->
<style name="AppTheme.Main" parent="AppTheme.NoActionBar" />
<style name="CWAToolbar" parent="@style/ThemeOverlay.AppCompat.DayNight.ActionBar">
<item name="colorPrimary">@color/colorSurface1</item>
<item name="android:background">@color/colorSurface1</item>
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="CWAToolbar.Menu" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="CWAToolbar.Overflow" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:tint">@color/colorTextPrimary1</item>
</style>
<style name="CWAToolbar.BackArrow">
<item name="navigationIcon">@drawable/ic_back</item>
<item name="navigationContentDescription">@string/accessibility_back</item>
</style>
<style name="CWAToolbar.Close">
<item name="navigationIcon">@drawable/ic_close</item>
<item name="navigationContentDescription">@string/accessibility_close</item>
</style>
<!-- Dialog Theme-->
<style name="DialogTheme" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
<item name="buttonBarPositiveButtonStyle">@style/DialogButtonTheme</item>
<item name="buttonBarNegativeButtonStyle">@style/DialogButtonTheme</item>
</style>
<style name="BottomSheetDialogTheme" parent="Theme.MaterialComponents.DayNight.BottomSheetDialog">
<item name="colorPrimary">@color/colorBrandSecondary</item>
<item name="colorPrimaryDark">@color/colorStableDark</item>
</style>
<style name="DialogButtonTheme" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">@color/colorAccentTintButton</item>
</style>
<!-- Alert Dialog Theme-->
<style name="DialogAlertTheme" parent="ThemeOverlay.AppCompat.Dialog.Alert">
<item name="buttonBarPositiveButtonStyle">@style/dialogPositiveButtonStyle</item>
<item name="buttonBarNegativeButtonStyle">@style/dialogNegativeButtonStyle</item>
</style>
<style name="dialogPositiveButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
<item name="android:textColor">@color/colorTextTint</item>
</style>
<style name="dialogNegativeButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<!-- ####################################
Button
###################################### -->
<style name="button">
<item name="android:paddingStart">@dimen/button_padding_start_end</item>
<item name="android:paddingEnd">@dimen/button_padding_start_end</item>
<item name="android:background">@drawable/button</item>
<item name="android:textColor">@color/button_text_color</item>
<item name="android:textSize">@dimen/font_button</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:letterSpacing">0.08</item>
</style>
<style name="buttonPrimary" parent="button">
<item name="android:backgroundTint">@color/button_primary</item>
<item name="android:textColor">@color/button_text_color_emphasized</item>
</style>
<style name="buttonReset" parent="button">
<item name="android:backgroundTint">@color/button_red</item>
<item name="android:textColor">@color/button_text_color_emphasized</item>
</style>
<style name="buttonLight" parent="button">
<item name="android:backgroundTint">@color/button_light</item>
<item name="android:stateListAnimator">@null</item>
</style>
<style name="buttonIcon">
<item name="android:background">@drawable/circle_ripple</item>
<item name="android:backgroundTint">@color/button_back</item>
</style>
<style name="buttonTracing">
<item name="android:textColor">@color/colorTextPrimary1</item>
<item name="android:background">@drawable/rectangle</item>
<item name="android:backgroundTint">@color/button_main_tracing</item>
<item name="android:paddingStart">@dimen/spacing_small</item>
<item name="android:paddingTop">@dimen/spacing_tiny</item>
<item name="android:paddingEnd">@dimen/spacing_small</item>
<item name="android:paddingBottom">@dimen/spacing_tiny</item>
</style>
<style name="switchBase" parent="Widget.AppCompat.CompoundButton.Switch">
<item name="android:colorControlActivated">@color/colorAccentTintIcon</item>
</style>
<!-- ####################################
Row
###################################### -->
<style name="row">
<item name="android:paddingStart">@dimen/button_padding_start_end</item>
<item name="android:paddingTop">@dimen/button_padding_top_bottom</item>
<item name="android:paddingEnd">@dimen/button_padding_start_end</item>
<item name="android:paddingBottom">@dimen/button_padding_top_bottom</item>
<item name="android:elevation">@dimen/elevation_weak</item>
<item name="android:textAllCaps">false</item>
<item name="android:background">@drawable/row</item>
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="rowSettings" parent="@style/row">
<item name="android:paddingStart">0dp</item>
</style>
<style name="rowOverview" parent="@style/row">
<item name="android:paddingStart">0dp</item>
<item name="android:paddingTop">@dimen/spacing_tiny</item>
<item name="android:paddingBottom">@dimen/spacing_tiny</item>
</style>
<!-- ####################################
Card
###################################### -->
<style name="Card">
<item name="android:padding">@dimen/card_padding</item>
<item name="android:background">@drawable/card</item>
<item name="android:elevation">@dimen/elevation_strong</item>
</style>
<style name="Card.NoPadding">
<item name="android:padding">@dimen/no_padding</item>
</style>
<style name="GreyCard" parent="Card.NoPadding">
<item name="android:tint">@color/card_dark</item>
<item name="android:elevation">0dp</item>
<item name="android:backgroundTint">@color/colorSurface2</item>
</style>
<style name="GreyCard.Ripple">
<item name="android:background">@drawable/grey_card_ripple</item>
</style>
<style name="cardTracing">
<item name="android:padding">@dimen/card_padding</item>
<item name="android:background">@drawable/card</item>
<item name="android:backgroundTint">@color/colorSurface2</item>
</style>
<style name="selectionButton" parent="@style/Widget.AppCompat.Button.Borderless">
<item name="android:padding">@dimen/card_padding</item>
<item name="android:gravity">left</item>
<item name="android:background">@drawable/card</item>
<item name="fontFamily">sans-serif-medium</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">normal</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">20sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="targetLayout">
<item name="android:padding">@dimen/card_padding</item>
<item name="android:background">@drawable/card</item>
</style>
<!-- ####################################
Grey Body Background
###################################### -->
<style name="greyBodyBackground">
<item name="android:layout_marginTop">@dimen/spacing_large</item>
<item name="android:background">@color/colorSurface2</item>
<item name="android:paddingStart">@dimen/guideline_start</item>
<item name="android:paddingTop">@dimen/spacing_medium</item>
<item name="android:paddingEnd">@dimen/guideline_end</item>
<item name="android:paddingBottom">@dimen/spacing_normal</item>
</style>
<!-- ####################################
Text
###################################### -->
<style name="headline4" parent="@style/TextAppearance.MaterialComponents.Headline4">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="headline5" parent="@style/TextAppearance.MaterialComponents.Headline5">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="headline5Tint" parent="@style/headline5">
<item name="android:textColor">@color/colorTextTint</item>
</style>
<style name="headline5Bold" parent="@style/TextAppearance.MaterialComponents.Headline5">
<item name="android:textStyle">bold</item>
</style>
<style name="headline6" parent="@style/TextAppearance.MaterialComponents.Headline6">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="subtitle" parent="@style/TextAppearance.MaterialComponents.Subtitle1">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="subtitleBoldSixteen" parent="@style/TextAppearance.MaterialComponents.Subtitle1">
<item name="android:textColor">@color/colorTextPrimary1</item>
<item name="android:textSize">16sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="subtitleSemanticRed" parent="@style/subtitle">
<item name="android:textColor">@color/colorTextSemanticRed</item>
</style>
<style name="subtitleMedium" parent="@style/TextAppearance.MaterialComponents.Subtitle1">
<item name="android:textColor">@color/colorTextPrimary2</item>
</style>
<style name="body1" parent="@style/TextAppearance.MaterialComponents.Body1">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="body2" parent="@style/TextAppearance.MaterialComponents.Body2">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="body2Medium" parent="@style/TextAppearance.MaterialComponents.Body2">
<item name="android:textColor">@color/colorTextPrimary2</item>
</style>
<style name="bodyButton" parent="@style/TextAppearance.MaterialComponents.Button">
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
<style name="headline6Sixteen" parent="@style/TextAppearance.MaterialComponents.Headline6">
<item name="android:textColor">@color/colorTextSixteen</item>
</style>
<style name="subtitleSixteen" parent="@style/TextAppearance.MaterialComponents.Subtitle1">
<item name="android:textColor">@color/colorTextSixteen</item>
</style>
<!-- ####################################
Icons
###################################### -->
<style name="icon">
<item name="android:tint">@color/colorTextPrimary1</item>
</style>
<style name="iconStable">
<item name="android:tint">@color/colorStableLight</item>
</style>
<!-- ####################################
Progress Bar
###################################### -->
<style name="progressBar" parent="Widget.AppCompat.ProgressBar">
<item name="android:indeterminateTint">@color/colorStableLight</item>
</style>
<!-- ####################################
Onboarding (ob)
###################################### -->
<style name="AppTheme.Onboarding" parent="AppTheme.NoActionBar">
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>
<style name="fadingScrollView">
<item name="android:requiresFadingEdge">vertical</item>
<item name="android:fadingEdgeLength">50dp</item>
</style>
<!-- ####################################
Submission
###################################### -->
<style name="tanInputDigit" parent="headline6">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/tan_input_digit</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginStart">@dimen/submission_tan_input_digit_spacing</item>
<item name="android:layout_marginEnd">@dimen/submission_tan_input_digit_spacing</item>
</style>
<style name="tanInputDash" parent="headline6">
<item name="android:layout_width">@dimen/submission_tan_dash_width</item>
<item name="android:layout_height">@dimen/submission_tan_dash_height</item>
<item name="android:background">@color/colorTextSemanticNeutral</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginStart">@dimen/submission_tan_dash_spacing_start</item>
<item name="android:layout_marginEnd">@dimen/submission_tan_dash_spacing_end</item>
</style>
<style name="tanInputEdittext">
<item name="android:layout_width">@dimen/submission_tan_input_edittext_size</item>
<item name="android:layout_height">@dimen/submission_tan_input_edittext_size</item>
<item name="android:alpha">0</item>
<item name="android:background">@null</item>
<item name="android:inputType">textPassword</item>
<item name="android:singleLine">true</item>
</style>
<!-- ####################################
Registration
###################################### -->
<style name="registrationQRCodeScanBody">
<item name="android:textAlignment">center</item>
<item name="android:textColor">@color/colorStableLight</item>
<item name="android:textSize">14sp</item>
</style>
<!-- ####################################
Calendar
###################################### -->
<style name="calendarMonthText">
<item name="android:textColor">@color/colorCalendarMonthText</item>
<item name="android:textSize">@dimen/font_normal</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:letterSpacing">0.1</item>
</style>
<style name="calendarWeekDayNormal">
<item name="android:textColor">@color/colorTextPrimary2</item>
<item name="android:textSize">@dimen/font_small</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:letterSpacing">0.4</item>
</style>
<style name="calendarWeekDaySelected">
<item name="android:textColor">@color/colorCalendarTodayText</item>
<item name="android:textSize">@dimen/font_small</item>
<item name="android:fontFamily">sans-serif-black</item>
<item name="android:letterSpacing">2</item>
</style>
<!-- ####################################
Contact Diary
###################################### -->
<style name="contactDiaryListItem" parent="@style/TextAppearance.MaterialComponents.Subtitle1">
<item name="android:textColor">@color/colorTextPrimary1</item>
<item name="android:textStyle">bold</item>
</style>
<style name="contactDiaryCard">
<item name="android:background">@drawable/contact_diary_card</item>
</style>
<style name="contactDiaryCardRipple">
<item name="android:background">@drawable/contact_diary_card_ripple</item>
</style>
<style name="ContactDiaryExpandableListItem">
<item name="android:background">@drawable/contact_diary_card_ripple</item>
</style>
<style name="StatisticsCardInfoButton" parent="buttonIcon">
<item name="android:height">@dimen/button_icon</item>
<item name="android:width">@dimen/button_icon</item>
<item name="android:src">@drawable/ic_info</item>
<item name="android:padding">14dp</item>
<item name="android:contentDescription">@string/statistics_info_button</item>
</style>
<style name="StatisticsCardPrimaryTitle" parent="headline5" />
<style name="StatisticsCardValueLabel" parent="subtitle">
<item name="android:textColor">@color/colorStatisticsValueLabel</item>
</style>
<style name="StatisticsCardTitleCaption">
<item name="android:textColor">@color/colorStatisticsValueLabel</item>
<item name="android:textSize">@dimen/font_small</item>
</style>
<style name="StatisticsCardPrimaryValue">
<item name="android:textColor">@color/colorStatisticsPrimaryValue</item>
<item name="android:textSize">@dimen/font_huge</item>
</style>
<style name="StatisticsCardSecondaryValue" parent="TextAppearance.AppCompat.Body2">
<item name="android:textSize">@dimen/font_title</item>
<item name="android:textColor">@color/colorTextPrimary1</item>
</style>
</resources>