diff --git a/briar-android/res/layout/list_item_selectable_contact.xml b/briar-android/res/layout/list_item_selectable_contact.xml index 5642afc01..a1054b891 100644 --- a/briar-android/res/layout/list_item_selectable_contact.xml +++ b/briar-android/res/layout/list_item_selectable_contact.xml @@ -1,7 +1,6 @@ + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:padding="@dimen/listitem_horizontal_margin"> - + android:orientation="vertical"> + + + + + + diff --git a/briar-android/res/values/dimens.xml b/briar-android/res/values/dimens.xml index 8aa43b669..8b09f7246 100644 --- a/briar-android/res/values/dimens.xml +++ b/briar-android/res/values/dimens.xml @@ -23,7 +23,6 @@ 10dp 72dp 56dp - 68dp 48dp 23dp 53dp diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml index 4bef054ae..2d1daa679 100644 --- a/briar-android/res/values/strings.xml +++ b/briar-android/res/values/strings.xml @@ -221,6 +221,7 @@ New forum entry New Entry New Reply + Already sharing Lost Password diff --git a/briar-android/src/org/briarproject/android/forum/ContactSelectorAdapter.java b/briar-android/src/org/briarproject/android/forum/ContactSelectorAdapter.java index 23ef1e78c..25e8fa1e9 100644 --- a/briar-android/src/org/briarproject/android/forum/ContactSelectorAdapter.java +++ b/briar-android/src/org/briarproject/android/forum/ContactSelectorAdapter.java @@ -6,10 +6,12 @@ import android.graphics.ColorFilter; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.os.Build; +import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; +import android.widget.TextView; import org.briarproject.R; import org.briarproject.android.contact.BaseContactListAdapter; @@ -19,10 +21,13 @@ import org.briarproject.api.contact.ContactId; import java.util.ArrayList; import java.util.Collection; -public class ContactSelectorAdapter +import static android.view.View.GONE; +import static android.view.View.VISIBLE; + +class ContactSelectorAdapter extends BaseContactListAdapter { - public ContactSelectorAdapter(Context context, + ContactSelectorAdapter(Context context, OnItemClickListener listener) { super(context, listener); @@ -53,11 +58,15 @@ public class ContactSelectorAdapter if (item.isDisabled()) { // we share this forum already with that contact ui.layout.setEnabled(false); - grayOutItem(ui); + ui.shared.setVisibility(VISIBLE); + grayOutItem(ui, true); + } else { + ui.shared.setVisibility(GONE); + grayOutItem(ui, false); } } - public Collection getSelectedContactIds() { + Collection getSelectedContactIds() { Collection selected = new ArrayList<>(); for (int i = 0; i < contacts.size(); i++) { @@ -69,15 +78,17 @@ public class ContactSelectorAdapter return selected; } - protected static class SelectableContactHolder + static class SelectableContactHolder extends BaseContactListAdapter.BaseContactHolder { private final CheckBox checkBox; + private final TextView shared; - public SelectableContactHolder(View v) { + SelectableContactHolder(View v) { super(v); checkBox = (CheckBox) v.findViewById(R.id.checkBox); + shared = (TextView) v.findViewById(R.id.infoView); } } @@ -86,18 +97,27 @@ public class ContactSelectorAdapter return compareByName(c1, c2); } - private void grayOutItem(final SelectableContactHolder ui) { + private void grayOutItem(final SelectableContactHolder ui, + final boolean gray) { if (Build.VERSION.SDK_INT >= 11) { - float alpha = 0.25f; + float alpha = 1f; + if (gray) alpha = 0.25f; ui.avatar.setAlpha(alpha); ui.name.setAlpha(alpha); + ui.shared.setAlpha(alpha); ui.checkBox.setAlpha(alpha); } else { - ColorFilter colorFilter = new PorterDuffColorFilter(Color.GRAY, - PorterDuff.Mode.MULTIPLY); - ui.avatar.setColorFilter(colorFilter); - ui.name.setEnabled(false); - ui.checkBox.setEnabled(false); + if (gray) { + ColorFilter colorFilter = new PorterDuffColorFilter( + ContextCompat.getColor(ctx, R.color.window_background), + PorterDuff.Mode.MULTIPLY); + ui.avatar.setColorFilter(colorFilter); + } else{ + ui.avatar.clearColorFilter(); + } + ui.name.setEnabled(!gray); + ui.shared.setEnabled(!gray); + ui.checkBox.setEnabled(!gray); } } }