diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java
index 0b9b48bd9..53e1cc76d 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java
@@ -102,6 +102,10 @@ class ConversationVisitor implements
text = ctx.getString(
R.string.blogs_sharing_response_accepted_sent,
contactName.getValue());
+ } else if (r.isAutoDecline()) {
+ text = ctx.getString(
+ R.string.blogs_sharing_response_declined_auto,
+ contactName.getValue());
} else {
text = ctx.getString(
R.string.blogs_sharing_response_declined_sent,
@@ -155,6 +159,10 @@ class ConversationVisitor implements
text = ctx.getString(
R.string.forum_invitation_response_accepted_sent,
contactName.getValue());
+ } else if (r.isAutoDecline()) {
+ text = ctx.getString(
+ R.string.forum_invitation_response_declined_auto,
+ contactName.getValue());
} else {
text = ctx.getString(
R.string.forum_invitation_response_declined_sent,
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index d9eec9975..53b1694cc 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -419,6 +419,7 @@
Already sharing
You accepted the forum invitation from %s.
You declined the forum invitation from %s.
+ The forum invitation from %s was automatically declined.
%s accepted the forum invitation.
%s declined the forum invitation.
@@ -456,6 +457,7 @@
Blog shared with chosen contacts
You accepted the blog invitation from %s.
You declined the blog invitation from %s.
+ The blog invitation from %s was automatically declined.
%s accepted the blog invitation.
%s declined the blog invitation.
%1$s has shared the blog \"%2$s\" with you.
diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java
index 8d0c9cbef..c1fc813ef 100644
--- a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java
+++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java
@@ -13,9 +13,9 @@ public class BlogInvitationResponse extends InvitationResponse {
public BlogInvitationResponse(MessageId id, GroupId groupId, long time,
boolean local, boolean read, boolean sent, boolean seen,
SessionId sessionId, boolean accept, GroupId shareableId,
- long autoDeleteTimer) {
+ long autoDeleteTimer, boolean isAutoDecline) {
super(id, groupId, time, local, read, sent, seen, sessionId,
- accept, shareableId, autoDeleteTimer, false);
+ accept, shareableId, autoDeleteTimer, isAutoDecline);
}
@Override
diff --git a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java
index 033d7ad37..3b2e46367 100644
--- a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java
+++ b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java
@@ -16,9 +16,9 @@ public class ForumInvitationResponse extends InvitationResponse {
public ForumInvitationResponse(MessageId id, GroupId groupId, long time,
boolean local, boolean read, boolean sent, boolean seen,
SessionId sessionId, boolean accept, GroupId shareableId,
- long autoDeleteTimer) {
+ long autoDeleteTimer, boolean isAutoDecline) {
super(id, groupId, time, local, read, sent, seen, sessionId,
- accept, shareableId, autoDeleteTimer, false);
+ accept, shareableId, autoDeleteTimer, isAutoDecline);
}
@Override
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogInvitationFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogInvitationFactoryImpl.java
index afa8f4046..916d8a5af 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogInvitationFactoryImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogInvitationFactoryImpl.java
@@ -33,11 +33,11 @@ public class BlogInvitationFactoryImpl
public BlogInvitationResponse createInvitationResponse(MessageId id,
GroupId contactGroupId, long time, boolean local, boolean sent,
boolean seen, boolean read, boolean accept, GroupId shareableId,
- long autoDeleteTimer) {
+ long autoDeleteTimer, boolean isAutoDecline) {
SessionId sessionId = new SessionId(shareableId.getBytes());
return new BlogInvitationResponse(id, contactGroupId, time, local, read,
sent, seen, sessionId, accept, shareableId,
- autoDeleteTimer);
+ autoDeleteTimer, isAutoDecline);
}
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java
index 6ebaa137f..bce737d75 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java
@@ -8,6 +8,7 @@ import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.db.Transaction;
import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
+import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
@@ -71,7 +72,8 @@ class BlogProtocolEngineImpl extends ProtocolEngineImpl {
BlogInvitationResponse response = invitationFactory
.createInvitationResponse(m.getId(), m.getContactGroupId(),
m.getTimestamp(), false, false, false, false,
- true, m.getShareableId(), m.getAutoDeleteTimer());
+ true, m.getShareableId(), m.getAutoDeleteTimer(),
+ false);
return new BlogInvitationResponseReceivedEvent(response, contactId);
}
@@ -81,7 +83,18 @@ class BlogProtocolEngineImpl extends ProtocolEngineImpl {
BlogInvitationResponse response = invitationFactory
.createInvitationResponse(m.getId(), m.getContactGroupId(),
m.getTimestamp(), false, false, false, false,
- false, m.getShareableId(), m.getAutoDeleteTimer());
+ false, m.getShareableId(), m.getAutoDeleteTimer(),
+ false);
+ return new BlogInvitationResponseReceivedEvent(response, contactId);
+ }
+
+ @Override
+ Event getAutoDeclineInvitationResponseReceivedEvent(Session s, Message m,
+ ContactId contactId, long timer) {
+ BlogInvitationResponse response = invitationFactory
+ .createInvitationResponse(m.getId(), s.getContactGroupId(),
+ m.getTimestamp(), true, false, false, true,
+ false, s.getShareableId(), timer, true);
return new BlogInvitationResponseReceivedEvent(response, contactId);
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumInvitationFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumInvitationFactoryImpl.java
index a83b37102..841b8e361 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumInvitationFactoryImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumInvitationFactoryImpl.java
@@ -33,11 +33,11 @@ public class ForumInvitationFactoryImpl
public ForumInvitationResponse createInvitationResponse(MessageId id,
GroupId contactGroupId, long time, boolean local, boolean sent,
boolean seen, boolean read, boolean accept, GroupId shareableId,
- long autoDeleteTimer) {
+ long autoDeleteTimer, boolean isAutoDecline) {
SessionId sessionId = new SessionId(shareableId.getBytes());
return new ForumInvitationResponse(id, contactGroupId, time, local,
read, sent, seen, sessionId, accept, shareableId,
- autoDeleteTimer);
+ autoDeleteTimer, isAutoDecline);
}
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java
index 8a1dabcc0..a1277ac65 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java
@@ -8,6 +8,7 @@ import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.db.Transaction;
import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
+import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
@@ -71,7 +72,8 @@ class ForumProtocolEngineImpl extends ProtocolEngineImpl {
ForumInvitationResponse response = invitationFactory
.createInvitationResponse(m.getId(), m.getContactGroupId(),
m.getTimestamp(), false, false, true, false,
- true, m.getShareableId(), m.getAutoDeleteTimer());
+ true, m.getShareableId(), m.getAutoDeleteTimer(),
+ false);
return new ForumInvitationResponseReceivedEvent(response, contactId);
}
@@ -81,7 +83,18 @@ class ForumProtocolEngineImpl extends ProtocolEngineImpl {
ForumInvitationResponse response = invitationFactory
.createInvitationResponse(m.getId(), m.getContactGroupId(),
m.getTimestamp(), false, false, true, false,
- false, m.getShareableId(), m.getAutoDeleteTimer());
+ false, m.getShareableId(), m.getAutoDeleteTimer(),
+ false);
+ return new ForumInvitationResponseReceivedEvent(response, contactId);
+ }
+
+ @Override
+ Event getAutoDeclineInvitationResponseReceivedEvent(Session s, Message m,
+ ContactId contactId, long timer) {
+ ForumInvitationResponse response = invitationFactory
+ .createInvitationResponse(m.getId(), s.getContactGroupId(),
+ m.getTimestamp(), true, false, false, true,
+ false, s.getShareableId(), timer, true);
return new ForumInvitationResponseReceivedEvent(response, contactId);
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java b/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java
index c156df0e2..99068f229 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java
@@ -15,6 +15,7 @@ public interface InvitationFactory
* Only applies to messages of type INVITE.
*/
public boolean wasAccepted() {
@@ -68,4 +70,8 @@ class MessageMetadata {
public long getAutoDeleteTimer() {
return autoDeleteTimer;
}
+
+ public boolean isAutoDecline() {
+ return isAutoDecline;
+ }
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/MessageParserImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/MessageParserImpl.java
index 11e76cf6c..bf832bc27 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/MessageParserImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/MessageParserImpl.java
@@ -20,6 +20,7 @@ import static org.briarproject.briar.sharing.MessageType.INVITE;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_AUTO_DELETE_TIMER;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_AVAILABLE_TO_ANSWER;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_INVITATION_ACCEPTED;
+import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_IS_AUTO_DECLINE;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_LOCAL;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_MESSAGE_TYPE;
import static org.briarproject.briar.sharing.SharingConstants.MSG_KEY_READ;
@@ -74,8 +75,9 @@ abstract class MessageParserImpl
boolean accepted = meta.getBoolean(MSG_KEY_INVITATION_ACCEPTED, false);
long timer = meta.getLong(MSG_KEY_AUTO_DELETE_TIMER,
NO_AUTO_DELETE_TIMER);
+ boolean isAutoDecline = meta.getBoolean(MSG_KEY_IS_AUTO_DECLINE, false);
return new MessageMetadata(type, shareableId, timestamp, local, read,
- visible, available, accepted, timer);
+ visible, available, accepted, timer, isAutoDecline);
}
@Override
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngine.java
index 637559648..4f759fe0b 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngine.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngine.java
@@ -16,8 +16,8 @@ interface ProtocolEngine {
Session onAcceptAction(Transaction txn, Session session) throws DbException;
- Session onDeclineAction(Transaction txn, Session session)
- throws DbException;
+ Session onDeclineAction(Transaction txn, Session session,
+ boolean isAutoDecline) throws DbException;
Session onLeaveAction(Transaction txn, Session session) throws DbException;
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngineImpl.java
index 1b65ee41c..692f5e084 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngineImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ProtocolEngineImpl.java
@@ -235,11 +235,11 @@ abstract class ProtocolEngineImpl
}
@Override
- public Session onDeclineAction(Transaction txn, Session s)
- throws DbException {
+ public Session onDeclineAction(Transaction txn, Session s,
+ boolean isAutoDecline) throws DbException {
switch (s.getState()) {
case LOCAL_INVITED:
- return onLocalDecline(txn, s);
+ return onLocalDecline(txn, s, isAutoDecline);
case START:
case REMOTE_INVITED:
case SHARING:
@@ -251,14 +251,14 @@ abstract class ProtocolEngineImpl
}
}
- private Session onLocalDecline(Transaction txn, Session s)
- throws DbException {
+ private Session onLocalDecline(Transaction txn, Session s,
+ boolean isAutoDecline) throws DbException {
// Mark the invite message unavailable to answer
MessageId inviteId = s.getLastRemoteMessageId();
if (inviteId == null) throw new IllegalStateException();
markMessageAvailableToAnswer(txn, inviteId, false);
// Send a DECLINE message
- Message sent = sendDeclineMessage(txn, s);
+ Message sent = sendDeclineMessage(txn, s, isAutoDecline);
// Track the message
messageTracker.trackOutgoingMessage(txn, sent);
// Move to the START state
@@ -267,8 +267,8 @@ abstract class ProtocolEngineImpl
s.getInviteTimestamp());
}
- private Message sendDeclineMessage(Transaction txn, Session s)
- throws DbException {
+ private Message sendDeclineMessage(Transaction txn, Session s,
+ boolean isAutoDecline) throws DbException {
Message m;
long localTimestamp = getTimestampForVisibleMessage(txn, s);
ContactId c = getContactId(txn, s.getContactGroupId());
@@ -278,11 +278,18 @@ abstract class ProtocolEngineImpl
m = messageEncoder.encodeDeclineMessage(s.getContactGroupId(),
s.getShareableId(), localTimestamp,
s.getLastLocalMessageId(), timer);
- sendMessage(txn, m, DECLINE, s.getShareableId(), true, timer);
+ sendMessage(txn, m, DECLINE, s.getShareableId(), true, timer,
+ isAutoDecline);
// Set the auto-delete timer duration on the local message
if (timer != NO_AUTO_DELETE_TIMER) {
db.setCleanupTimerDuration(txn, m.getId(), timer);
}
+ if (isAutoDecline) {
+ // Broadcast an event, so the auto-decline becomes visible
+ Event e = getAutoDeclineInvitationResponseReceivedEvent(
+ s, m, c, timer);
+ txn.attach(e);
+ }
} else {
m = messageEncoder.encodeDeclineMessage(s.getContactGroupId(),
s.getShareableId(), localTimestamp,
@@ -293,6 +300,9 @@ abstract class ProtocolEngineImpl
return m;
}
+ abstract Event getAutoDeclineInvitationResponseReceivedEvent(Session s,
+ Message m, ContactId contactId, long timer);
+
@Override
public Session onLeaveAction(Transaction txn, Session s)
throws DbException {
@@ -406,8 +416,8 @@ abstract class ProtocolEngineImpl
// Broadcast an event
ContactId contactId =
clientHelper.getContactId(txn, s.getContactGroupId());
- txn.attach(
- getInvitationRequestReceivedEvent(m, contactId, false, true));
+ txn.attach(getInvitationRequestReceivedEvent(m, contactId, false,
+ true));
// Move to the next state
return new Session(SHARING, s.getContactGroupId(), s.getShareableId(),
s.getLastLocalMessageId(), m.getId(), s.getLocalTimestamp(),
@@ -648,9 +658,16 @@ abstract class ProtocolEngineImpl
private void sendMessage(Transaction txn, Message m, MessageType type,
GroupId shareableId, boolean visibleInConversation,
long autoDeleteTimer) throws DbException {
+ sendMessage(txn, m, type, shareableId, visibleInConversation,
+ autoDeleteTimer, false);
+ }
+
+ private void sendMessage(Transaction txn, Message m, MessageType type,
+ GroupId shareableId, boolean visibleInConversation,
+ long autoDeleteTimer, boolean isAutoDecline) throws DbException {
BdfDictionary meta = messageEncoder.encodeMetadata(type, shareableId,
m.getTimestamp(), true, true, visibleInConversation, false,
- false, autoDeleteTimer);
+ false, autoDeleteTimer, isAutoDecline);
try {
clientHelper.addLocalMessage(txn, m, meta, true, false);
} catch (FormatException e) {
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingConstants.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingConstants.java
index 4ebf1d790..87ce53589 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingConstants.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingConstants.java
@@ -14,6 +14,7 @@ interface SharingConstants {
String MSG_KEY_AVAILABLE_TO_ANSWER = "availableToAnswer";
String MSG_KEY_INVITATION_ACCEPTED = "invitationAccepted";
String MSG_KEY_AUTO_DELETE_TIMER = "autoDeleteTimer";
+ String MSG_KEY_IS_AUTO_DECLINE = "isAutoDecline";
// Session keys
String SESSION_KEY_IS_SESSION = "isSession";
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java
index 0d20ef022..4e47b3937 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java
@@ -302,11 +302,13 @@ abstract class SharingManagerImpl
@Override
public void respondToInvitation(ContactId c, SessionId id, boolean accept)
throws DbException {
- db.transaction(false, txn -> respondToInvitation(txn, c, id, accept));
+ db.transaction(false,
+ txn -> respondToInvitation(txn, c, id, accept, false));
}
private void respondToInvitation(Transaction txn, ContactId c,
- SessionId id, boolean accept) throws DbException {
+ SessionId id, boolean accept, boolean isAutoDecline)
+ throws DbException {
try {
// Look up the session
Contact contact = db.getContact(txn, c);
@@ -318,7 +320,7 @@ abstract class SharingManagerImpl
sessionParser.parseSession(contactGroupId, ss.bdfSession);
// Handle the accept or decline action
if (accept) session = engine.onAcceptAction(txn, session);
- else session = engine.onDeclineAction(txn, session);
+ else session = engine.onDeclineAction(txn, session, isAutoDecline);
// Store the updated session
storeSession(txn, ss.storageId, session);
} catch (FormatException e) {
@@ -381,7 +383,7 @@ abstract class SharingManagerImpl
return invitationFactory.createInvitationResponse(m, contactGroupId,
meta.getTimestamp(), meta.isLocal(), status.isSent(),
status.isSeen(), meta.isRead(), accept, meta.getShareableId(),
- meta.getAutoDeleteTimer());
+ meta.getAutoDeleteTimer(), meta.isAutoDecline());
}
@Override
@@ -583,7 +585,6 @@ abstract class SharingManagerImpl
}, messageId -> false);
}
-
@Override
public DeletionResult deleteMessages(Transaction txn, ContactId c,
Set messageIds) throws DbException {
@@ -731,9 +732,10 @@ abstract class SharingManagerImpl
// delete given visible messages in sessions
for (Entry entry : sessions.entrySet()) {
DeletableSession session = entry.getValue();
- // first decline pending shareable we're invited to
+ // first decline pending invitation to shareable
if (session.state == LOCAL_INVITED) {
- respondToInvitation(txn, c, entry.getKey(), false);
+ // marked as autoDecline
+ respondToInvitation(txn, c, entry.getKey(), false, true);
}
for (MessageId m : session.messages) {
db.deleteMessage(txn, m);
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingValidator.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingValidator.java
index 73e34be0c..4698ff0e2 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingValidator.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingValidator.java
@@ -74,7 +74,8 @@ abstract class SharingValidator extends BdfMessageValidator {
}
BdfDictionary meta = messageEncoder.encodeMetadata(INVITE, shareableId,
- m.getTimestamp(), false, false, false, false, false, timer);
+ m.getTimestamp(), false, false, false, false, false, timer,
+ false);
if (previousMessageId == null) {
return new BdfMessageContext(meta);
} else {
@@ -96,7 +97,7 @@ abstract class SharingValidator extends BdfMessageValidator {
BdfDictionary meta = messageEncoder.encodeMetadata(type,
new GroupId(shareableId), m.getTimestamp(), false, false,
- false, false, false, NO_AUTO_DELETE_TIMER);
+ false, false, false, NO_AUTO_DELETE_TIMER, false);
if (previousMessageId == null) {
return new BdfMessageContext(meta);
} else {
@@ -123,7 +124,7 @@ abstract class SharingValidator extends BdfMessageValidator {
BdfDictionary meta = messageEncoder.encodeMetadata(type,
new GroupId(shareableId), m.getTimestamp(), false, false,
- false, false, false, timer);
+ false, false, false, timer, false);
if (previousMessageId == null) {
return new BdfMessageContext(meta);
} else {
diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/AbstractAutoDeleteIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/AbstractAutoDeleteIntegrationTest.java
index ee1d9c1aa..5a44d9d23 100644
--- a/briar-core/src/test/java/org/briarproject/briar/sharing/AbstractAutoDeleteIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/sharing/AbstractAutoDeleteIntegrationTest.java
@@ -16,19 +16,17 @@ import static org.junit.Assert.assertTrue;
public abstract class AbstractAutoDeleteIntegrationTest
extends AbstractAutoDeleteTest {
- protected SharingManager> sharingManager0;
+ protected SharingManager extends Shareable> sharingManager0;
protected Shareable shareable;
- protected void testAutoDeclinedSharing(SharingManager> sharingManager0,
+ protected void testAutoDeclinedSharing(
+ SharingManager extends Shareable> sharingManager0,
Shareable shareable) throws Exception {
setAutoDeleteTimer(c0, contactId1From0, MIN_AUTO_DELETE_TIMER_MS);
- assertGroupCount(c0, contactId1From0, 1, 0);
-
// Send invitation
- sharingManager0
- .sendInvitation(shareable.getId(), contactId1From0,
- "This shareable!");
+ sharingManager0.sendInvitation(
+ shareable.getId(), contactId1From0, "This shareable!");
// The message should have been added to 0's view of the conversation
assertGroupCount(c0, contactId1From0, 1, 0);
@@ -99,7 +97,7 @@ public abstract class AbstractAutoDeleteIntegrationTest
assertNotEquals(messageId0, h.getId());
assertTrue(h instanceof InvitationResponse);
assertFalse(((InvitationResponse) h).wasAccepted());
- //TODO assertTrue(((InvitationResponse) h).isAutoDecline());
+ assertTrue(((InvitationResponse) h).isAutoDecline());
// The auto-decline message should have the expected timer
assertEquals(MIN_AUTO_DELETE_TIMER_MS,
h.getAutoDeleteTimer());
@@ -152,9 +150,8 @@ public abstract class AbstractAutoDeleteIntegrationTest
assertTrue(sharingManager0
.canBeShared(shareable.getId(), contact1From0));
// Send invitation
- sharingManager0
- .sendInvitation(shareable.getId(), contactId1From0,
- "This shareable, please be quick!");
+ sharingManager0.sendInvitation(shareable.getId(), contactId1From0,
+ "This shareable, please be quick!");
sync0To1(1, true);
assertGroupCount(c1, contactId0From1, 1, 1);
}
diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/SharingValidatorTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/SharingValidatorTest.java
index 11eb4a603..c24f0c071 100644
--- a/briar-core/src/test/java/org/briarproject/briar/sharing/SharingValidatorTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/sharing/SharingValidatorTest.java
@@ -210,7 +210,7 @@ public abstract class SharingValidatorTest extends ValidatorTestCase {
void expectEncodeMetadata(MessageType type, long autoDeleteTimer) {
context.checking(new Expectations() {{
oneOf(messageEncoder).encodeMetadata(type, groupId, timestamp,
- false, false, false, false, false, autoDeleteTimer);
+ false, false, false, false, false, autoDeleteTimer, false);
will(returnValue(meta));
}});
}