From dfd9c3225130f9d5c677ff2d3f284673d9321e81 Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Mon, 15 Jan 2024 11:51:59 +0100 Subject: [PATCH] Fixes bad text color, closes https://github.com/PhilippC/keepass2android/issues/1942 --- .../AutofillDisabledQueriesPreference.cs | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/keepass2android/settings/AutofillDisabledQueriesPreference.cs b/src/keepass2android/settings/AutofillDisabledQueriesPreference.cs index 6cb3a092..b999580f 100644 --- a/src/keepass2android/settings/AutofillDisabledQueriesPreference.cs +++ b/src/keepass2android/settings/AutofillDisabledQueriesPreference.cs @@ -6,8 +6,10 @@ using Android.App; using Android.Content; using Android.Content.PM; using Android.Content.Res; +using Android.Graphics; using Android.Preferences; using Android.Runtime; +using Android.Support.V4.Content; using Android.Util; using Android.Views; using Android.Widget; @@ -30,10 +32,12 @@ namespace keepass2android public Dictionary DisabledQueriesValues = new Dictionary(); private readonly AutofillDisabledQueriesPreference _pref; + private readonly Context _context; public DisabledQueryPreferenceScreenAdapter(AutofillDisabledQueriesPreference pref, Context context) { _pref = pref; + _context = context; } @@ -41,11 +45,25 @@ namespace keepass2android { private TextView text = null; private CheckBox checkbox = null; - - public CustomHolder(View row, int position, AutofillDisabledQueriesPreference pref) + + public CustomHolder(View row, int position, AutofillDisabledQueriesPreference pref, Context context) { text = (TextView) row.FindViewById(Resource.Id.disabled_query_text); text.Text = pref.DisabledQueries[position].DisplayName; + TypedValue typedValue = new TypedValue(); + + Resources.Theme theme = context.Theme; + if (theme != null) + { + theme.ResolveAttribute(Android.Resource.Attribute.TextColorPrimary, typedValue, true); + using (TypedArray arr = context.ObtainStyledAttributes(typedValue.Data, new int[] { Android.Resource.Attribute.TextColorPrimary })) + { + var primaryColor = arr.GetColorStateList(0); + text.SetTextColor(primaryColor); + } + } + + checkbox = (CheckBox) row.FindViewById(Resource.Id.disabled_query_checkbox); checkbox.Id = position; @@ -79,7 +97,7 @@ namespace keepass2android int p = position; row = LayoutInflater.From(_pref.Context) .Inflate(Resource.Layout.disabled_queries_preference_row, parent, false); - holder = new CustomHolder(row, position, _pref); + holder = new CustomHolder(row, position, _pref, _context); row.Tag = holder;