Further error handling. Also given the user the option to colour dietary preference icons. Colours have partially been derived from those used on stw-bremen.de but have all been processed through the theme builder on m3.material.io

This commit is contained in:
denizk0461
2023-04-29 22:26:26 +02:00
parent 2bf340bdff
commit 7243df0f06
21 changed files with 449 additions and 114 deletions
+62 -9
View File
@@ -1,13 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- I am unsure whether these attrs are necessary to define -->
<attr name="scheduleColorDefault" type="color"/>
<attr name="colorOutlineVariant" type="color"/>
<attr name="colorOnSurfaceVariant" type="color"/>
<attr name="colorErrorContainer" type="color"/>
<attr name="colorOnErrorContainer" type="color"/>
<attr name="colorSecondaryContainer" type="color"/>
<attr name="colorOnSecondaryContainer" type="color"/>
<attr name="colorText" type="color"/>
<!-- <attr name="colorOutline" type="color"/>-->
<attr name="scheduleColorDefault" type="color" />
<attr name="colorOutlineVariant" type="color" />
<attr name="colorOnSurfaceVariant" type="color" />
<attr name="colorErrorContainer" type="color" />
<attr name="colorOnErrorContainer" type="color" />
<attr name="colorSecondaryContainer" type="color" />
<attr name="colorOnSecondaryContainer" type="color" />
<attr name="colorText" type="color" />
<attr name="colorErrorText" type="color" />
<!-- <attr name="colorOutline" type="color"/>-->
<!-- dietary preference colours -->
<!-- fair / animal welfare -->
<attr name="colorPrimaryFair" type="color" />
<attr name="colorOnPrimaryFair" type="color" />
<attr name="colorContainerFair" type="color" />
<attr name="colorOnContainerFair" type="color" />
<!-- fish -->
<attr name="colorPrimaryFish" type="color" />
<attr name="colorOnPrimaryFish" type="color" />
<attr name="colorContainerFish" type="color" />
<attr name="colorOnContainerFish" type="color" />
<!-- poultry -->
<attr name="colorPrimaryPoultry" type="color" />
<attr name="colorOnPrimaryPoultry" type="color" />
<attr name="colorContainerPoultry" type="color" />
<attr name="colorOnContainerPoultry" type="color" />
<!-- vital -->
<attr name="colorPrimaryVital" type="color" />
<attr name="colorOnPrimaryVital" type="color" />
<attr name="colorContainerVital" type="color" />
<attr name="colorOnContainerVital" type="color" />
<!-- lamb -->
<attr name="colorPrimaryLamb" type="color" />
<attr name="colorOnPrimaryLamb" type="color" />
<attr name="colorContainerLamb" type="color" />
<attr name="colorOnContainerLamb" type="color" />
<!-- beef -->
<attr name="colorPrimaryBeef" type="color" />
<attr name="colorOnPrimaryBeef" type="color" />
<attr name="colorContainerBeef" type="color" />
<attr name="colorOnContainerBeef" type="color" />
<!-- pork -->
<attr name="colorPrimaryPork" type="color" />
<attr name="colorOnPrimaryPork" type="color" />
<attr name="colorContainerPork" type="color" />
<attr name="colorOnContainerPork" type="color" />
<!-- vegan -->
<attr name="colorPrimaryVegan" type="color" />
<attr name="colorOnPrimaryVegan" type="color" />
<attr name="colorContainerVegan" type="color" />
<attr name="colorOnContainerVegan" type="color" />
<!-- vegetarian -->
<attr name="colorPrimaryVegetarian" type="color" />
<attr name="colorOnPrimaryVegetarian" type="color" />
<attr name="colorContainerVegetarian" type="color" />
<attr name="colorOnContainerVegetarian" type="color" />
<!-- game -->
<attr name="colorPrimaryGame" type="color" />
<attr name="colorOnPrimaryGame" type="color" />
<attr name="colorContainerGame" type="color" />
<attr name="colorOnContainerGame" type="color" />
</resources>
+103 -42
View File
@@ -1,22 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#000000</color>
<color name="white">#ffffff</color>
<!-- auto-generated using https://m3.material.io/theme-builder#/custom -->
<color name="seed">#c85848</color>
<color name="md_theme_light_primary">#A33D2F</color>
<color name="md_theme_light_onPrimary">#FFFFFF</color>
<color name="md_theme_light_onPrimary">@color/white</color>
<color name="md_theme_light_primaryContainer">#FFDAD4</color>
<color name="md_theme_light_onPrimaryContainer">#410000</color>
<color name="md_theme_light_secondary">#775651</color>
<color name="md_theme_light_onSecondary">#FFFFFF</color>
<color name="md_theme_light_onSecondary">@color/white</color>
<color name="md_theme_light_secondaryContainer">#FFDAD4</color>
<color name="md_theme_light_onSecondaryContainer">#2C1511</color>
<color name="md_theme_light_tertiary">#705C2E</color>
<color name="md_theme_light_onTertiary">#FFFFFF</color>
<color name="md_theme_light_onTertiary">@color/white</color>
<color name="md_theme_light_tertiaryContainer">#FBDFA6</color>
<color name="md_theme_light_onTertiaryContainer">#251A00</color>
<color name="md_theme_light_error">#BA1A1A</color>
<color name="md_theme_light_errorContainer">#FFDAD6</color>
<color name="md_theme_light_onError">#FFFFFF</color>
<color name="md_theme_light_onError">@color/white</color>
<color name="md_theme_light_onErrorContainer">#410002</color>
<color name="md_theme_light_background">#FFFBFF</color>
<color name="md_theme_light_onBackground">#201A19</color>
@@ -28,10 +31,10 @@
<color name="md_theme_light_inverseOnSurface">#FBEEEC</color>
<color name="md_theme_light_inverseSurface">#362F2E</color>
<color name="md_theme_light_inversePrimary">#FFB4A8</color>
<color name="md_theme_light_shadow">#000000</color>
<color name="md_theme_light_shadow">@color/black</color>
<color name="md_theme_light_surfaceTint">#A33D2F</color>
<color name="md_theme_light_outlineVariant">#D8C2BE</color>
<color name="md_theme_light_scrim">#000000</color>
<color name="md_theme_light_scrim">@color/black</color>
<color name="md_theme_dark_primary">#FFB4A8</color>
<color name="md_theme_dark_onPrimary">#630E07</color>
<color name="md_theme_dark_primaryContainer">#83251A</color>
@@ -58,44 +61,102 @@
<color name="md_theme_dark_inverseOnSurface">#201A19</color>
<color name="md_theme_dark_inverseSurface">#EDE0DD</color>
<color name="md_theme_dark_inversePrimary">#A33D2F</color>
<color name="md_theme_dark_shadow">#000000</color>
<color name="md_theme_dark_shadow">@color/black</color>
<color name="md_theme_dark_surfaceTint">#FFB4A8</color>
<color name="md_theme_dark_outlineVariant">#534341</color>
<color name="md_theme_dark_scrim">#000000</color>
<color name="md_theme_dark_scrim">@color/black</color>
<!-- OBSOLETE: custom defined colours -->
<!-- <color name="black">#FF000000</color>-->
<!-- <color name="white">#FFFFFFFF</color>-->
<!-- dietary preference colours generated using https://m3.material.io/theme-builder#/custom -->
<!-- fair / animal welfare - custom colour -->
<color name="fair_light_primary">#4b54b8</color>
<color name="fair_light_onPrimary">@color/white</color>
<color name="fair_light_container">#e0e0ff</color>
<color name="fair_light_onContainer">#00036b</color>
<color name="fair_dark_primary">#bec2ff</color>
<color name="fair_dark_onPrimary">#181f88</color>
<color name="fair_dark_container">#323a9f</color>
<color name="fair_dark_onContainer">#e0e0ff</color>
<!-- fish - lifted from the Stw page -->
<color name="fish_light_primary">#006782</color>
<color name="fish_light_onPrimary">@color/white</color>
<color name="fish_light_container">#bbe9ff</color>
<color name="fish_light_onContainer">#001f29</color>
<color name="fish_dark_primary">#60d4fe</color>
<color name="fish_dark_onPrimary">#003545</color>
<color name="fish_dark_container">#004d63</color>
<color name="fish_dark_onContainer">#bbe9ff</color>
<!-- poultry - lifted from the Stw page -->
<color name="poultry_light_primary">#6b5f00</color>
<color name="poultry_light_onPrimary">@color/white</color>
<color name="poultry_light_container">#f8e467</color>
<color name="poultry_light_onContainer">#201c00</color>
<color name="poultry_dark_primary">#dbc84e</color>
<color name="poultry_dark_onPrimary">#383100</color>
<color name="poultry_dark_container">#514700</color>
<color name="poultry_dark_onContainer">#f8e467</color>
<!-- vital - custom. is this a good colour? -->
<color name="vital_light_primary">#1d6c30</color>
<color name="vital_light_onPrimary">@color/white</color>
<color name="vital_light_container">#a5f5a9</color>
<color name="vital_light_onContainer">#002107</color>
<color name="vital_dark_primary">#8ad88f</color>
<color name="vital_dark_onPrimary">#003911</color>
<color name="vital_dark_container">#00531d</color>
<color name="vital_dark_onContainer">#a5f5a9</color>
<!-- lamb - lifted from the Stw page -->
<color name="lamb_light_primary">#95416d</color>
<color name="lamb_light_onPrimary">@color/white</color>
<color name="lamb_light_container">#ffd8e7</color>
<color name="lamb_light_onContainer">#3d0025</color>
<color name="lamb_dark_primary">#ffafd3</color>
<color name="lamb_dark_onPrimary">#5c113d</color>
<color name="lamb_dark_container">#782954</color>
<color name="lamb_dark_onContainer">#ffd8e7</color>
<!-- beef - lifted from the Stw page -->
<color name="beef_light_primary">#a83730</color>
<color name="beef_light_onPrimary">@color/white</color>
<color name="beef_light_container">#ffdad6</color>
<color name="beef_light_onContainer">#410002</color>
<color name="beef_dark_primary">#ffb4ab</color>
<color name="beef_dark_onPrimary">#670408</color>
<color name="beef_dark_container">#871f1c</color>
<color name="beef_dark_onContainer">#ffdad6</color>
<!-- pork - lifted from the Stw page -->
<color name="pork_light_primary">#9c4144</color>
<color name="pork_light_onPrimary">@color/white</color>
<color name="pork_light_container">#ffdad9</color>
<color name="pork_light_onContainer">#410009</color>
<color name="pork_dark_primary">#ffb3b2</color>
<color name="pork_dark_onPrimary">#5f131a</color>
<color name="pork_dark_container">#7e2a2f</color>
<color name="pork_dark_onContainer">#ffdad9</color>
<!-- vegan - lifted from the Stw page -->
<color name="vegan_light_primary">#3e691a</color>
<color name="vegan_light_onPrimary">@color/white</color>
<color name="vegan_light_container">#bef292</color>
<color name="vegan_light_onContainer">#0c2000</color>
<color name="vegan_dark_primary">#a2d578</color>
<color name="vegan_dark_onPrimary">#193800</color>
<color name="vegan_dark_container">#275000</color>
<color name="vegan_dark_onContainer">#bef292</color>
<!-- vegetarian - lifted from the Stw page -->
<color name="vegetarian_light_primary">#954a03</color>
<color name="vegetarian_light_onPrimary">@color/white</color>
<color name="vegetarian_light_container">#ffdcc6</color>
<color name="vegetarian_light_onContainer">#311400</color>
<color name="vegetarian_dark_primary">#ffb786</color>
<color name="vegetarian_dark_onPrimary">#502400</color>
<color name="vegetarian_dark_container">#723600</color>
<color name="vegetarian_dark_onContainer">#ffdcc6</color>
<!-- game - lifted from the Stw page -->
<color name="game_light_primary">#9d4043</color>
<color name="game_light_onPrimary">@color/white</color>
<color name="game_light_container">#ffdad9</color>
<color name="game_light_onContainer">#410008</color>
<color name="game_dark_primary">#ffb3b2</color>
<color name="game_dark_onPrimary">#601219</color>
<color name="game_dark_container">#7f292e</color>
<color name="game_dark_onContainer">#ffdad9</color>
<color name="brightfuckingpink">#FF46BB</color> <!-- for debug purposes -->
<!-- &lt;!&ndash; colours i defined &ndash;&gt;-->
<!-- <color name="primaryDay">#B2665A</color>-->
<!-- <color name="primaryDayTranslucent">#80B2665A</color>-->
<!-- <color name="primaryNight">#995348</color>-->
<!-- <color name="primaryNightTranslucent">#80995348</color>-->
<!-- <color name="highlightDay">#871D1E</color>-->
<!-- <color name="highlightNight">#CB9890</color>-->
<!-- <color name="colorTextDay">#141414</color>-->
<!-- <color name="colorTextNight">#CDCBCB</color>-->
<!-- <color name="colorTextHintDay">#2A2828</color>-->
<!-- <color name="colorTextHintNight">#B9B6B6</color>-->
<!-- <color name="colorTextHintLighterDay">#AFACAC</color>-->
<!-- <color name="colorTextHintLighterNight">#5E5A5A</color>-->
<!-- <color name="colorBackgroundDay">#EBEBEB</color>-->
<!-- <color name="colorBackgroundNight">#151414</color>-->
<!-- <color name="colorCardBackgroundDay">#E0E0E0</color>-->
<!-- <color name="colorCardBackgroundNight">#1F1E1E</color>-->
<!-- <color name="colorSwitchTrackDay">#D6D6D6</color>-->
<!-- <color name="colorSwitchTrackNight">#2A2828</color>-->
<!-- <color name="colorPrimaryOnContrastLight">#E6898B</color>-->
<!-- <color name="colorPrimaryOnContrastDark">#B77166</color>-->
</resources>
+4
View File
@@ -20,6 +20,7 @@
</string-array>
<string name="fetch_error_snack">Something went wrong!</string>
<string name="fetch_error_webpage_snack">You must navigate to your schedule!</string>
<string name="canteen_fetch_error">Couldn\'t retrieve the canteen plan!</string>
<string name="save">Save</string>
@@ -140,6 +141,9 @@
<string name="settings_allergens_title">Mark offers with allergens with a star*</string>
<string name="settings_allergens_subtitle">Also applies to additives</string>
<string name="settings_pref_colour_title">Colour dietary preferences</string>
<string name="settings_pref_colour_subtitle">This colours the icons similar to the website</string> <!-- TODO this text sucks, DE too -->
<string name="settings_launch_canteen_title">Show canteen plan on app launch</string>
<string name="settings_launch_canteen_subtitle">Otherwise your schedule will be shown at launch</string>
+44
View File
@@ -33,8 +33,52 @@
<item name="android:scrollbarThumbVertical">@color/md_theme_light_onSurfaceVariant</item>
<item name="colorOutlineVariant">@color/md_theme_light_outlineVariant</item>
<item name="colorErrorText">@color/md_theme_light_error</item>
<!-- is this correct? -->
<item name="scheduleColorDefault">@color/md_theme_dark_background</item>
<!-- dietary preference colours -->
<item name="colorPrimaryFair">@color/fair_light_primary</item>
<item name="colorOnPrimaryFair">@color/fair_light_onPrimary</item>
<item name="colorContainerFair">@color/fair_light_container</item>
<item name="colorOnContainerFair">@color/fair_light_onContainer</item>
<item name="colorPrimaryFish">@color/fish_light_primary</item>
<item name="colorOnPrimaryFish">@color/fish_light_onPrimary</item>
<item name="colorContainerFish">@color/fish_light_container</item>
<item name="colorOnContainerFish">@color/fish_light_onContainer</item>
<item name="colorPrimaryPoultry">@color/poultry_light_primary</item>
<item name="colorOnPrimaryPoultry">@color/poultry_light_onPrimary</item>
<item name="colorContainerPoultry">@color/poultry_light_container</item>
<item name="colorOnContainerPoultry">@color/poultry_light_onContainer</item>
<item name="colorPrimaryVital">@color/vital_light_primary</item>
<item name="colorOnPrimaryVital">@color/vital_light_onPrimary</item>
<item name="colorContainerVital">@color/vital_light_container</item>
<item name="colorOnContainerVital">@color/vital_light_onContainer</item>
<item name="colorPrimaryLamb">@color/lamb_light_primary</item>
<item name="colorOnPrimaryLamb">@color/lamb_light_onPrimary</item>
<item name="colorContainerLamb">@color/lamb_light_container</item>
<item name="colorOnContainerLamb">@color/lamb_light_onContainer</item>
<item name="colorPrimaryBeef">@color/beef_light_primary</item>
<item name="colorOnPrimaryBeef">@color/beef_light_onPrimary</item>
<item name="colorContainerBeef">@color/beef_light_container</item>
<item name="colorOnContainerBeef">@color/beef_light_onContainer</item>
<item name="colorPrimaryPork">@color/pork_light_primary</item>
<item name="colorOnPrimaryPork">@color/pork_light_onPrimary</item>
<item name="colorContainerPork">@color/pork_light_container</item>
<item name="colorOnContainerPork">@color/pork_light_onContainer</item>
<item name="colorPrimaryVegan">@color/vegan_light_primary</item>
<item name="colorOnPrimaryVegan">@color/vegan_light_onPrimary</item>
<item name="colorContainerVegan">@color/vegan_light_container</item>
<item name="colorOnContainerVegan">@color/vegan_light_onContainer</item>
<item name="colorPrimaryVegetarian">@color/vegetarian_light_primary</item>
<item name="colorOnPrimaryVegetarian">@color/vegetarian_light_onPrimary</item>
<item name="colorContainerVegetarian">@color/vegetarian_light_container</item>
<item name="colorOnContainerVegetarian">@color/vegetarian_light_onContainer</item>
<item name="colorPrimaryGame">@color/game_light_primary</item>
<item name="colorOnPrimaryGame">@color/game_light_onPrimary</item>
<item name="colorContainerGame">@color/game_light_container</item>
<item name="colorOnContainerGame">@color/game_light_onContainer</item>
</style>
<style name="Theme.StudIPTimetable" parent="Base.Theme.StudIPTimetable" />