mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-13 20:24:14 +02:00
set the correct color using Material3 for prepareInputDialog
This commit is contained in:
@@ -49,6 +49,7 @@ import com.health.openscale.core.datatypes.ScaleMeasurement;
|
|||||||
import com.health.openscale.core.evaluation.EvaluationResult;
|
import com.health.openscale.core.evaluation.EvaluationResult;
|
||||||
import com.health.openscale.core.evaluation.EvaluationSheet;
|
import com.health.openscale.core.evaluation.EvaluationSheet;
|
||||||
import com.health.openscale.core.utils.Converters;
|
import com.health.openscale.core.utils.Converters;
|
||||||
|
import com.health.openscale.gui.utils.ColorUtil;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@@ -707,10 +708,12 @@ public abstract class FloatMeasurementView extends MeasurementView {
|
|||||||
final Button inc = view.findViewById(R.id.btn_inc);
|
final Button inc = view.findViewById(R.id.btn_inc);
|
||||||
inc.setText("\u25b2 +" + formatValue(INC_DEC_DELTA));
|
inc.setText("\u25b2 +" + formatValue(INC_DEC_DELTA));
|
||||||
inc.setOnClickListener(onClickListener);
|
inc.setOnClickListener(onClickListener);
|
||||||
|
inc.setTextColor(ColorUtil.getPrimaryColor(getContext()));
|
||||||
inc.setOnTouchListener(repeatListener);
|
inc.setOnTouchListener(repeatListener);
|
||||||
|
|
||||||
final Button dec = view.findViewById(R.id.btn_dec);
|
final Button dec = view.findViewById(R.id.btn_dec);
|
||||||
dec.setText("\u25bc -" + formatValue(INC_DEC_DELTA));
|
dec.setText("\u25bc -" + formatValue(INC_DEC_DELTA));
|
||||||
|
dec.setTextColor(ColorUtil.getPrimaryColor(getContext()));
|
||||||
dec.setOnClickListener(onClickListener);
|
dec.setOnClickListener(onClickListener);
|
||||||
dec.setOnTouchListener(repeatListener);
|
dec.setOnTouchListener(repeatListener);
|
||||||
|
|
||||||
|
@@ -20,11 +20,11 @@ import static com.health.openscale.gui.measurement.MeasurementView.MeasurementVi
|
|||||||
import static com.health.openscale.gui.measurement.MeasurementView.MeasurementViewMode.STATISTIC;
|
import static com.health.openscale.gui.measurement.MeasurementView.MeasurementViewMode.STATISTIC;
|
||||||
import static com.health.openscale.gui.measurement.MeasurementView.MeasurementViewMode.VIEW;
|
import static com.health.openscale.gui.measurement.MeasurementView.MeasurementViewMode.VIEW;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.GradientDrawable;
|
import android.graphics.drawable.GradientDrawable;
|
||||||
@@ -44,11 +44,13 @@ import android.widget.TableLayout;
|
|||||||
import android.widget.TableRow;
|
import android.widget.TableRow;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.preference.CheckBoxPreference;
|
import androidx.preference.CheckBoxPreference;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
import com.health.openscale.R;
|
import com.health.openscale.R;
|
||||||
import com.health.openscale.core.OpenScale;
|
import com.health.openscale.core.OpenScale;
|
||||||
import com.health.openscale.core.datatypes.ScaleMeasurement;
|
import com.health.openscale.core.datatypes.ScaleMeasurement;
|
||||||
@@ -454,11 +456,12 @@ public abstract class MeasurementView extends TableLayout {
|
|||||||
|
|
||||||
private void prepareInputDialog(final AlertDialog dialog) {
|
private void prepareInputDialog(final AlertDialog dialog) {
|
||||||
dialog.setTitle(getName());
|
dialog.setTitle(getName());
|
||||||
|
getIcon().setColorFilter(ColorUtil.getTintColor(getContext()), PorterDuff.Mode.SRC_IN);
|
||||||
dialog.setIcon(getIcon());
|
dialog.setIcon(getIcon());
|
||||||
|
|
||||||
final View input = getInputView();
|
final View input = getInputView();
|
||||||
|
|
||||||
FrameLayout fl = dialog.findViewById(android.R.id.custom);
|
FrameLayout fl = dialog.findViewById(R.id.custom);
|
||||||
fl.removeAllViews();
|
fl.removeAllViews();
|
||||||
fl.addView(input, new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
|
fl.addView(input, new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
|
||||||
LinearLayout.LayoutParams.WRAP_CONTENT));
|
LinearLayout.LayoutParams.WRAP_CONTENT));
|
||||||
@@ -475,10 +478,13 @@ public abstract class MeasurementView extends TableLayout {
|
|||||||
};
|
};
|
||||||
|
|
||||||
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(clickListener);
|
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(clickListener);
|
||||||
|
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(ColorUtil.getPrimaryColor(getContext()));
|
||||||
dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setOnClickListener(clickListener);
|
dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setOnClickListener(clickListener);
|
||||||
|
dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(ColorUtil.getPrimaryColor(getContext()));
|
||||||
|
|
||||||
final MeasurementView next = getNextView();
|
final MeasurementView next = getNextView();
|
||||||
if (next != null) {
|
if (next != null) {
|
||||||
|
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(ColorUtil.getPrimaryColor(getContext()));
|
||||||
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setOnClickListener(new OnClickListener() {
|
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setOnClickListener(new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
@@ -494,7 +500,7 @@ public abstract class MeasurementView extends TableLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void showInputDialog() {
|
private void showInputDialog() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
|
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext());
|
||||||
|
|
||||||
builder.setTitle(getName());
|
builder.setTitle(getName());
|
||||||
builder.setIcon(getIcon());
|
builder.setIcon(getIcon());
|
||||||
|
@@ -33,6 +33,18 @@ public class ColorUtil {
|
|||||||
public static final int COLOR_BLACK = Color.parseColor("#000000");
|
public static final int COLOR_BLACK = Color.parseColor("#000000");
|
||||||
public static final int[] COLORS = new int[]{COLOR_BLUE, COLOR_VIOLET, COLOR_GREEN, COLOR_ORANGE, COLOR_RED};
|
public static final int[] COLORS = new int[]{COLOR_BLUE, COLOR_VIOLET, COLOR_GREEN, COLOR_ORANGE, COLOR_RED};
|
||||||
|
|
||||||
|
public static int getPrimaryColor(Context context) {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
|
||||||
|
int nightModeFlags = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
|
||||||
|
|
||||||
|
if (prefs.getString("app_theme", "Light").equals("Dark") || nightModeFlags == Configuration.UI_MODE_NIGHT_YES) {
|
||||||
|
return context.getResources().getColor(android.R.color.primary_text_dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
return context.getResources().getColor(android.R.color.primary_text_light);
|
||||||
|
}
|
||||||
|
|
||||||
public static int getTintColor(Context context) {
|
public static int getTintColor(Context context) {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user