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" />
+