From 175000efd179ffda4141868ecceba2c5500fbd64 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sun, 12 Jan 2020 11:54:15 -0600 Subject: [PATCH] Follow current theme; implement color switching --- .../src/main/AndroidManifest.xml | 7 ++- .../activities/AndroidThemeSwitcher.kt | 5 ++- .../activities/HabitsActivityComponent.kt | 2 +- .../activities/HabitsActivityModule.kt | 13 ++++-- .../habits/edit/EditHabitActivity.kt | 43 +++++++++++++++++-- .../habits/edit/EditHabitDialog.java | 2 +- .../res/drawable/ic_arrow_drop_down_dark.xml | 2 +- .../res/drawable/input_box_background.xml | 6 +-- .../main/res/layout/activity_edit_habit.xml | 30 +++++++------ .../src/main/res/values/styles.xml | 10 ++--- 10 files changed, 84 insertions(+), 36 deletions(-) diff --git a/android/uhabits-android/src/main/AndroidManifest.xml b/android/uhabits-android/src/main/AndroidManifest.xml index dfabd05fc..b5138b3d3 100644 --- a/android/uhabits-android/src/main/AndroidManifest.xml +++ b/android/uhabits-android/src/main/AndroidManifest.xml @@ -17,9 +17,12 @@ android:theme="@style/AppBaseTheme"> + android:name=".activities.habits.edit.EditHabitActivity"> + + (R.id.toolbar) setSupportActionBar(toolbar) supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) supportActionBar?.elevation = 10.0f + + val colorPickerDialogFactory = ColorPickerDialogFactory(this) + colorButton.setOnClickListener { + val dialog = colorPickerDialogFactory.create(paletteColor) + dialog.setListener { paletteColor -> + this.paletteColor = paletteColor + updateColors() + } + dialog.show(supportFragmentManager, "colorPicker") + } + } + + private fun updateColors() { + val androidColor = PaletteUtils.getColor(this, paletteColor) + colorButton.backgroundTintList = ColorStateList.valueOf(androidColor) + if(!themeSwitcher.isNightMode) { + val darkerAndroidColor = ColorUtils.mixColors(Color.BLACK, androidColor, 0.15f) + window.statusBarColor = darkerAndroidColor + toolbar.setBackgroundColor(androidColor) + } } } diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java index 0a90f7aa4..b57352543 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java @@ -82,7 +82,7 @@ public class EditHabitDialog extends AppCompatDialogFragment public int getTheme() { HabitsActivity activity = (HabitsActivity) getActivity(); - return activity.getComponent().getThemeSwitcher().getDialogTheme(); + return ((AndroidThemeSwitcher) activity.getComponent().getThemeSwitcher()).getDialogTheme(); } @Override diff --git a/android/uhabits-android/src/main/res/drawable/ic_arrow_drop_down_dark.xml b/android/uhabits-android/src/main/res/drawable/ic_arrow_drop_down_dark.xml index 64aecb682..8b5305ed8 100644 --- a/android/uhabits-android/src/main/res/drawable/ic_arrow_drop_down_dark.xml +++ b/android/uhabits-android/src/main/res/drawable/ic_arrow_drop_down_dark.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/android/uhabits-android/src/main/res/drawable/input_box_background.xml b/android/uhabits-android/src/main/res/drawable/input_box_background.xml index 6bbf34405..ed5de9ef4 100644 --- a/android/uhabits-android/src/main/res/drawable/input_box_background.xml +++ b/android/uhabits-android/src/main/res/drawable/input_box_background.xml @@ -1,8 +1,8 @@ - - - + + + @@ -17,13 +17,13 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="#E23673" + android:background="?attr/colorPrimary" android:elevation="2dp" android:gravity="end" android:minHeight="?attr/actionBarSize" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" - app:title="Edit habit" - app:titleTextColor="@android:color/white"> + app:title="@string/create_habit" + app:titleTextColor="@color/white"> @@ -82,7 +82,7 @@ android:layout_marginStart="8dp" android:layout_marginTop="-17dp" android:layout_marginBottom="-4dp" - android:background="@color/white" + android:background="?attr/highContrastReverseTextColor" android:paddingStart="8dp" android:paddingEnd="8dp" android:textSize="@dimen/smallTextSize" @@ -122,13 +122,14 @@ android:layout_marginStart="8dp" android:layout_marginTop="-17dp" android:layout_marginBottom="-4dp" - android:background="@color/white" + android:background="?attr/highContrastReverseTextColor" android:paddingStart="8dp" android:paddingEnd="8dp" android:textSize="@dimen/smallTextSize" android:text="Color" /> + android:textColor="?attr/highContrastTextColor" /> @@ -249,7 +251,7 @@ android:layout_marginStart="8dp" android:layout_marginTop="-17dp" android:layout_marginBottom="-4dp" - android:background="@color/white" + android:background="?attr/highContrastReverseTextColor" android:textSize="@dimen/smallTextSize" android:paddingStart="8dp" android:paddingEnd="8dp" @@ -261,7 +263,7 @@ android:background="?attr/selectableItemBackground" android:drawableEnd="@drawable/ic_arrow_drop_down_dark" android:textSize="@dimen/regularTextSize" - android:textColor="@color/black" + android:textColor="?attr/highContrastTextColor" android:padding="16dp" android:text="@string/reminder_off" /> @@ -291,7 +293,7 @@ android:layout_marginStart="8dp" android:layout_marginTop="-17dp" android:layout_marginBottom="-4dp" - android:background="@color/white" + android:background="?attr/highContrastReverseTextColor" android:textSize="@dimen/smallTextSize" android:paddingStart="8dp" android:paddingEnd="8dp" @@ -302,7 +304,7 @@ android:layout_height="wrap_content" android:background="@color/transparent" android:textSize="@dimen/regularTextSize" - android:textColor="@color/black" + android:textColor="?attr/highContrastTextColor" android:padding="16dp" android:hint="(Optional)" /> diff --git a/android/uhabits-android/src/main/res/values/styles.xml b/android/uhabits-android/src/main/res/values/styles.xml index 0e7b5a5a0..2de23441c 100644 --- a/android/uhabits-android/src/main/res/values/styles.xml +++ b/android/uhabits-android/src/main/res/values/styles.xml @@ -18,7 +18,7 @@ --> - -