From 11578aa735f74c3ee12327a6621c7c904640f099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Thu, 14 Jun 2018 11:40:46 +0200 Subject: [PATCH] Add dark theme (#133) --- app/src/main/AndroidManifest.xml | 9 ++-- .../data/db/shared/SharedPrefContract.java | 2 + .../data/db/shared/SharedPrefRepository.java | 5 ++ .../wulkanowy/ui/base/BaseActivity.java | 1 + .../wulkanowy/ui/main/MainActivity.java | 11 ++-- .../attendance/AttendanceDialogFragment.java | 2 +- .../main/attendance/tab/AttendanceHeader.java | 20 ++------ .../ui/main/grades/GradesFragment.java | 2 + .../ui/main/settings/SettingsFragment.java | 50 +++++++++++++++++-- .../main/timetable/tab/TimetableHeader.java | 19 ++----- .../wulkanowy/ui/splash/SplashActivity.java | 5 ++ .../wulkanowy/ui/splash/SplashContract.java | 2 + .../wulkanowy/ui/splash/SplashPresenter.java | 1 + .../github/wulkanowy/utils/CommonUtils.java | 14 ++++++ app/src/main/res/drawable-night/ic_border.xml | 9 ++++ app/src/main/res/drawable/ic_border.xml | 2 +- .../res/drawable/ic_menu_attendance_24dp.xml | 4 +- .../main/res/drawable/ic_menu_exams_24dp.xml | 2 +- .../main/res/drawable/ic_menu_grade_26dp.xml | 4 +- .../main/res/drawable/ic_menu_other_24dp.xml | 4 +- .../res/drawable/ic_menu_timetable_24dp.xml | 4 +- app/src/main/res/drawable/ic_wrench_24dp.xml | 12 ----- app/src/main/res/layout/attendance_dialog.xml | 1 + app/src/main/res/layout/attendance_header.xml | 6 +-- .../main/res/layout/attendance_subitem.xml | 3 +- app/src/main/res/layout/current_week_tab.xml | 4 +- app/src/main/res/layout/exams_dialog.xml | 1 + app/src/main/res/layout/exams_header.xml | 4 +- app/src/main/res/layout/exams_subitem.xml | 2 +- .../res/layout/fragment_attendance_tab.xml | 8 +-- .../main/res/layout/fragment_exams_tab.xml | 6 +-- app/src/main/res/layout/fragment_grades.xml | 6 +-- .../res/layout/fragment_timetable_tab.xml | 6 +-- app/src/main/res/layout/grades_dialog.xml | 1 + app/src/main/res/layout/grades_header.xml | 8 +-- .../main/res/layout/grades_summary_header.xml | 2 +- app/src/main/res/layout/timetable_dialog.xml | 5 +- app/src/main/res/layout/timetable_header.xml | 6 +-- app/src/main/res/layout/timetable_subitem.xml | 7 ++- app/src/main/res/layout/timetable_widget.xml | 2 +- app/src/main/res/values-night/styles.xml | 17 +++++++ .../main/res/values-pl/prefernces_array.xml | 8 ++- app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values/attrs.xml | 4 ++ app/src/main/res/values/colors.xml | 7 ++- app/src/main/res/values/prefernces_array.xml | 16 +++++- app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 5 +- app/src/main/res/xml/preferences.xml | 7 +++ 49 files changed, 221 insertions(+), 108 deletions(-) create mode 100644 app/src/main/res/drawable-night/ic_border.xml delete mode 100644 app/src/main/res/drawable/ic_wrench_24dp.xml create mode 100644 app/src/main/res/values-night/styles.xml create mode 100644 app/src/main/res/values/attrs.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 24b5e188..dd982626 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,6 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" - android:supportsRtl="true" android:theme="@style/WulkanowyTheme"> + /> + android:theme="@style/WulkanowyTheme.DarkActionBar" /> + android:theme="@style/WulkanowyTheme.DarkActionBar" /> { @@ -86,15 +86,6 @@ public class AttendanceHeader @BindView(R.id.attendance_header_free_name) TextView freeName; - @BindColor(R.color.secondary_text) - int secondaryColor; - - @BindColor(R.color.free_day) - int backgroundFreeDay; - - @BindColor(android.R.color.black) - int black; - private Context context; HeaderViewHolder(View view, FlexibleAdapter adapter) { @@ -117,16 +108,15 @@ public class AttendanceHeader setInactiveHeader(item.getAttendanceLessons().isEmpty()); } - private void setInactiveHeader(boolean inactive) { ((FrameLayout) getContentView()).setForeground(inactive ? null : getSelectableDrawable()); - dayName.setTextColor(inactive ? secondaryColor : black); + dayName.setTextColor(CommonUtils.getThemeAttrColor(context, + inactive ? android.R.attr.textColorSecondary : android.R.attr.textColorPrimary)); if (inactive) { - getContentView().setBackgroundColor(backgroundFreeDay); + getContentView().setBackgroundColor(CommonUtils.getThemeAttrColor(context, R.attr.colorControlHighlight)); } else { - getContentView().setBackgroundDrawable(context.getResources() - .getDrawable(R.drawable.ic_border)); + getContentView().setBackgroundDrawable(context.getResources().getDrawable(R.drawable.ic_border)); } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/grades/GradesFragment.java b/app/src/main/java/io/github/wulkanowy/ui/main/grades/GradesFragment.java index 0d43b683..ca1b949c 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/grades/GradesFragment.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/grades/GradesFragment.java @@ -88,7 +88,9 @@ public class GradesFragment extends BaseFragment implements GradesContract.View @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + menu.clear(); inflater.inflate(R.menu.grades_action_menu, menu); + super.onCreateOptionsMenu(menu, inflater); } @Override diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/settings/SettingsFragment.java b/app/src/main/java/io/github/wulkanowy/ui/main/settings/SettingsFragment.java index 661706c0..8bd93024 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/settings/SettingsFragment.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/settings/SettingsFragment.java @@ -5,6 +5,7 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v7.app.AppCompatDelegate; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceFragmentCompat; import android.widget.Toast; @@ -14,6 +15,7 @@ import com.google.android.gms.oss.licenses.OssLicensesMenuActivity; import io.github.wulkanowy.BuildConfig; import io.github.wulkanowy.R; import io.github.wulkanowy.services.jobs.SyncJob; +import io.github.wulkanowy.ui.main.MainActivity; import io.github.wulkanowy.utils.AppConstant; public class SettingsFragment extends PreferenceFragmentCompat @@ -25,6 +27,8 @@ public class SettingsFragment extends PreferenceFragmentCompat public static final String SHARED_KEY_ATTENDANCE_PRESENT = "attendance_present"; + public static final String SHARED_KEY_THEME = "theme"; + public static final String SHARED_KEY_SERVICES_ENABLE = "services_enable"; public static final String SHARED_KEY_NOTIFY_ENABLE = "notify_enable"; @@ -39,6 +43,10 @@ public class SettingsFragment extends PreferenceFragmentCompat public static final String SHARED_KEY_ABOUT_REPO = "about_repo"; + private boolean isStarted; + + private boolean isVisible; + private Preference.OnPreferenceClickListener onProgrammerListener = new Preference.OnPreferenceClickListener() { private int clicks = 0; @@ -93,6 +101,20 @@ public class SettingsFragment extends PreferenceFragmentCompat launchServices(sharedPreferences.getBoolean(SHARED_KEY_SERVICES_ENABLE, true), sharedPreferences); } + + if (key.equals(SHARED_KEY_THEME)) { + setCurrentTheme(sharedPreferences); + } + } + + private void setCurrentTheme(SharedPreferences sharedPreferences) { + AppCompatDelegate.setDefaultNightMode(Integer.parseInt(sharedPreferences.getString(SHARED_KEY_THEME, "1"))); + getActivity().finish(); + startActivity(MainActivity + .getStartIntent(getContext()) + .putExtra(MainActivity.EXTRA_CARD_ID_KEY, 4) + ); + getActivity().overridePendingTransition(0, 0); } private void launchServices(boolean start, SharedPreferences sharedPref) { @@ -107,11 +129,25 @@ public class SettingsFragment extends PreferenceFragmentCompat } } + private void setTitle() { + getActivity().setTitle(R.string.settings_text); + } + @Override - public void setMenuVisibility(boolean menuVisible) { - super.setMenuVisibility(menuVisible); - if (menuVisible) { - getActivity().setTitle(R.string.settings_text); + public void setUserVisibleHint(boolean isVisibleToUser) { + super.setUserVisibleHint(isVisibleToUser); + isVisible = isVisibleToUser; + if (isVisible && isStarted) { + setTitle(); + } + } + + @Override + public void onStart() { + super.onStart(); + isStarted = true; + if (isVisible) { + setTitle(); } } @@ -128,4 +164,10 @@ public class SettingsFragment extends PreferenceFragmentCompat getPreferenceScreen().getSharedPreferences() .unregisterOnSharedPreferenceChangeListener(this); } + + @Override + public void onStop() { + super.onStop(); + isStarted = false; + } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/tab/TimetableHeader.java b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/tab/TimetableHeader.java index 93fab822..cb877387 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/tab/TimetableHeader.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/tab/TimetableHeader.java @@ -14,7 +14,6 @@ import org.apache.commons.lang3.builder.HashCodeBuilder; import java.util.List; -import butterknife.BindColor; import butterknife.BindView; import butterknife.ButterKnife; import eu.davidea.flexibleadapter.FlexibleAdapter; @@ -23,6 +22,7 @@ import eu.davidea.flexibleadapter.items.IFlexible; import eu.davidea.viewholders.ExpandableViewHolder; import io.github.wulkanowy.R; import io.github.wulkanowy.data.db.dao.entities.Day; +import io.github.wulkanowy.utils.CommonUtils; public class TimetableHeader extends AbstractExpandableHeaderItem { @@ -83,15 +83,6 @@ public class TimetableHeader @BindView(R.id.timetable_header_free_name) TextView freeName; - @BindColor(R.color.secondary_text) - int secondaryColor; - - @BindColor(R.color.free_day) - int backgroundFreeDay; - - @BindColor(android.R.color.black) - int black; - private Context context; HeaderViewHolder(View view, FlexibleAdapter adapter) { @@ -112,13 +103,13 @@ public class TimetableHeader private void setInactiveHeader(boolean inactive) { ((FrameLayout) getContentView()).setForeground(inactive ? null : getSelectableDrawable()); - dayName.setTextColor(inactive ? secondaryColor : black); + dayName.setTextColor(CommonUtils.getThemeAttrColor(context, + inactive ? android.R.attr.textColorSecondary : android.R.attr.textColorPrimary)); if (inactive) { - getContentView().setBackgroundColor(backgroundFreeDay); + getContentView().setBackgroundColor(CommonUtils.getThemeAttrColor(context, R.attr.colorControlHighlight)); } else { - getContentView().setBackgroundDrawable(context.getResources() - .getDrawable(R.drawable.ic_border)); + getContentView().setBackgroundDrawable(context.getResources().getDrawable(R.drawable.ic_border)); } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashActivity.java b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashActivity.java index 5e4dfec1..21ce8ba5 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashActivity.java +++ b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashActivity.java @@ -1,6 +1,7 @@ package io.github.wulkanowy.ui.splash; import android.os.Bundle; +import android.support.v7.app.AppCompatDelegate; import javax.inject.Inject; @@ -38,6 +39,10 @@ public class SplashActivity extends BaseActivity implements SplashContract.View finish(); } + public void setCurrentThemeMode(int mode) { + AppCompatDelegate.setDefaultNightMode(mode); + } + @Override public void cancelNotifications() { new NotificationService(getApplicationContext()).cancelAll(); diff --git a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashContract.java b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashContract.java index 1a186eca..a1c5ad72 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashContract.java +++ b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashContract.java @@ -11,6 +11,8 @@ public interface SplashContract { void openMainActivity(); void cancelNotifications(); + + void setCurrentThemeMode(int mode); } interface Presenter extends BaseContract.Presenter { diff --git a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashPresenter.java b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashPresenter.java index ff64b3ca..69423348 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/splash/SplashPresenter.java +++ b/app/src/main/java/io/github/wulkanowy/ui/splash/SplashPresenter.java @@ -18,6 +18,7 @@ public class SplashPresenter extends BasePresenter @Override public void attachView(@NonNull SplashContract.View view) { super.attachView(view); + getView().setCurrentThemeMode(getRepository().getSharedRepo().getCurrentTheme()); getView().cancelNotifications(); if (getRepository().getSharedRepo().isUserLoggedIn()) { diff --git a/app/src/main/java/io/github/wulkanowy/utils/CommonUtils.java b/app/src/main/java/io/github/wulkanowy/utils/CommonUtils.java index 8ec73faf..9c7b35fb 100644 --- a/app/src/main/java/io/github/wulkanowy/utils/CommonUtils.java +++ b/app/src/main/java/io/github/wulkanowy/utils/CommonUtils.java @@ -1,7 +1,11 @@ package io.github.wulkanowy.utils; import android.app.Activity; +import android.content.Context; +import android.content.res.TypedArray; import android.net.Uri; +import android.support.annotation.AttrRes; +import android.support.annotation.ColorInt; import android.support.customtabs.CustomTabsIntent; import io.github.wulkanowy.R; @@ -37,4 +41,14 @@ public final class CommonUtils { return R.string.noColor_text; } } + + @ColorInt + public static int getThemeAttrColor(Context context, @AttrRes int colorAttr) { + final TypedArray array = context.obtainStyledAttributes(null, new int[]{colorAttr}); + try { + return array.getColor(0, 0); + } finally { + array.recycle(); + } + } } diff --git a/app/src/main/res/drawable-night/ic_border.xml b/app/src/main/res/drawable-night/ic_border.xml new file mode 100644 index 00000000..ca44eb29 --- /dev/null +++ b/app/src/main/res/drawable-night/ic_border.xml @@ -0,0 +1,9 @@ + + + + diff --git a/app/src/main/res/drawable/ic_border.xml b/app/src/main/res/drawable/ic_border.xml index dc33b8aa..f46b3ad7 100644 --- a/app/src/main/res/drawable/ic_border.xml +++ b/app/src/main/res/drawable/ic_border.xml @@ -6,4 +6,4 @@ android:centerColor="@android:color/transparent" android:centerX="0.01" android:startColor="#60606060" /> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_menu_attendance_24dp.xml b/app/src/main/res/drawable/ic_menu_attendance_24dp.xml index fdef7322..c0df16d6 100644 --- a/app/src/main/res/drawable/ic_menu_attendance_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_attendance_24dp.xml @@ -5,8 +5,8 @@ android:viewportHeight="24" android:viewportWidth="24"> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_menu_exams_24dp.xml b/app/src/main/res/drawable/ic_menu_exams_24dp.xml index 66294598..13179b7c 100644 --- a/app/src/main/res/drawable/ic_menu_exams_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_exams_24dp.xml @@ -4,7 +4,7 @@ android:viewportHeight="24" android:viewportWidth="24"> diff --git a/app/src/main/res/drawable/ic_menu_grade_26dp.xml b/app/src/main/res/drawable/ic_menu_grade_26dp.xml index 61506dad..3866cd3c 100644 --- a/app/src/main/res/drawable/ic_menu_grade_26dp.xml +++ b/app/src/main/res/drawable/ic_menu_grade_26dp.xml @@ -4,8 +4,8 @@ android:viewportHeight="26" android:viewportWidth="26"> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_menu_other_24dp.xml b/app/src/main/res/drawable/ic_menu_other_24dp.xml index 9fed586b..a0774724 100644 --- a/app/src/main/res/drawable/ic_menu_other_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_other_24dp.xml @@ -5,7 +5,7 @@ android:viewportHeight="24" android:viewportWidth="24"> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_menu_timetable_24dp.xml b/app/src/main/res/drawable/ic_menu_timetable_24dp.xml index a689dc06..63880977 100644 --- a/app/src/main/res/drawable/ic_menu_timetable_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_timetable_24dp.xml @@ -5,7 +5,7 @@ android:viewportHeight="24" android:viewportWidth="24"> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_wrench_24dp.xml b/app/src/main/res/drawable/ic_wrench_24dp.xml deleted file mode 100644 index 8f3a86fa..00000000 --- a/app/src/main/res/drawable/ic_wrench_24dp.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/attendance_dialog.xml b/app/src/main/res/layout/attendance_dialog.xml index 916c993c..4b0f1ff9 100644 --- a/app/src/main/res/layout/attendance_dialog.xml +++ b/app/src/main/res/layout/attendance_dialog.xml @@ -144,6 +144,7 @@ android:background="?attr/selectableItemBackground" android:focusable="true" android:text="@string/generic_dialog_close" + android:textColor="?android:attr/android:textColorSecondary" android:textAllCaps="true" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/attendance_header.xml b/app/src/main/res/layout/attendance_header.xml index 61dac631..350b2452 100644 --- a/app/src/main/res/layout/attendance_header.xml +++ b/app/src/main/res/layout/attendance_header.xml @@ -39,7 +39,7 @@ android:layout_marginTop="5dp" android:maxLines="1" android:text="@string/app_name" - android:textColor="@color/secondary_text" + android:textColor="?android:attr/android:textColorSecondary" android:textSize="14sp" /> - \ No newline at end of file + android:textColor="?attr/colorPrimary" + android:textSize="14sp" /> diff --git a/app/src/main/res/layout/exams_dialog.xml b/app/src/main/res/layout/exams_dialog.xml index 47fd7bb7..72d4b8dd 100644 --- a/app/src/main/res/layout/exams_dialog.xml +++ b/app/src/main/res/layout/exams_dialog.xml @@ -169,6 +169,7 @@ android:background="?attr/selectableItemBackground" android:focusable="true" android:text="@string/generic_dialog_close" + android:textColor="?android:attr/android:textColorSecondary" android:textAllCaps="true" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/exams_header.xml b/app/src/main/res/layout/exams_header.xml index 3895ae2e..7f7bf65f 100644 --- a/app/src/main/res/layout/exams_header.xml +++ b/app/src/main/res/layout/exams_header.xml @@ -2,7 +2,7 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/exams_subitem.xml b/app/src/main/res/layout/exams_subitem.xml index 52386de4..3f50f07c 100644 --- a/app/src/main/res/layout/exams_subitem.xml +++ b/app/src/main/res/layout/exams_subitem.xml @@ -53,4 +53,4 @@ android:text="@string/app_name" android:textSize="13sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_attendance_tab.xml b/app/src/main/res/layout/fragment_attendance_tab.xml index f98e7280..4dc450b5 100644 --- a/app/src/main/res/layout/fragment_attendance_tab.xml +++ b/app/src/main/res/layout/fragment_attendance_tab.xml @@ -1,6 +1,6 @@ - @@ -43,8 +43,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="46dp" - android:text="@string/attendance_no_entries" android:gravity="center" + android:text="@string/attendance_no_entries" android:textSize="20sp" /> diff --git a/app/src/main/res/layout/fragment_exams_tab.xml b/app/src/main/res/layout/fragment_exams_tab.xml index e446b2fb..433f5b1c 100644 --- a/app/src/main/res/layout/fragment_exams_tab.xml +++ b/app/src/main/res/layout/fragment_exams_tab.xml @@ -25,7 +25,7 @@ android:layout_height="match_parent" android:gravity="center"> - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_grades.xml b/app/src/main/res/layout/fragment_grades.xml index f0642987..1f177a60 100644 --- a/app/src/main/res/layout/fragment_grades.xml +++ b/app/src/main/res/layout/fragment_grades.xml @@ -144,7 +144,7 @@ android:layout_height="match_parent" android:gravity="center"> - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_timetable_tab.xml b/app/src/main/res/layout/fragment_timetable_tab.xml index 47aa5101..612b5df8 100644 --- a/app/src/main/res/layout/fragment_timetable_tab.xml +++ b/app/src/main/res/layout/fragment_timetable_tab.xml @@ -25,7 +25,7 @@ android:layout_height="match_parent" android:gravity="center"> - diff --git a/app/src/main/res/layout/grades_dialog.xml b/app/src/main/res/layout/grades_dialog.xml index 048f1e1b..c5cf073e 100644 --- a/app/src/main/res/layout/grades_dialog.xml +++ b/app/src/main/res/layout/grades_dialog.xml @@ -177,6 +177,7 @@ android:background="?attr/selectableItemBackground" android:focusable="true" android:text="@string/generic_dialog_close" + android:textColor="?android:attr/android:textColorSecondary" android:textAllCaps="true" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/grades_header.xml b/app/src/main/res/layout/grades_header.xml index 41b98076..b819dd54 100644 --- a/app/src/main/res/layout/grades_header.xml +++ b/app/src/main/res/layout/grades_header.xml @@ -29,7 +29,7 @@ android:layout_below="@+id/grade_header_subject_text" android:layout_marginTop="5dp" android:text="@string/app_name" - android:textColor="@color/secondary_text" + android:textColor="?android:attr/android:textColorSecondary" android:textSize="12sp" /> @@ -192,6 +192,7 @@ android:background="?attr/selectableItemBackground" android:focusable="true" android:text="@string/generic_dialog_close" + android:textColor="?android:attr/android:textColorSecondary" android:textAllCaps="true" android:textSize="15sp" /> diff --git a/app/src/main/res/layout/timetable_header.xml b/app/src/main/res/layout/timetable_header.xml index 1e8ecec8..53ea8ce4 100644 --- a/app/src/main/res/layout/timetable_header.xml +++ b/app/src/main/res/layout/timetable_header.xml @@ -39,7 +39,7 @@ android:layout_marginTop="5dp" android:maxLines="1" android:text="@string/app_name" - android:textColor="@color/secondary_text" + android:textColor="?android:attr/android:textColorSecondary" android:textSize="14sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/timetable_subitem.xml b/app/src/main/res/layout/timetable_subitem.xml index 86b173b4..3c3cdc42 100644 --- a/app/src/main/res/layout/timetable_subitem.xml +++ b/app/src/main/res/layout/timetable_subitem.xml @@ -13,7 +13,6 @@ android:foreground="?attr/selectableItemBackgroundBorderless" card_view:cardElevation="0dp"> - @@ -92,4 +91,4 @@ tool:ignore="contentDescription"/> - \ No newline at end of file + diff --git a/app/src/main/res/layout/timetable_widget.xml b/app/src/main/res/layout/timetable_widget.xml index c2f146ae..acf8d238 100644 --- a/app/src/main/res/layout/timetable_widget.xml +++ b/app/src/main/res/layout/timetable_widget.xml @@ -72,4 +72,4 @@ android:text="@string/widget_timetable_no_lesson" android:textColor="@android:color/black" android:textSize="20sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..d0b4f53f --- /dev/null +++ b/app/src/main/res/values-night/styles.xml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/app/src/main/res/values-pl/prefernces_array.xml b/app/src/main/res/values-pl/prefernces_array.xml index 4e66a373..3731be40 100644 --- a/app/src/main/res/values-pl/prefernces_array.xml +++ b/app/src/main/res/values-pl/prefernces_array.xml @@ -9,4 +9,10 @@ 12 godzin 24 godzin - \ No newline at end of file + + Wyłączony + Włączony + Automatyczny + Używaj ustawień systemowych + + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index af4fdf16..1af99630 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -129,6 +129,7 @@ Pokazuj podsumowanie w ocenach Pokazuj obecność we frekwencji Wymagany restart + Ciemny motyw (Beta) Powiadomienia Pokazuj powiadomienia diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 00000000..3593e29e --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 90f8c15e..68145e05 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -10,8 +10,11 @@ #FFE68C #CE9AD2 #d32f2f + #cdcdcd + #4c4c4c #333 - #cdcdcd - #eee + + #303030 + #ffffff diff --git a/app/src/main/res/values/prefernces_array.xml b/app/src/main/res/values/prefernces_array.xml index 346b57c3..59f4fffe 100644 --- a/app/src/main/res/values/prefernces_array.xml +++ b/app/src/main/res/values/prefernces_array.xml @@ -12,6 +12,20 @@ 2 3 + + + Off + On + Auto + Follow system settings + + + 1 + 2 + 0 + -1 + + 10 minutes 30 minutes @@ -30,4 +44,4 @@ 720 1440 - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1dce9f0a..21e63f5f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -125,6 +125,8 @@ Show present in attendance Required restart + Dark theme (Beta) + Notifications Show the notifications diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d72afb53..1eb55f9d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,6 +1,6 @@ - -