mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 20:59:54 +01:00
Address review issues
This commit is contained in:
@@ -8,7 +8,7 @@ import org.briarproject.api.privategroup.Visibility;
|
||||
public class VisibilityStringProvider {
|
||||
|
||||
@StringRes
|
||||
public static int getVisibilityString(Visibility v) {
|
||||
public static int getVisibilityStringId(Visibility v) {
|
||||
switch (v) {
|
||||
case VISIBLE:
|
||||
return R.string.groups_reveal_visible;
|
||||
|
||||
@@ -44,7 +44,7 @@ import static org.briarproject.api.privategroup.PrivateGroupConstants.MAX_GROUP_
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class GroupActivity extends
|
||||
ThreadListActivity<PrivateGroup, GroupMessageAdapter<GroupMessageItem>, GroupMessageItem, GroupMessageHeader>
|
||||
ThreadListActivity<PrivateGroup, GroupMessageAdapter, GroupMessageItem, GroupMessageHeader>
|
||||
implements GroupListener, OnClickListener {
|
||||
|
||||
private final static int REQUEST_INVITE = 2;
|
||||
@@ -85,9 +85,9 @@ public class GroupActivity extends
|
||||
}
|
||||
|
||||
@Override
|
||||
protected GroupMessageAdapter<GroupMessageItem> createAdapter(
|
||||
protected GroupMessageAdapter createAdapter(
|
||||
LinearLayoutManager layoutManager) {
|
||||
return new GroupMessageAdapter<>(this, layoutManager);
|
||||
return new GroupMessageAdapter(this, layoutManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,12 +19,11 @@ import static android.support.v7.widget.RecyclerView.NO_POSITION;
|
||||
|
||||
@UiThread
|
||||
@NotNullByDefault
|
||||
public class GroupMessageAdapter<I extends GroupMessageItem>
|
||||
extends ThreadItemAdapter<I> {
|
||||
class GroupMessageAdapter extends ThreadItemAdapter<GroupMessageItem> {
|
||||
|
||||
private boolean isCreator = false;
|
||||
|
||||
public GroupMessageAdapter(ThreadItemListener<I> listener,
|
||||
public GroupMessageAdapter(ThreadItemListener<GroupMessageItem> listener,
|
||||
LinearLayoutManager layoutManager) {
|
||||
super(listener, layoutManager);
|
||||
}
|
||||
@@ -38,13 +37,12 @@ public class GroupMessageAdapter<I extends GroupMessageItem>
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseThreadItemViewHolder<I> onCreateViewHolder(
|
||||
public BaseThreadItemViewHolder<GroupMessageItem> onCreateViewHolder(
|
||||
ViewGroup parent, int type) {
|
||||
View v = LayoutInflater.from(parent.getContext())
|
||||
.inflate(type, parent, false);
|
||||
if (type == R.layout.list_item_group_join_notice) {
|
||||
return (BaseThreadItemViewHolder<I>)
|
||||
new JoinMessageItemViewHolder(v, isCreator);
|
||||
return new JoinMessageItemViewHolder(v, isCreator);
|
||||
}
|
||||
return new ThreadPostViewHolder<>(v);
|
||||
}
|
||||
@@ -60,7 +58,7 @@ public class GroupMessageAdapter<I extends GroupMessageItem>
|
||||
GroupMessageItem item = items.get(position);
|
||||
if (item instanceof JoinMessageItem) {
|
||||
((JoinMessageItem) item).setVisibility(v);
|
||||
notifyItemChanged(position, item);
|
||||
notifyItemChanged(getVisiblePos(item), item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,7 +66,7 @@ public class GroupMessageAdapter<I extends GroupMessageItem>
|
||||
private int findItemPosition(AuthorId a) {
|
||||
int count = items.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
I item = items.get(i);
|
||||
GroupMessageItem item = items.get(i);
|
||||
if (item.getAuthor().getId().equals(a))
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,7 @@ class JoinMessageItem extends GroupMessageItem {
|
||||
private Visibility visibility;
|
||||
private final boolean isInitial;
|
||||
|
||||
JoinMessageItem(JoinMessageHeader h,
|
||||
String text) {
|
||||
JoinMessageItem(JoinMessageHeader h, String text) {
|
||||
super(h, text);
|
||||
this.visibility = h.getVisibility();
|
||||
this.isInitial = h.isInitial();
|
||||
|
||||
@@ -16,15 +16,15 @@ import org.briarproject.android.threaded.ThreadItemAdapter.ThreadItemListener;
|
||||
import org.briarproject.api.nullsafety.NotNullByDefault;
|
||||
|
||||
import static org.briarproject.android.BriarActivity.GROUP_ID;
|
||||
import static org.briarproject.android.privategroup.VisibilityStringProvider.getVisibilityString;
|
||||
import static org.briarproject.android.privategroup.VisibilityStringProvider.getVisibilityStringId;
|
||||
import static org.briarproject.api.identity.Author.Status.OURSELVES;
|
||||
import static org.briarproject.api.identity.Author.Status.UNKNOWN;
|
||||
import static org.briarproject.api.privategroup.Visibility.INVISIBLE;
|
||||
|
||||
@UiThread
|
||||
@NotNullByDefault
|
||||
public class JoinMessageItemViewHolder
|
||||
extends BaseThreadItemViewHolder<JoinMessageItem> {
|
||||
class JoinMessageItemViewHolder
|
||||
extends BaseThreadItemViewHolder<GroupMessageItem> {
|
||||
|
||||
private final boolean isCreator;
|
||||
private final ImageView icon;
|
||||
@@ -40,19 +40,18 @@ public class JoinMessageItemViewHolder
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(ThreadItemAdapter<JoinMessageItem> adapter,
|
||||
ThreadItemListener<JoinMessageItem> listener, JoinMessageItem item,
|
||||
int pos) {
|
||||
public void bind(ThreadItemAdapter<GroupMessageItem> adapter,
|
||||
ThreadItemListener<GroupMessageItem> listener,
|
||||
GroupMessageItem item, int pos) {
|
||||
super.bind(adapter, listener, item, pos);
|
||||
|
||||
if (isCreator) bindForCreator(item);
|
||||
else bind(item);
|
||||
if (isCreator) bindForCreator((JoinMessageItem) item);
|
||||
else bind((JoinMessageItem) item);
|
||||
}
|
||||
|
||||
private void bindForCreator(final JoinMessageItem item) {
|
||||
if (item.isInitial()) {
|
||||
textView.setText(
|
||||
getContext().getString(R.string.groups_member_created_you));
|
||||
textView.setText(R.string.groups_member_created_you);
|
||||
} else {
|
||||
textView.setText(
|
||||
getContext().getString(R.string.groups_member_joined,
|
||||
@@ -71,8 +70,7 @@ public class JoinMessageItemViewHolder
|
||||
item.getAuthor().getName()));
|
||||
} else {
|
||||
if (item.getStatus() == OURSELVES) {
|
||||
textView.setText(
|
||||
ctx.getString(R.string.groups_member_joined_you));
|
||||
textView.setText(R.string.groups_member_joined_you);
|
||||
} else {
|
||||
textView.setText(ctx.getString(R.string.groups_member_joined,
|
||||
item.getAuthor().getName()));
|
||||
@@ -86,7 +84,7 @@ public class JoinMessageItemViewHolder
|
||||
} else {
|
||||
icon.setVisibility(View.VISIBLE);
|
||||
info.setVisibility(View.VISIBLE);
|
||||
info.setText(getVisibilityString(item.getVisibility()));
|
||||
info.setText(getVisibilityStringId(item.getVisibility()));
|
||||
|
||||
if (item.getVisibility() == INVISIBLE) {
|
||||
icon.setImageResource(R.drawable.ic_visibility_off);
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.briarproject.android.contactselection.BaseSelectableContactHolder;
|
||||
import org.briarproject.api.nullsafety.NotNullByDefault;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import static org.briarproject.android.privategroup.VisibilityStringProvider.getVisibilityString;
|
||||
import static org.briarproject.android.privategroup.VisibilityStringProvider.getVisibilityStringId;
|
||||
import static org.briarproject.android.util.AndroidUtils.GREY_OUT;
|
||||
import static org.briarproject.api.privategroup.Visibility.INVISIBLE;
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RevealableContactViewHolder
|
||||
OnContactClickListener<RevealableContactItem> listener) {
|
||||
super.bind(item, listener);
|
||||
|
||||
info.setText(getVisibilityString(item.getVisibility()));
|
||||
info.setText(getVisibilityStringId(item.getVisibility()));
|
||||
|
||||
if (item.getVisibility() == INVISIBLE) {
|
||||
icon.setImageResource(R.drawable.ic_visibility_off);
|
||||
|
||||
@@ -273,7 +273,7 @@ public class ThreadItemAdapter<I extends ThreadItem>
|
||||
* items if 'item' is null. If 'item' is not visible, NO_POSITION is
|
||||
* returned.
|
||||
*/
|
||||
private int getVisiblePos(@Nullable I item) {
|
||||
protected int getVisiblePos(@Nullable I item) {
|
||||
int visibleCounter = 0;
|
||||
int levelLimit = UNDEFINED;
|
||||
for (I i : items) {
|
||||
|
||||
Reference in New Issue
Block a user