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);
}
}
}