From 0db47bc68dda0e1c62398ee6867c50144b1a006f Mon Sep 17 00:00:00 2001 From: Christoph Hennemann Date: Wed, 30 Jan 2019 16:19:31 +0000 Subject: [PATCH] fix: Optimize background of popup elements in black theme References: #477 --- .../common/dialogs/HistoryEditorDialog.java | 20 ++++++++++++++++++- .../habits/edit/EditHabitDialog.java | 7 ++++++- .../src/main/res/values/styles.xml | 12 +++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java index 0a76b52fc..a10d99860 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java @@ -25,6 +25,7 @@ import android.os.*; import android.support.annotation.*; import android.support.v7.app.AlertDialog; import android.support.v7.app.*; +import android.support.v7.view.ContextThemeWrapper; import android.util.*; import org.isoron.uhabits.*; @@ -34,6 +35,7 @@ import org.isoron.uhabits.core.tasks.*; import org.isoron.uhabits.utils.*; import static org.isoron.androidbase.utils.InterfaceUtils.*; +import static org.isoron.uhabits.core.ui.ThemeSwitcher.THEME_LIGHT; public class HistoryEditorDialog extends AppCompatDialogFragment implements DialogInterface.OnClickListener, ModelObservable.Listener @@ -62,6 +64,22 @@ public class HistoryEditorDialog extends AppCompatDialogFragment dismiss(); } + @Override + public int getTheme() + { + HabitsApplicationComponent component = + ((HabitsApplication) getContext().getApplicationContext()).getComponent(); + + if(component.getPreferences().getTheme() == THEME_LIGHT) + return R.style.DialogWithTitle; + else { + if (component.getPreferences().isPureBlackEnabled()) { + return R.style.BlackDialogWithTitle; + } + return R.style.DarkDialogWithTitle; + } + } + @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) @@ -90,7 +108,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment historyChart.setPadding(padding, 0, padding, 0); historyChart.setIsEditable(true); - AlertDialog.Builder builder = new AlertDialog.Builder(context); + AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(context, getTheme())); builder .setTitle(R.string.history) .setView(historyChart) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java index e9e5c5ee3..eda9b43f4 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java @@ -41,6 +41,7 @@ import org.isoron.uhabits.core.preferences.*; import butterknife.*; import static android.view.View.GONE; +import static org.isoron.uhabits.core.ui.ThemeSwitcher.THEME_DARK; import static org.isoron.uhabits.core.ui.ThemeSwitcher.THEME_LIGHT; public class EditHabitDialog extends AppCompatDialogFragment @@ -83,8 +84,12 @@ public class EditHabitDialog extends AppCompatDialogFragment if(component.getPreferences().getTheme() == THEME_LIGHT) return R.style.DialogWithTitle; - else + else { + if (component.getPreferences().isPureBlackEnabled()) { + return R.style.BlackDialogWithTitle; + } return R.style.DarkDialogWithTitle; + } } @Override diff --git a/uhabits-android/src/main/res/values/styles.xml b/uhabits-android/src/main/res/values/styles.xml index bfff08327..739637ca9 100644 --- a/uhabits-android/src/main/res/values/styles.xml +++ b/uhabits-android/src/main/res/values/styles.xml @@ -139,6 +139,8 @@ @color/grey_900 @color/black + + @style/BlackToolbarPopupTheme + + + +