From 44bdee8e1f519addb7797da16117be1d35e92551 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 27 Sep 2018 13:55:54 -0300 Subject: [PATCH] Hack compound drawable tint for API < 23 --- .../contact/ContactAliasInputFragment.java | 4 ++++ .../contact/ContactLinkInputFragment.java | 18 ++++++++++++++++++ .../src/main/res/drawable/ic_content_copy.xml | 13 +++++++++---- .../src/main/res/drawable/ic_content_paste.xml | 13 +++++++++---- .../src/main/res/drawable/ic_qr_code.xml | 1 + .../main/res/drawable/social_share_blue.xml | 10 ++++++++++ .../res/layout/fragment_contact_link_input.xml | 5 ++--- .../layout/fragment_contact_link_output.xml | 8 ++++---- 8 files changed, 57 insertions(+), 15 deletions(-) create mode 100644 briar-android/src/main/res/drawable/social_share_blue.xml diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactAliasInputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactAliasInputFragment.java index c2e5d9985..5b7698e8c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactAliasInputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactAliasInputFragment.java @@ -1,7 +1,9 @@ package org.briarproject.briar.android.contact; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v7.app.AlertDialog; import android.text.Editable; import android.text.TextWatcher; @@ -21,6 +23,8 @@ import javax.annotation.Nullable; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; +import static android.os.Build.VERSION.SDK_INT; +import static org.briarproject.briar.android.util.UiUtils.resolveColorAttribute; @NotNullByDefault public class ContactAliasInputFragment extends BaseFragment diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java index 10dffea12..4d58467a9 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java @@ -2,6 +2,7 @@ package org.briarproject.briar.android.contact; import android.content.ClipboardManager; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.text.Editable; @@ -21,7 +22,11 @@ import javax.annotation.Nullable; import static android.content.ClipDescription.MIMETYPE_TEXT_PLAIN; import static android.content.Context.CLIPBOARD_SERVICE; +import static android.os.Build.VERSION.SDK_INT; +import static android.support.v4.graphics.drawable.DrawableCompat.setTint; +import static android.support.v4.graphics.drawable.DrawableCompat.wrap; import static java.util.Objects.requireNonNull; +import static org.briarproject.briar.android.util.UiUtils.resolveColorAttribute; @NotNullByDefault public class ContactLinkInputFragment extends BaseFragment @@ -55,8 +60,15 @@ public class ContactLinkInputFragment extends BaseFragment clipboard = (ClipboardManager) requireNonNull( getContext().getSystemService(CLIPBOARD_SERVICE)); + int color = resolveColorAttribute(getContext(), R.attr.colorControlNormal); + linkInput = v.findViewById(R.id.linkInput); linkInput.addTextChangedListener(this); + if (SDK_INT < 23) { + Drawable drawable = wrap(linkInput.getCompoundDrawables()[0]); + setTint(drawable, color); + linkInput.setCompoundDrawables(drawable, null, null, null); + } pasteButton = v.findViewById(R.id.pasteButton); pasteButton.setOnClickListener(view -> linkInput @@ -64,6 +76,12 @@ public class ContactLinkInputFragment extends BaseFragment contactNameInput = v.findViewById(R.id.contactNameInput); contactNameInput.addTextChangedListener(this); + if (SDK_INT < 23) { + Drawable drawable = + wrap(contactNameInput.getCompoundDrawables()[0]); + setTint(drawable, color); + contactNameInput.setCompoundDrawables(drawable, null, null, null); + } addButton = v.findViewById(R.id.addButton); addButton.setOnClickListener(view -> onAddButtonClicked()); diff --git a/briar-android/src/main/res/drawable/ic_content_copy.xml b/briar-android/src/main/res/drawable/ic_content_copy.xml index 62ad95395..5f2c3adda 100644 --- a/briar-android/src/main/res/drawable/ic_content_copy.xml +++ b/briar-android/src/main/res/drawable/ic_content_copy.xml @@ -1,5 +1,10 @@ - - + + diff --git a/briar-android/src/main/res/drawable/ic_content_paste.xml b/briar-android/src/main/res/drawable/ic_content_paste.xml index faac5cbb2..07a6a9b90 100644 --- a/briar-android/src/main/res/drawable/ic_content_paste.xml +++ b/briar-android/src/main/res/drawable/ic_content_paste.xml @@ -1,5 +1,10 @@ - - + + diff --git a/briar-android/src/main/res/drawable/ic_qr_code.xml b/briar-android/src/main/res/drawable/ic_qr_code.xml index 513193b4a..0406e93d8 100644 --- a/briar-android/src/main/res/drawable/ic_qr_code.xml +++ b/briar-android/src/main/res/drawable/ic_qr_code.xml @@ -1,6 +1,7 @@ + + diff --git a/briar-android/src/main/res/layout/fragment_contact_link_input.xml b/briar-android/src/main/res/layout/fragment_contact_link_input.xml index 7f06c5ce9..c57b07bcb 100644 --- a/briar-android/src/main/res/layout/fragment_contact_link_input.xml +++ b/briar-android/src/main/res/layout/fragment_contact_link_input.xml @@ -21,7 +21,8 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_chainStyle="packed"/> + app:layout_constraintVertical_chainStyle="packed" + android:drawableStart="@drawable/ic_person"/> -