Remove forum invitations from list instead of reloading

Closes #543
This commit is contained in:
Torsten Grote
2016-07-28 15:18:56 -03:00
parent 04d2ede2e1
commit cf6aa01905
2 changed files with 12 additions and 3 deletions

View File

@@ -12,6 +12,7 @@ import android.widget.TextView;
import org.briarproject.R;
import org.briarproject.android.util.TextAvatarView;
import org.briarproject.api.contact.Contact;
import org.briarproject.api.forum.ForumSharingMessage;
import org.briarproject.util.StringUtils;
import java.util.ArrayList;
@@ -94,6 +95,10 @@ class ForumInvitationAdapter extends
forums.addAll(list);
}
public void remove(ForumInvitationItem item) {
forums.remove(item);
}
public void clear() {
forums.clear();
}
@@ -154,7 +159,7 @@ class ForumInvitationAdapter extends
@Override
public boolean areContentsTheSame(ForumInvitationItem oldItem,
ForumInvitationItem newItem) {
return oldItem.getForum().equals(newItem.getForum()) &&
return oldItem.isSubscribed() == newItem.isSubscribed() &&
oldItem.getContacts().equals(newItem.getContacts());
}

View File

@@ -114,7 +114,6 @@ public class ForumInvitationsActivity extends BriarActivity
LOG.info("No forums available, finishing");
finish();
} else {
adapter.clear();
adapter.addAll(forums);
}
}
@@ -158,6 +157,12 @@ public class ForumInvitationsActivity extends BriarActivity
int res = R.string.forum_declined_toast;
if (accept) res = R.string.forum_joined_toast;
Toast.makeText(this, res, LENGTH_SHORT).show();
// remove item and finish if it was the last
adapter.remove(item);
if (adapter.getItemCount() == 0) {
supportFinishAfterTransition();
}
}
private void respondToInvitation(final ForumInvitationItem item,
@@ -174,7 +179,6 @@ public class ForumInvitationsActivity extends BriarActivity
if (LOG.isLoggable(WARNING))
LOG.log(WARNING, e.toString(), e);
}
loadForums();
}
});
}