From 4faf535801be224ef9ab0587b5b2ba76a9335b33 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 9 Jan 2019 15:10:44 +0000 Subject: [PATCH 1/2] Reduce visibility. --- .../briar/android/conversation/glide/BriarDataFetcher.java | 2 +- .../briar/android/conversation/glide/BriarModelLoader.java | 2 +- .../conversation/glide/BriarModelLoaderFactory.java | 2 +- .../conversation/glide/CustomCornersTransformation.java | 7 ++++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java index c70abd24e..ac239f4a4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java @@ -40,7 +40,7 @@ class BriarDataFetcher implements DataFetcher { private volatile boolean cancel = false; @Inject - public BriarDataFetcher(MessagingManager messagingManager, + BriarDataFetcher(MessagingManager messagingManager, @DatabaseExecutor Executor dbExecutor, AttachmentItem attachment) { this.messagingManager = messagingManager; this.dbExecutor = dbExecutor; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoader.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoader.java index 1891abdfe..b4e132392 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoader.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoader.java @@ -22,7 +22,7 @@ public final class BriarModelLoader @Inject BriarDataFetcherFactory dataFetcherFactory; - public BriarModelLoader(BriarApplication app) { + BriarModelLoader(BriarApplication app) { app.getApplicationComponent().inject(this); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoaderFactory.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoaderFactory.java index 9d2a6d5d1..7d077e50e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoaderFactory.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarModelLoaderFactory.java @@ -16,7 +16,7 @@ class BriarModelLoaderFactory private final BriarApplication app; - public BriarModelLoaderFactory(BriarApplication app) { + BriarModelLoaderFactory(BriarApplication app) { this.app = app; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/CustomCornersTransformation.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/CustomCornersTransformation.java index fc013750c..a6a11c640 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/CustomCornersTransformation.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/CustomCornersTransformation.java @@ -21,13 +21,14 @@ import static android.graphics.Shader.TileMode.CLAMP; @Immutable @NotNullByDefault -public class CustomCornersTransformation extends BitmapTransformation { +class CustomCornersTransformation extends BitmapTransformation { - private static final String ID = CustomCornersTransformation.class.getName(); + private static final String ID = + CustomCornersTransformation.class.getName(); private final Radii radii; - public CustomCornersTransformation(Radii radii) { + CustomCornersTransformation(Radii radii) { this.radii = radii; } From d7c72c4d68a2552e2b922b37a3a4f634097850dd Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 9 Jan 2019 15:17:18 +0000 Subject: [PATCH 2/2] Use a unique transition name for each AttachmentItem. --- .../briar/android/conversation/AttachmentItem.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentItem.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentItem.java index 43ab2efd5..8c109676b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentItem.java @@ -7,6 +7,8 @@ import android.support.annotation.Nullable; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; +import java.util.concurrent.atomic.AtomicLong; + import javax.annotation.concurrent.Immutable; @Immutable @@ -18,6 +20,7 @@ public class AttachmentItem implements Parcelable { private final String mimeType, extension; private final int thumbnailWidth, thumbnailHeight; private final boolean hasError; + private final long instanceId; public static final Creator CREATOR = new Creator() { @@ -32,6 +35,8 @@ public class AttachmentItem implements Parcelable { } }; + private static final AtomicLong NEXT_INSTANCE_ID = new AtomicLong(0); + AttachmentItem(MessageId messageId, int width, int height, String mimeType, String extension, int thumbnailWidth, int thumbnailHeight, boolean hasError) { @@ -43,6 +48,7 @@ public class AttachmentItem implements Parcelable { this.thumbnailWidth = thumbnailWidth; this.thumbnailHeight = thumbnailHeight; this.hasError = hasError; + instanceId = NEXT_INSTANCE_ID.getAndIncrement(); } protected AttachmentItem(Parcel in) { @@ -56,6 +62,7 @@ public class AttachmentItem implements Parcelable { thumbnailWidth = in.readInt(); thumbnailHeight = in.readInt(); hasError = in.readByte() != 0; + instanceId = in.readLong(); } public MessageId getMessageId() { @@ -90,9 +97,8 @@ public class AttachmentItem implements Parcelable { return hasError; } - // TODO use counter instead, because in theory one attachment can appear in more than one messages String getTransitionName() { - return String.valueOf(messageId.hashCode()); + return String.valueOf(instanceId); } @Override @@ -110,12 +116,13 @@ public class AttachmentItem implements Parcelable { dest.writeInt(thumbnailWidth); dest.writeInt(thumbnailHeight); dest.writeByte((byte) (hasError ? 1 : 0)); + dest.writeLong(instanceId); } @Override public boolean equals(@Nullable Object o) { return o instanceof AttachmentItem && - messageId.equals(((AttachmentItem) o).messageId); + instanceId == ((AttachmentItem) o).instanceId; } }