Start moving colors into themes
Using attrs instead of fixed colors it will be possible to style everything and also dynamically grab the color where needed in code. This is done with colorEmphasis as an initial test. Also remove several unused colors.
This commit is contained in:
@@ -28,6 +28,7 @@ import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources.Theme;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
@@ -46,6 +47,7 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.util.TypedValue;
|
||||
import android.widget.AbsListView.MultiChoiceModeListener;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
@@ -675,8 +677,11 @@ public class KeyListFragment extends LoaderFragment
|
||||
|
||||
private HashMap<Integer, Boolean> mSelection = new HashMap<>();
|
||||
|
||||
private Context mContext;
|
||||
|
||||
public KeyListAdapter(Context context, Cursor c, int flags) {
|
||||
super(context, c, flags);
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -705,9 +710,14 @@ public class KeyListFragment extends LoaderFragment
|
||||
// let the adapter handle setting up the row views
|
||||
View v = super.getView(position, convertView, parent);
|
||||
|
||||
TypedValue typedValue = new TypedValue();
|
||||
Theme theme = mContext.getTheme();
|
||||
theme.resolveAttribute(R.attr.colorEmphasis, typedValue, true);
|
||||
int colorEmphasis = typedValue.data;
|
||||
|
||||
if (mSelection.get(position) != null) {
|
||||
// selected position color
|
||||
v.setBackgroundColor(parent.getResources().getColor(R.color.emphasis));
|
||||
v.setBackgroundColor(colorEmphasis);
|
||||
} else {
|
||||
// default color
|
||||
v.setBackgroundColor(Color.TRANSPARENT);
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
package org.sufficientlysecure.keychain.ui.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources.Theme;
|
||||
import android.text.Spannable;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
|
||||
@@ -44,9 +46,15 @@ public class Highlighter {
|
||||
|
||||
Pattern pattern = Pattern.compile("(?i)(" + mQuery.trim().replaceAll("\\s+", "|") + ")");
|
||||
Matcher matcher = pattern.matcher(text);
|
||||
|
||||
TypedValue typedValue = new TypedValue();
|
||||
Theme theme = mContext.getTheme();
|
||||
theme.resolveAttribute(R.attr.colorEmphasis, typedValue, true);
|
||||
int colorEmphasis = typedValue.data;
|
||||
|
||||
while (matcher.find()) {
|
||||
highlight.setSpan(
|
||||
new ForegroundColorSpan(mContext.getResources().getColor(R.color.emphasis)),
|
||||
new ForegroundColorSpan(colorEmphasis),
|
||||
matcher.start(),
|
||||
matcher.end(),
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
Reference in New Issue
Block a user