Make header text and tertiary text color themeable
This commit is contained in:
parent
58cb6bb4b7
commit
13983be799
|
@ -53,6 +53,7 @@ import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
|
|||
import org.sufficientlysecure.keychain.ui.adapter.MultiUserIdsAdapter;
|
||||
import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.widget.CertifyKeySpinner;
|
||||
import org.sufficientlysecure.keychain.util.Log;
|
||||
import org.sufficientlysecure.keychain.util.Preferences;
|
||||
|
@ -154,7 +155,7 @@ public class CertifyKeyFragment
|
|||
// make certify image gray, like action icons
|
||||
ImageView vActionCertifyImage =
|
||||
(ImageView) view.findViewById(R.id.certify_key_action_certify_image);
|
||||
vActionCertifyImage.setColorFilter(getResources().getColor(R.color.tertiary_text_light),
|
||||
vActionCertifyImage.setColorFilter(FormattingUtils.getColorFromAttr(getActivity(), R.attr.colorTertiaryText),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
|
||||
View vCertifyButton = view.findViewById(R.id.certify_key_certify_button);
|
||||
|
|
|
@ -28,7 +28,6 @@ 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;
|
||||
|
@ -47,7 +46,6 @@ 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;
|
||||
|
@ -70,6 +68,7 @@ import org.sufficientlysecure.keychain.service.ImportKeyringParcel;
|
|||
import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter;
|
||||
import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
|
||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
|
||||
import org.sufficientlysecure.keychain.util.FabContainer;
|
||||
|
@ -710,10 +709,7 @@ 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;
|
||||
int colorEmphasis = FormattingUtils.getColorFromAttr(mContext, R.attr.colorEmphasis);
|
||||
|
||||
if (mSelection.get(position) != null) {
|
||||
// selected position color
|
||||
|
|
|
@ -37,6 +37,7 @@ import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
|||
import org.sufficientlysecure.keychain.service.ImportKeyringParcel;
|
||||
import org.sufficientlysecure.keychain.ui.base.BaseActivity;
|
||||
import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.util.Log;
|
||||
import org.sufficientlysecure.keychain.util.ParcelableFileCache;
|
||||
|
@ -81,7 +82,7 @@ public class SafeSlingerActivity extends BaseActivity
|
|||
});
|
||||
|
||||
ImageView buttonIcon = (ImageView) findViewById(R.id.safe_slinger_button_image);
|
||||
buttonIcon.setColorFilter(getResources().getColor(R.color.tertiary_text_light),
|
||||
buttonIcon.setColorFilter(FormattingUtils.getColorFromAttr(this, R.attr.colorTertiaryText),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
|
||||
View button = findViewById(R.id.safe_slinger_button);
|
||||
|
|
|
@ -58,6 +58,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract;
|
|||
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
|
||||
import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
||||
import org.sufficientlysecure.keychain.provider.TemporaryStorageProvider;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
|
||||
|
@ -111,7 +112,7 @@ public class ViewKeyAdvShareFragment extends LoaderFragment implements
|
|||
View vKeyClipboardButton = view.findViewById(R.id.view_key_action_key_clipboard);
|
||||
ImageButton vKeySafeSlingerButton = (ImageButton) view.findViewById(R.id.view_key_action_key_safeslinger);
|
||||
View vKeyUploadButton = view.findViewById(R.id.view_key_action_upload);
|
||||
vKeySafeSlingerButton.setColorFilter(getResources().getColor(R.color.tertiary_text_light),
|
||||
vKeySafeSlingerButton.setColorFilter(FormattingUtils.getColorFromAttr(getActivity(), R.attr.colorTertiaryText),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
|
||||
vFingerprintShareButton.setOnClickListener(new View.OnClickListener() {
|
||||
|
|
|
@ -42,6 +42,7 @@ import org.sufficientlysecure.keychain.pgp.CanonicalizedPublicKeyRing;
|
|||
import org.sufficientlysecure.keychain.pgp.KeyRing;
|
||||
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
|
||||
import org.sufficientlysecure.keychain.ui.util.Highlighter;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils.State;
|
||||
|
||||
|
@ -49,6 +50,7 @@ public class KeyAdapter extends CursorAdapter {
|
|||
|
||||
protected String mQuery;
|
||||
protected LayoutInflater mInflater;
|
||||
protected Context mContext;
|
||||
|
||||
// These are the rows that we will retrieve.
|
||||
public static final String[] PROJECTION = new String[]{
|
||||
|
@ -77,6 +79,7 @@ public class KeyAdapter extends CursorAdapter {
|
|||
public KeyAdapter(Context context, Cursor c, int flags) {
|
||||
super(context, c, flags);
|
||||
|
||||
mContext = context;
|
||||
mInflater = LayoutInflater.from(context);
|
||||
}
|
||||
|
||||
|
@ -151,7 +154,7 @@ public class KeyAdapter extends CursorAdapter {
|
|||
mStatus.setVisibility(View.GONE);
|
||||
if (mSlingerButton.hasOnClickListeners()) {
|
||||
mSlingerButton.setColorFilter(
|
||||
context.getResources().getColor(R.color.tertiary_text_light),
|
||||
FormattingUtils.getColorFromAttr(context, R.attr.colorTertiaryText),
|
||||
PorterDuff.Mode.SRC_IN);
|
||||
mSlinger.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
|
|
|
@ -28,5 +28,4 @@ public class CustomAlertDialogBuilder extends AlertDialog.Builder {
|
|||
public CustomAlertDialogBuilder(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,9 +18,11 @@
|
|||
package org.sufficientlysecure.keychain.ui.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources.Theme;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.style.StrikethroughSpan;
|
||||
import android.util.TypedValue;
|
||||
|
||||
public class FormattingUtils {
|
||||
|
||||
|
@ -32,4 +34,10 @@ public class FormattingUtils {
|
|||
return (int) ((px / context.getResources().getDisplayMetrics().density) + 0.5f);
|
||||
}
|
||||
|
||||
public static int getColorFromAttr(Context context, int attr) {
|
||||
TypedValue typedValue = new TypedValue();
|
||||
Theme theme = context.getTheme();
|
||||
theme.resolveAttribute(attr, typedValue, true);
|
||||
return typedValue.data;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,12 +18,11 @@
|
|||
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;
|
||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
@ -47,10 +46,7 @@ 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;
|
||||
int colorEmphasis = FormattingUtils.getColorFromAttr(mContext, R.attr.colorEmphasis);
|
||||
|
||||
while (matcher.find()) {
|
||||
highlight.setSpan(
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
android:height="2dp"
|
||||
android:width="1000dp" />
|
||||
|
||||
<solid android:color="@color/header_text" />
|
||||
<solid android:color="?attr/colorHeaderText" />
|
||||
|
||||
</shape>
|
|
@ -29,7 +29,7 @@
|
|||
android:id="@+id/add_user_id_comment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/tertiary_text_light"
|
||||
android:textColor="?attr/colorTertiaryText"
|
||||
android:singleLine="true"
|
||||
android:lines="1"
|
||||
android:maxLines="1"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:text="@string/label_name"
|
||||
android:textColor="@color/tertiary_text_light"
|
||||
android:textColor="?attr/colorTertiaryText"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
|
@ -44,7 +44,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:text="@string/label_email"
|
||||
android:textColor="@color/tertiary_text_light"
|
||||
android:textColor="?attr/colorTertiaryText"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:text="@string/none"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textColor="@color/header_text" />
|
||||
android:textColor="?attr/colorHeaderText" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
android:id="@+id/user_id_item_comment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/tertiary_text_light"
|
||||
android:textColor="?attr/colorTertiaryText"
|
||||
android:text="comment"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
|
|
|
@ -4,5 +4,7 @@
|
|||
<attr name="colorFab" format="color" />
|
||||
<attr name="colorFabPressed" format="color" />
|
||||
<attr name="colorEmphasis" format="color" />
|
||||
<attr name="colorHeaderText" format="color" />
|
||||
<attr name="colorTertiaryText" format="color" />
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
|
|
|
@ -4,11 +4,7 @@
|
|||
<color name="icons">#FFFFFF</color>
|
||||
<color name="transparent">#00FFFFFF</color>
|
||||
|
||||
<color name="header_text">#212121</color>
|
||||
|
||||
<color name="bg_gray">#cecbce</color>
|
||||
<color name="tertiary_text_light">#808080</color>
|
||||
<color name="alert">#ffdd3333</color>
|
||||
|
||||
<color name="holo_gray_bright">#33CCCCCC</color>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<item name="android:layout_marginTop">16dp</item>
|
||||
<item name="android:paddingLeft">16dp</item>
|
||||
<item name="android:textStyle">normal</item>
|
||||
<item name="android:textColor">@color/header_text</item>
|
||||
<item name="android:textColor">?attr/colorHeaderText</item>
|
||||
<item name="android:textSize">17sp</item>
|
||||
</style>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
|||
<item name="android:layout_marginTop">8dp</item>
|
||||
<item name="android:paddingLeft">8dp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textColor">@color/header_text</item>
|
||||
<item name="android:textColor">?attr/colorHeaderText</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
</style>
|
||||
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
<item name="colorFabPressed">#1976d2</item>
|
||||
|
||||
<item name="colorEmphasis">#2196f3</item>
|
||||
<item name="colorHeaderText">#212121</item>
|
||||
<item name="colorTertiaryText">#808080</item>
|
||||
|
||||
|
||||
<!-- remove actionbar and title, we use toolbar! -->
|
||||
<item name="windowNoTitle">true</item>
|
||||
|
@ -28,6 +31,8 @@
|
|||
<item name="colorFabPressed">#1976d2</item>
|
||||
|
||||
<item name="colorEmphasis">#2196f3</item>
|
||||
<item name="colorHeaderText">#a0a0a0</item>
|
||||
<item name="colorTertiaryText">#808080</item>
|
||||
|
||||
<!-- remove actionbar and title, we use toolbar! -->
|
||||
<item name="windowNoTitle">true</item>
|
||||
|
|
Loading…
Reference in a new issue