diff --git a/app/app.iml b/app/app.iml index 8ac3f6e..673e0e1 100644 --- a/app/app.iml +++ b/app/app.iml @@ -99,33 +99,33 @@ + + - - + + - - + - diff --git a/app/build.gradle b/app/build.gradle index e4a78e0..cff7e42 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,6 +32,7 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.0.0' implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' + implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.android.volley:volley:1.1.1' implementation 'com.github.Cutta:TagView:1.3' implementation 'com.google.android.material:material:1.0.0' diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index b53f245..4f39ea8 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -31,6 +31,7 @@ import java.util.Locale; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; +import androidx.appcompat.app.AppCompatDelegate; import androidx.arch.core.util.Function; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.app.AppCompatActivity; @@ -173,6 +174,13 @@ public class MainActivity extends AppCompatActivity toggle.syncState(); } + String nightMode = Preferences.getStringArray(getApplicationContext(), R.array.pref_night_mode); + switch (nightMode) { + case "night": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); break; + case "day": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); break; + default: AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); break; + } + mNavigationView = findViewById(R.id.nav_view); mNavigationView.setNavigationItemSelectedListener(this); mFragmentManager = getSupportFragmentManager(); diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java index fc32565..0bf3be1 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java @@ -5,6 +5,7 @@ import android.content.ContentResolver; import android.content.SharedPreferences; import android.os.Bundle; +import androidx.appcompat.app.AppCompatDelegate; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; @@ -65,5 +66,12 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre } } } + + String nightMode = Preferences.getStringArray(requireContext(), R.array.pref_night_mode); + switch (nightMode) { + case "night": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); break; + case "day": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); break; + default: AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); break; + } } } \ No newline at end of file diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java index 27111d1..8b14cc2 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java @@ -72,7 +72,7 @@ class ModDetailAssignmentAdapter extends RecyclerView.Adapter String name = urlToName(notes.get(i), i, holder.mView.getResources()); Tag tag = new Tag(name); tag.id = i; - tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.colorFUBlue); + tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.fuAccent); holder.mTagGroup.addTag(tag); } holder.mTagGroup.setOnTagClickListener((tag, i) -> { diff --git a/app/src/main/res/color/menu_text_color.xml b/app/src/main/res/color/menu_text_color.xml index 321366a..37efdd3 100644 --- a/app/src/main/res/color/menu_text_color.xml +++ b/app/src/main/res/color/menu_text_color.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add_circle_outline.xml b/app/src/main/res/drawable/ic_add_circle_outline.xml index b4a5785..c6f79f1 100644 --- a/app/src/main/res/drawable/ic_add_circle_outline.xml +++ b/app/src/main/res/drawable/ic_add_circle_outline.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml index c6a3ea0..1857473 100644 --- a/app/src/main/res/drawable/ic_folder.xml +++ b/app/src/main/res/drawable/ic_folder.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_insert_drive_file.xml b/app/src/main/res/drawable/ic_insert_drive_file.xml index 2143047..6b26de8 100644 --- a/app/src/main/res/drawable/ic_insert_drive_file.xml +++ b/app/src/main/res/drawable/ic_insert_drive_file.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml index 0d7b7e0..c46de3b 100644 --- a/app/src/main/res/drawable/ic_keyboard_arrow_right.xml +++ b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml @@ -1,4 +1,5 @@ + android:viewportWidth="24.0" android:width="18dp" xmlns:android="http://schemas.android.com/apk/res/android" + android:tint="@color/fuIcon"> diff --git a/app/src/main/res/drawable/ic_mail.xml b/app/src/main/res/drawable/ic_mail.xml index 6701eb8..21d2e8e 100644 --- a/app/src/main/res/drawable/ic_mail.xml +++ b/app/src/main/res/drawable/ic_mail.xml @@ -2,8 +2,9 @@ android:width="40dp" android:height="40dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="@color/fuAccent"> diff --git a/app/src/main/res/drawable/ic_remove_circle.xml b/app/src/main/res/drawable/ic_remove_circle.xml index 1f0cc00..d04b9f8 100644 --- a/app/src/main/res/drawable/ic_remove_circle.xml +++ b/app/src/main/res/drawable/ic_remove_circle.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_remove_circle_outline.xml b/app/src/main/res/drawable/ic_remove_circle_outline.xml index 98bef5e..19036bf 100644 --- a/app/src/main/res/drawable/ic_remove_circle_outline.xml +++ b/app/src/main/res/drawable/ic_remove_circle_outline.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/rounded_blue_filled.xml b/app/src/main/res/drawable/rounded_blue_filled.xml index 84fa710..98d16cd 100644 --- a/app/src/main/res/drawable/rounded_blue_filled.xml +++ b/app/src/main/res/drawable/rounded_blue_filled.xml @@ -3,10 +3,10 @@ android:shape="rectangle"> + android:color="@color/fuAccent" /> diff --git a/app/src/main/res/drawable/side_nav_bar.xml b/app/src/main/res/drawable/side_nav_bar.xml index eb81013..bdfb5e5 100644 --- a/app/src/main/res/drawable/side_nav_bar.xml +++ b/app/src/main/res/drawable/side_nav_bar.xml @@ -2,7 +2,7 @@ android:shape="rectangle"> \ No newline at end of file diff --git a/app/src/main/res/layout-sw600dp/activity_main.xml b/app/src/main/res/layout-sw600dp/activity_main.xml index ed7326a..88ecaba 100644 --- a/app/src/main/res/layout-sw600dp/activity_main.xml +++ b/app/src/main/res/layout-sw600dp/activity_main.xml @@ -17,8 +17,8 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:fitsSystemWindows="true" - app:itemTextColor="@color/menu_text_color" - app:itemIconTint="@color/menu_text_color" + app:itemTextColor="@color/fuHeaderText2" + app:itemIconTint="@color/fuHeaderText2" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> diff --git a/app/src/main/res/layout/activity_fu_authenticator.xml b/app/src/main/res/layout/activity_fu_authenticator.xml index ba74d0d..1c67ef0 100644 --- a/app/src/main/res/layout/activity_fu_authenticator.xml +++ b/app/src/main/res/layout/activity_fu_authenticator.xml @@ -46,7 +46,7 @@ android:layout_height="wrap_content" android:id="@+id/error_textview" android:textAppearance="@style/TextAppearance.Design.Error" - android:textColor="@color/colorFURed" + android:textColor="@color/fuIconWarn" tools:text="@string/hello_blank_fragment" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index e962ffb..72565b5 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,8 +20,8 @@ android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" - app:itemTextColor="@color/menu_text_color" - app:itemIconTint="@color/menu_text_color" + app:itemTextColor="@color/fuHeaderText2" + app:itemIconTint="@color/fuHeaderText2" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index f365d85..5e3f758 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -9,21 +9,21 @@ + android:theme="@style/FUTheme.AppBarOverlay"> + android:background="@color/fuToolbarBackground" + app:popupTheme="@style/FUTheme.PopupOverlay" /> diff --git a/app/src/main/res/layout/fragment_startup.xml b/app/src/main/res/layout/fragment_startup.xml index 6e4da82..44c8376 100644 --- a/app/src/main/res/layout/fragment_startup.xml +++ b/app/src/main/res/layout/fragment_startup.xml @@ -2,7 +2,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/colorFUGreen" + android:background="@color/fuToolbarBackground" android:fitsSystemWindows="true" tools:context="de.sebse.fuplanner.fragments.StartupFragment" tools:ignore="Overdraw"> diff --git a/app/src/main/res/layout/list_all_items.xml b/app/src/main/res/layout/list_all_items.xml index dc5ea08..575dc4c 100644 --- a/app/src/main/res/layout/list_all_items.xml +++ b/app/src/main/res/layout/list_all_items.xml @@ -16,8 +16,7 @@ android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textStyle="bold" - android:typeface="sans" + style="@style/FUTheme.itemTitle" tools:text="Test this new stuff!" /> @@ -47,8 +44,7 @@ android:layout_height="wrap_content" android:layout_alignBaseline="@id/title" android:layout_alignBottom="@id/title" - android:textColor="#343434" - android:textSize="12sp" + style="@style/FUTheme.itemValue" android:layout_alignParentEnd="true" tools:text="Room 105" tools:ignore="RelativeOverlap" /> diff --git a/app/src/main/res/layout/list_all_mails.xml b/app/src/main/res/layout/list_all_mails.xml index c781e5b..d040ef3 100644 --- a/app/src/main/res/layout/list_all_mails.xml +++ b/app/src/main/res/layout/list_all_mails.xml @@ -14,8 +14,7 @@ android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textStyle="bold" - android:typeface="sans" + style="@style/FUTheme.itemTitle" tools:text="Test this new stuff!" /> diff --git a/app/src/main/res/layout/list_canteens_btn_delete.xml b/app/src/main/res/layout/list_canteens_btn_delete.xml index 4655147..21ff3c7 100644 --- a/app/src/main/res/layout/list_canteens_btn_delete.xml +++ b/app/src/main/res/layout/list_canteens_btn_delete.xml @@ -14,6 +14,6 @@ android:typeface="sans" android:gravity="center" android:textColor="@color/colorFUWhite" - android:background="@color/colorFURed" + android:background="@color/fuIconWarn" /> diff --git a/app/src/main/res/layout/list_canteens_items.xml b/app/src/main/res/layout/list_canteens_items.xml index 3026259..cf8669a 100644 --- a/app/src/main/res/layout/list_canteens_items.xml +++ b/app/src/main/res/layout/list_canteens_items.xml @@ -27,8 +27,7 @@ android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textStyle="bold" - android:typeface="sans" + style="@style/FUTheme.itemTitle" tools:text="Test this new stuff!" /> @@ -58,8 +55,7 @@ android:layout_height="wrap_content" android:layout_alignBaseline="@id/title" android:layout_alignBottom="@id/title" - android:textColor="#343434" - android:textSize="12sp" + style="@style/FUTheme.itemValue" android:layout_alignParentEnd="true" tools:text="Room 105" tools:ignore="RelativeOverlap" /> diff --git a/app/src/main/res/layout/list_moddetails_description.xml b/app/src/main/res/layout/list_moddetails_description.xml index 7991eaa..def767a 100644 --- a/app/src/main/res/layout/list_moddetails_description.xml +++ b/app/src/main/res/layout/list_moddetails_description.xml @@ -18,24 +18,16 @@ android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" - android:textSize="16sp" + android:textSize="12sp" android:textIsSelectable="true" android:textColor="#666666" /> - - diff --git a/app/src/main/res/layout/list_moddetails_gradebook.xml b/app/src/main/res/layout/list_moddetails_gradebook.xml index bcd5390..344d136 100644 --- a/app/src/main/res/layout/list_moddetails_gradebook.xml +++ b/app/src/main/res/layout/list_moddetails_gradebook.xml @@ -22,7 +22,7 @@ android:layout_height="wrap_content" android:layout_below="@id/title" android:layout_marginTop="5dip" - android:textColor="#343434" + android:textColor="@color/colorFUGrayDark3" android:textSize="12sp" tools:text="8" android:layout_toStartOf="@id/slash" @@ -33,7 +33,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/title" - android:textColor="#343434" + android:textColor="@color/colorFUGrayDark3" android:textSize="30sp" android:text="@string/grade_separator" android:layout_toStartOf="@id/grade_max" @@ -45,7 +45,7 @@ android:layout_height="wrap_content" android:layout_alignBaseline="@id/slash" android:layout_alignBottom="@id/slash" - android:textColor="#343434" + android:textColor="@color/colorFUGrayDark3" android:textSize="12sp" android:layout_alignParentEnd="true" tools:text="10" /> diff --git a/app/src/main/res/layout/list_moddetails_shortcuts.xml b/app/src/main/res/layout/list_moddetails_shortcuts.xml index 7c4c101..0c92f47 100644 --- a/app/src/main/res/layout/list_moddetails_shortcuts.xml +++ b/app/src/main/res/layout/list_moddetails_shortcuts.xml @@ -20,7 +20,7 @@ android:textStyle="bold" android:typeface="sans" android:gravity="center" - android:textColor="@color/colorFUBlue" + android:textColor="@color/fuAccent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@id/guideline" @@ -34,7 +34,7 @@ android:textStyle="bold" android:typeface="sans" android:gravity="center" - android:textColor="@color/colorFUBlue" + android:textColor="@color/fuAccent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintLeft_toRightOf="@id/guideline" diff --git a/app/src/main/res/layout/list_news_item.xml b/app/src/main/res/layout/list_news_item.xml index fa702fa..07b8ed0 100644 --- a/app/src/main/res/layout/list_news_item.xml +++ b/app/src/main/res/layout/list_news_item.xml @@ -13,7 +13,6 @@ android:layout_height="wrap_content" android:orientation="vertical"> - Zeige nur vegetarisches Essen Zeige nur veganes Essen + + + Folge System-Einstellungen + Immer Tag-Modus + Immer Nacht-Modus + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 0e2a92a..c6f80f6 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -46,6 +46,9 @@ Vegetarisch/Vegan Zeige nur vegetarisches oder veganes Essen Essensfilter + Nacht-Modus + Einstellung zur Verwendung vom Nacht-Modus + Nacht-Modus Synchronisationshäufigkeit Stellt Häufigkeit der automatischen Synchronisation ein Sync-Frequenz diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 index 0000000..a327fb9 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,23 @@ + + + @color/colorFUGreenDark + @color/colorFUGreenDark + @color/colorFUBlueLight + + @color/colorFUGrayDark3 + @color/colorFUGrayDark2 + @color/colorFUBlack + @color/colorFUGreenDark + @color/colorFURedDark + @color/colorFURedDark2 + @color/colorFUBlack + @color/colorFUGrayDark3 + + @color/colorFUWhite + @color/colorFUGray + @color/colorFUGrayDark + + @color/colorFUBlack + @color/colorFUBlack + @color/colorFURed + \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 3871797..cc38383 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -40,4 +40,15 @@ vegetarian vegan + + + Follow system default + Always day mode + Always night mode + + + auto + day + night + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6efcda5..a166905 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -5,10 +5,37 @@ #FDFDFD #e0e0e0 #cccccc + #444444 + #343434 #003366 - #333333 + #587A9E + #222222 #f5cccc #cca3a3 + #4d2b2b + #402f2f #CC0000 #FF9900 + + @color/colorFUGreen + @color/colorFUGreenDark + @color/colorFUBlue + + @color/colorFUGray + @color/colorFUGrayDark + @color/colorFUWhite + @color/colorFUGreen + @color/colorFURedLight2 + @color/colorFURedLight + @color/colorFUGray + @color/colorFUWhite + + + @color/colorFUBlack + @color/colorFUGrayDark3 + @color/colorFUGrayDark3 + + @color/colorFUBlack + @color/colorFUBlack + @color/colorFURed diff --git a/app/src/main/res/values/preferences.xml b/app/src/main/res/values/preferences.xml index a006565..39cac80 100644 --- a/app/src/main/res/values/preferences.xml +++ b/app/src/main/res/values/preferences.xml @@ -22,6 +22,13 @@ pref_food_level all + + @string/pref_night_mode + @string/pref_night_mode_default + + pref_night_mode + auto + pref_last_visited_news diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6bbfc16..519311f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -53,9 +53,12 @@ Meal Filter Only show vegetarian or vegan foods Meal Filter Selection + Night mode + Set usage of night mode + Night Mode Selection Sync frequency Set automatic background sync frequency - Frequency selection + Frequency Selection Meals Special meals Side Dishes diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 00d8fab..d4c05f4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,28 +1,27 @@ - - + - - - - diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 3c6f56c..5dceeb9 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -17,6 +17,14 @@ android:entries="@array/pref_food_level_entries" android:entryValues="@array/pref_food_level_values" android:dialogTitle="@string/pref_food_level_dialog" /> +