fix: Background of popup elements (dialogs/menus) were not optimized for

pure black mode

References: #477
pull/478/head
Christoph Hennemann 7 years ago
parent 178061475e
commit c0b12ac70c

@ -25,6 +25,7 @@ import android.os.*;
import android.support.annotation.*; import android.support.annotation.*;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.support.v7.app.*; import android.support.v7.app.*;
import android.support.v7.view.ContextThemeWrapper;
import android.util.*; import android.util.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
@ -34,6 +35,7 @@ import org.isoron.uhabits.core.tasks.*;
import org.isoron.uhabits.utils.*; import org.isoron.uhabits.utils.*;
import static org.isoron.androidbase.utils.InterfaceUtils.*; import static org.isoron.androidbase.utils.InterfaceUtils.*;
import static org.isoron.uhabits.core.ui.ThemeSwitcher.THEME_LIGHT;
public class HistoryEditorDialog extends AppCompatDialogFragment public class HistoryEditorDialog extends AppCompatDialogFragment
implements DialogInterface.OnClickListener, ModelObservable.Listener implements DialogInterface.OnClickListener, ModelObservable.Listener
@ -62,6 +64,22 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
dismiss(); 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 @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) public Dialog onCreateDialog(@Nullable Bundle savedInstanceState)
@ -90,7 +108,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
historyChart.setPadding(padding, 0, padding, 0); historyChart.setPadding(padding, 0, padding, 0);
historyChart.setIsEditable(true); historyChart.setIsEditable(true);
AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(context, getTheme()));
builder builder
.setTitle(R.string.history) .setTitle(R.string.history)
.setView(historyChart) .setView(historyChart)

@ -40,6 +40,7 @@ import org.isoron.uhabits.core.preferences.*;
import butterknife.*; import butterknife.*;
import static android.view.View.GONE; 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; import static org.isoron.uhabits.core.ui.ThemeSwitcher.THEME_LIGHT;
public class EditHabitDialog extends AppCompatDialogFragment public class EditHabitDialog extends AppCompatDialogFragment
@ -82,9 +83,13 @@ public class EditHabitDialog extends AppCompatDialogFragment
if(component.getPreferences().getTheme() == THEME_LIGHT) if(component.getPreferences().getTheme() == THEME_LIGHT)
return R.style.DialogWithTitle; return R.style.DialogWithTitle;
else else {
if (component.getPreferences().isPureBlackEnabled()) {
return R.style.BlackDialogWithTitle;
}
return R.style.DarkDialogWithTitle; return R.style.DarkDialogWithTitle;
} }
}
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) public void onActivityCreated(Bundle savedInstanceState)

@ -135,6 +135,8 @@
<item name="lowContrastTextColor">@color/grey_900</item> <item name="lowContrastTextColor">@color/grey_900</item>
<item name="highContrastReverseTextColor">@color/black</item> <item name="highContrastReverseTextColor">@color/black</item>
<item name="toolbarPopupTheme">@style/BlackToolbarPopupTheme</item>
</style> </style>
<style name="TransparentWidgetTheme" parent="AppBaseThemeDark"> <style name="TransparentWidgetTheme" parent="AppBaseThemeDark">
@ -254,4 +256,14 @@
parent="@style/Theme.AppCompat.Dialog"> parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">false</item> <item name="windowNoTitle">false</item>
</style> </style>
<style name="BlackDialogWithTitle"
parent="@style/DarkDialogWithTitle">
<item name="android:colorBackground">#181818</item>
<item name="android:background">#181818</item>
</style>
<style name="BlackToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Light">
<item name="android:colorBackground">#181818</item>
</style>
</resources> </resources>

Loading…
Cancel
Save