diff --git a/briar-android/src/androidTestOfficial/assets/kitten_small_noexif.jpg b/briar-android/src/androidTestOfficial/assets/kitten_small_noexif.jpg new file mode 100644 index 000000000..63be0a721 Binary files /dev/null and b/briar-android/src/androidTestOfficial/assets/kitten_small_noexif.jpg differ diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/BriarUiTestComponent.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/BriarUiTestComponent.java index 8d905dcc1..e8c81393f 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/BriarUiTestComponent.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/BriarUiTestComponent.java @@ -5,6 +5,7 @@ import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.account.BriarAccountModule; import org.briarproject.briar.BriarCoreModule; import org.briarproject.briar.android.attachment.AttachmentModule; +import org.briarproject.briar.android.attachment.media.MediaModule; import org.briarproject.briar.android.navdrawer.NavDrawerActivityTest; import javax.inject.Singleton; @@ -15,6 +16,7 @@ import dagger.Component; @Component(modules = { AppModule.class, AttachmentModule.class, + MediaModule.class, BriarCoreModule.class, BrambleAndroidModule.class, BriarAccountModule.class, diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractAttachmentRetrieverComponent.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractAttachmentRetrieverComponent.java new file mode 100644 index 000000000..5ca9a9a14 --- /dev/null +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractAttachmentRetrieverComponent.java @@ -0,0 +1,17 @@ +package org.briarproject.briar.android.attachment; + +import org.briarproject.briar.android.attachment.media.MediaModule; + +import javax.inject.Singleton; + +import dagger.Component; + +@Singleton +@Component(modules = { + MediaModule.class +}) +interface AbstractAttachmentRetrieverComponent { + + void inject(AttachmentRetrieverIntegrationTest test); + +} diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AttachmentRetrieverIntegrationTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AttachmentRetrieverIntegrationTest.java index ad296476f..d4041effe 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AttachmentRetrieverIntegrationTest.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AttachmentRetrieverIntegrationTest.java @@ -2,14 +2,18 @@ package org.briarproject.briar.android.attachment; import org.briarproject.bramble.api.UniqueId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.android.attachment.media.ImageHelper; +import org.briarproject.briar.android.attachment.media.ImageSizeCalculator; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.junit.Test; import org.junit.runner.RunWith; import java.io.InputStream; import java.util.Random; +import javax.inject.Inject; + import androidx.test.ext.junit.runners.AndroidJUnit4; import static androidx.test.InstrumentationRegistry.getContext; @@ -26,10 +30,21 @@ public class AttachmentRetrieverIntegrationTest { ); private final MessageId msgId = new MessageId(getRandomId()); - private final ImageHelper imageHelper = new ImageHelperImpl(); - private final AttachmentRetriever retriever = - new AttachmentRetrieverImpl(null, null, dimensions, imageHelper, - new ImageSizeCalculator(imageHelper)); + @Inject + ImageHelper imageHelper; + @Inject + ImageSizeCalculator imageSizeCalculator; + + private final AttachmentRetriever retriever; + + public AttachmentRetrieverIntegrationTest() { + AbstractAttachmentRetrieverComponent component = + DaggerAbstractAttachmentRetrieverComponent.builder().build(); + component.inject(this); + + retriever = new AttachmentRetrieverImpl(null, null, dimensions, + imageHelper, imageSizeCalculator); + } @Test public void testSmallJpegImage() throws Exception { diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorComponent.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorComponent.java similarity index 71% rename from briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorComponent.java rename to briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorComponent.java index aecaf71fa..b250f1564 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorComponent.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorComponent.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import javax.inject.Singleton; @@ -6,7 +6,7 @@ import dagger.Component; @Singleton @Component(modules = { - AttachmentModule.class + MediaModule.class }) interface AbstractImageCompressorComponent { diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorTest.java similarity index 94% rename from briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorTest.java rename to briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorTest.java index ca1ed70e8..de5bd9017 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/AbstractImageCompressorTest.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageCompressorTest.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import android.content.res.AssetManager; diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorComponent.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorComponent.java new file mode 100644 index 000000000..f601725ce --- /dev/null +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorComponent.java @@ -0,0 +1,15 @@ +package org.briarproject.briar.android.attachment.media; + +import javax.inject.Singleton; + +import dagger.Component; + +@Singleton +@Component(modules = { + MediaModule.class +}) +interface AbstractImageSizeCalculatorComponent { + + void inject(AbstractImageSizeCalculatorTest test); + +} diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorTest.java new file mode 100644 index 000000000..620bfb78d --- /dev/null +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/AbstractImageSizeCalculatorTest.java @@ -0,0 +1,51 @@ +package org.briarproject.briar.android.attachment.media; + +import android.content.res.AssetManager; + +import java.io.IOException; +import java.io.InputStream; + +import javax.inject.Inject; + +import static androidx.test.InstrumentationRegistry.getContext; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public abstract class AbstractImageSizeCalculatorTest { + + @Inject + ImageSizeCalculator imageSizeCalculator; + + public AbstractImageSizeCalculatorTest() { + AbstractImageSizeCalculatorComponent component = + DaggerAbstractImageSizeCalculatorComponent.builder().build(); + component.inject(this); + } + + protected abstract void inject( + AbstractImageSizeCalculatorComponent component); + + void testCanCalculateSize(String filename, String contentType, int width, + int height) throws IOException { + InputStream is = getAssetManager().open(filename); + Size size = imageSizeCalculator.getSize(is, contentType); + assertFalse(size.hasError()); + assertEquals(width, size.getWidth()); + assertEquals(height, size.getHeight()); + } + + void testCannotCalculateSize(String filename, String contentType) + throws IOException { + InputStream is = getAssetManager().open(filename); + Size size = imageSizeCalculator.getSize(is, contentType); + assertTrue(size.hasError()); + } + + static AssetManager getAssetManager() { + // pm.getResourcesForApplication(packageName).getAssets() did not work + //noinspection deprecation + return getContext().getAssets(); + } + +} diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/ImageCompressorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageCompressorTest.java similarity index 96% rename from briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/ImageCompressorTest.java rename to briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageCompressorTest.java index b3cf1f1e9..8504fab6a 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/ImageCompressorTest.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageCompressorTest.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorTest.java new file mode 100644 index 000000000..b08942376 --- /dev/null +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorTest.java @@ -0,0 +1,80 @@ +package org.briarproject.briar.android.attachment.media; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import static android.os.Build.VERSION.SDK_INT; +import static org.junit.Assume.assumeTrue; + +@RunWith(AndroidJUnit4.class) +public class ImageSizeCalculatorTest + extends AbstractImageSizeCalculatorTest { + + @Override + protected void inject(AbstractImageSizeCalculatorComponent component) { + component.inject(this); + } + + @Test + public void testCalculateSizeKittenSmall() throws Exception { + testCanCalculateSize("kitten_small.jpg", "image/jpeg", 160, 240); + } + + @Test + public void testCalculateSizeKittenSmallNoExif() throws Exception { + testCanCalculateSize("kitten_small_noexif.jpg", "image/jpeg", 160, 240); + } + + @Test + public void testCalculateSizeSmallPng() throws Exception { + testCanCalculateSize("red-100x100.png", "image/png", 100, 100); + } + + @Test + public void testCalculateSizeMediumPng() throws Exception { + testCanCalculateSize("blue-500x500.png", "image/png", 500, 500); + } + + @Test + public void testCalculateSizeLargePng() throws Exception { + testCanCalculateSize("green-1000x2000.png", "image/png", 1000, 2000); + } + + @Test + public void testCalculateSizeTransparentPng() throws Exception { + testCanCalculateSize("transparent-100x100.png", "image/png", 100, 100); + } + + @Test + public void testCalculateSizeVeryHighJpg() throws Exception { + testCanCalculateSize("error_high.jpg", "image/jpeg", 1, 10000); + } + + @Test + public void testCalculateSizeVeryWideJpg() throws Exception { + testCanCalculateSize("error_wide.jpg", "image/jpeg", 1920, 1); + } + + @Test + public void testCalculateSizeAnimatedGif1() throws Exception { + // TODO: Remove this assumption when we support large messages + assumeTrue(SDK_INT >= 24); + testCanCalculateSize("animated.gif", "image/gif", 65535, 65535); + } + + @Test + public void testCalculateSizeAnimatedGif2() throws Exception { + // TODO: Remove this assumption when we support large messages + assumeTrue(SDK_INT >= 24); + testCanCalculateSize("animated2.gif", "image/gif", 10000, 10000); + } + + @Test + public void testCalculateSizeVeryLargeGif() throws Exception { + // TODO: Remove this assumption when we support large messages + assumeTrue(SDK_INT >= 24); + testCanCalculateSize("error_large.gif", "image/gif", 16384, 16384); + } +} diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/PngSuiteImageCompressorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageCompressorTest.java similarity index 96% rename from briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/PngSuiteImageCompressorTest.java rename to briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageCompressorTest.java index 7891fb6b6..b783745ed 100644 --- a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/PngSuiteImageCompressorTest.java +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageCompressorTest.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageSizeCalculatorTest.java b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageSizeCalculatorTest.java new file mode 100644 index 000000000..e31dfa9c6 --- /dev/null +++ b/briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/attachment/media/PngSuiteImageSizeCalculatorTest.java @@ -0,0 +1,80 @@ +package org.briarproject.briar.android.attachment.media; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Logger; + +import static java.util.logging.Logger.getLogger; +import static org.briarproject.bramble.api.nullsafety.NullSafety.requireNonNull; +import static org.briarproject.bramble.test.TestUtils.isOptionalTestEnabled; +import static org.junit.Assume.assumeTrue; + +@RunWith(Parameterized.class) +public class PngSuiteImageSizeCalculatorTest + extends AbstractImageSizeCalculatorTest { + + private static final Logger LOG = + getLogger(PngSuiteImageSizeCalculatorTest.class.getName()); + + @Override + protected void inject(AbstractImageSizeCalculatorComponent component) { + component.inject(this); + } + + @Parameters + public static Iterable data() throws IOException { + List data = new ArrayList<>(); + String[] files = requireNonNull(getAssetManager().list("PngSuite")); + for (String filename : files) + if (filename.endsWith(".png")) data.add(filename); + return data; + } + + private final String filename; + + public PngSuiteImageSizeCalculatorTest(String filename) { + this.filename = filename; + } + + // some files have sizes other than 32x32 + private Map customSizes = new HashMap<>(); + + { + customSizes.put("cdfn2c08.png", new Size(8, 32, "image/png")); + customSizes.put("cdhn2c08.png", new Size(32, 8, "image/png")); + customSizes.put("cdsn2c08.png", new Size(8, 8, "image/png")); + customSizes.put("PngSuite.png", new Size(256, 256, "image/png")); + } + + @Test + public void testPngSuiteCalculateSizes() throws Exception { + assumeTrue(isOptionalTestEnabled( + PngSuiteImageSizeCalculatorTest.class)); + LOG.info("Testing " + filename); + if (filename.startsWith("x") && !filename.equals("xcsn0g01.png")) { + testCannotCalculateSize("PngSuite/" + filename, "image/png"); + } else if (filename.startsWith("s")) { + int size = Integer.parseInt(filename.substring(1, 3)); + testCanCalculateSize("PngSuite/" + filename, "image/png", size, + size); + } else { + int width = 32; + int height = 32; + if (customSizes.containsKey(filename)) { + Size size = customSizes.get(filename); + width = size.getWidth(); + height = size.getHeight(); + } + testCanCalculateSize("PngSuite/" + filename, "image/png", width, + height); + } + } +} diff --git a/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/BriarUiTestComponent.java b/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/BriarUiTestComponent.java index 618e025d9..9670dd8bc 100644 --- a/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/BriarUiTestComponent.java +++ b/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/BriarUiTestComponent.java @@ -5,6 +5,7 @@ import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.account.BriarAccountModule; import org.briarproject.briar.BriarCoreModule; import org.briarproject.briar.android.attachment.AttachmentModule; +import org.briarproject.briar.android.attachment.media.MediaModule; import org.briarproject.briar.android.conversation.ConversationActivityScreenshotTest; import org.briarproject.briar.android.settings.SettingsActivityScreenshotTest; @@ -16,6 +17,7 @@ import dagger.Component; @Component(modules = { AppModule.class, AttachmentModule.class, + MediaModule.class, BriarCoreModule.class, BrambleAndroidModule.class, BriarAccountModule.class, @@ -26,6 +28,7 @@ public interface BriarUiTestComponent extends AndroidComponent { void inject(SetupDataTest test); void inject(ConversationActivityScreenshotTest test); + void inject(SettingsActivityScreenshotTest test); } diff --git a/briar-android/src/debug/java/org/briarproject/briar/android/test/TestAvatarCreatorImpl.java b/briar-android/src/debug/java/org/briarproject/briar/android/test/TestAvatarCreatorImpl.java index 06f775bed..279773853 100644 --- a/briar-android/src/debug/java/org/briarproject/briar/android/test/TestAvatarCreatorImpl.java +++ b/briar-android/src/debug/java/org/briarproject/briar/android/test/TestAvatarCreatorImpl.java @@ -14,7 +14,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; -import org.briarproject.briar.android.attachment.ImageCompressor; +import org.briarproject.briar.android.attachment.media.ImageCompressor; import org.briarproject.briar.api.test.TestAvatarCreator; import java.io.IOException; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java index 52bc9074b..366ebb318 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java @@ -32,6 +32,7 @@ import org.briarproject.bramble.plugin.tor.CircumventionProvider; import org.briarproject.briar.BriarCoreEagerSingletons; import org.briarproject.briar.BriarCoreModule; import org.briarproject.briar.android.attachment.AttachmentModule; +import org.briarproject.briar.android.attachment.media.MediaModule; import org.briarproject.briar.android.conversation.glide.BriarModelLoader; import org.briarproject.briar.android.login.SignInReminderReceiver; import org.briarproject.briar.android.view.EmojiTextInputView; @@ -39,6 +40,7 @@ import org.briarproject.briar.api.android.AndroidNotificationManager; import org.briarproject.briar.api.android.DozeWatchdog; import org.briarproject.briar.api.android.LockManager; import org.briarproject.briar.api.android.ScreenFilterMonitor; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogPostFactory; import org.briarproject.briar.api.blog.BlogSharingManager; @@ -49,7 +51,6 @@ import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumSharingManager; import org.briarproject.briar.api.identity.AuthorManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.media.AttachmentReader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.api.privategroup.GroupMessageFactory; @@ -73,7 +74,8 @@ import dagger.Component; BrambleAndroidModule.class, BriarAccountModule.class, AppModule.class, - AttachmentModule.class + AttachmentModule.class, + MediaModule.class }) public interface AndroidComponent extends BrambleCoreEagerSingletons, BrambleAndroidEagerSingletons, diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreationTask.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreationTask.java index 0810abbdb..f9dd759b4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreationTask.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreationTask.java @@ -7,7 +7,8 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.android.attachment.media.ImageCompressor; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.messaging.MessagingManager; import java.io.IOException; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreator.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreator.java index 588c80f30..1d8395081 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreator.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreator.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.Collection; import java.util.List; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreatorImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreatorImpl.java index 85782bd71..348300a09 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreatorImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentCreatorImpl.java @@ -10,9 +10,10 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.R; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.FileTooBigException; +import org.briarproject.briar.android.attachment.media.ImageCompressor; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.FileTooBigException; import org.briarproject.briar.api.messaging.MessagingManager; import java.io.IOException; @@ -35,7 +36,7 @@ import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.attachment.AttachmentItem.State.ERROR; import static org.briarproject.briar.android.util.UiUtils.observeForeverOnce; -import static org.briarproject.briar.api.media.MediaConstants.MAX_IMAGE_SIZE; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_IMAGE_SIZE; @NotNullByDefault class AttachmentCreatorImpl implements AttachmentCreator { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentItem.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentItem.java index f24f507f4..cbc94c305 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentItem.java @@ -5,7 +5,7 @@ import android.os.Parcelable; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import javax.annotation.concurrent.Immutable; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentManager.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentManager.java index 3c824a161..07f48d44a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentManager.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentManager.java @@ -3,7 +3,7 @@ package org.briarproject.briar.android.attachment; import android.net.Uri; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.Collection; import java.util.List; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentModule.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentModule.java index 0f121d95a..4b3a4de51 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentModule.java @@ -12,22 +12,6 @@ import static org.briarproject.briar.android.attachment.AttachmentDimensions.get @Module public class AttachmentModule { - @Provides - ImageHelper provideImageHelper(ImageHelperImpl imageHelper) { - return imageHelper; - } - - @Provides - ImageSizeCalculator provideImageSizeCalculator(ImageHelper imageHelper) { - return new ImageSizeCalculator(imageHelper); - } - - @Provides - ImageCompressor provideImageCompressor( - ImageCompressorImpl imageCompressor) { - return imageCompressor; - } - @Provides AttachmentDimensions provideAttachmentDimensions(Application app) { return getAttachmentDimensions(app.getResources()); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetriever.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetriever.java index 68b8a5b37..3df13d61e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetriever.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetriever.java @@ -4,8 +4,8 @@ import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.messaging.event.AttachmentReceivedEvent; @@ -49,10 +49,10 @@ public interface AttachmentRetriever { * Loads an {@link AttachmentItem} * that arrived via an {@link AttachmentReceivedEvent} * and notifies the associated {@link LiveData}. - * + *

* Note that you need to call {@link #getAttachmentItems(PrivateMessageHeader)} * first to get the LiveData. - * + *

* It is possible that no LiveData is available, * because the message of the AttachmentItem did not arrive, yet. * In this case, the load wil be deferred until the message arrives. diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetrieverImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetrieverImpl.java index 7141abf6b..9f8c3cc15 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetrieverImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/AttachmentRetrieverImpl.java @@ -6,9 +6,12 @@ import org.briarproject.bramble.api.db.NoSuchMessageException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.android.attachment.AttachmentItem.State; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.android.attachment.media.ImageHelper; +import org.briarproject.briar.android.attachment.media.ImageSizeCalculator; +import org.briarproject.briar.android.attachment.media.Size; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import java.io.BufferedInputStream; @@ -207,26 +210,30 @@ class AttachmentRetrieverImpl implements AttachmentRetriever { private AttachmentItem createAttachmentItem(AttachmentHeader h, Size size) { // calculate thumbnail size - Size thumbnailSize = new Size(defaultSize, defaultSize, size.mimeType); - if (!size.error) { + Size thumbnailSize = + new Size(defaultSize, defaultSize, size.getMimeType()); + if (!size.hasError()) { thumbnailSize = - getThumbnailSize(size.width, size.height, size.mimeType); + getThumbnailSize(size.getWidth(), size.getHeight(), + size.getMimeType()); } // get file extension - String extension = imageHelper.getExtensionFromMimeType(size.mimeType); - boolean hasError = extension == null || size.error; - if (!h.getContentType().equals(size.mimeType)) { + String extension = + imageHelper.getExtensionFromMimeType(size.getMimeType()); + boolean hasError = extension == null || size.hasError(); + if (!h.getContentType().equals(size.getMimeType())) { if (LOG.isLoggable(WARNING)) { LOG.warning("Header has different mime type (" + - h.getContentType() + ") than image (" + size.mimeType + - ")."); + h.getContentType() + ") than image (" + + size.getMimeType() + ")."); } hasError = true; } if (extension == null) extension = ""; State state = hasError ? ERROR : AVAILABLE; - return new AttachmentItem(h, size.width, size.height, - extension, thumbnailSize.width, thumbnailSize.height, state); + return new AttachmentItem(h, size.getWidth(), size.getHeight(), + extension, thumbnailSize.getWidth(), thumbnailSize.getHeight(), + state); } private Size getThumbnailSize(int width, int height, String mimeType) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/Size.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/Size.java deleted file mode 100644 index 22871e1a5..000000000 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/Size.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.briarproject.briar.android.attachment; - -class Size { - - final int width; - final int height; - final String mimeType; - final boolean error; - - Size(int width, int height, String mimeType) { - this.width = width; - this.height = height; - this.mimeType = mimeType; - this.error = false; - } - - Size() { - this.width = 0; - this.height = 0; - this.mimeType = ""; - this.error = true; - } -} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressor.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressor.java similarity index 95% rename from briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressor.java rename to briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressor.java index 505d9bd50..2c2d150c7 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressor.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressor.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import android.graphics.Bitmap; import android.net.Uri; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressorImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressorImpl.java similarity index 88% rename from briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressorImpl.java rename to briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressorImpl.java index 3c5249ac5..e990fbb93 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageCompressorImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageCompressorImpl.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -18,7 +18,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.IoUtils.tryToClose; -import static org.briarproject.briar.api.media.MediaConstants.MAX_IMAGE_SIZE; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_IMAGE_SIZE; class ImageCompressorImpl implements ImageCompressor { @@ -68,10 +68,11 @@ class ImageCompressorImpl implements ImageCompressor { throws IOException { is = new BufferedInputStream(is); Size size = imageSizeCalculator.getSize(is, contentType); - if (size.error) throw new IOException(); + if (size.hasError()) throw new IOException(); if (LOG.isLoggable(INFO)) - LOG.info("Original image size: " + size.width + "x" + size.height); - int dimension = Math.max(size.width, size.height); + LOG.info("Original image size: " + size.getWidth() + "x" + + size.getHeight()); + int dimension = Math.max(size.getWidth(), size.getHeight()); int inSampleSize = 1; while (dimension > maxSize) { inSampleSize *= 2; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelper.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelper.java similarity index 90% rename from briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelper.java rename to briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelper.java index eb16cbe01..b8ef6d4b0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelper.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelper.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelperImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelperImpl.java similarity index 94% rename from briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelperImpl.java rename to briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelperImpl.java index f7f2435eb..97a596674 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageHelperImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageHelperImpl.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import android.graphics.BitmapFactory; import android.webkit.MimeTypeMap; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculator.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculator.java new file mode 100644 index 000000000..52d34791d --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculator.java @@ -0,0 +1,18 @@ +package org.briarproject.briar.android.attachment.media; + +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; + +import java.io.InputStream; + +@NotNullByDefault +public interface ImageSizeCalculator { + + /** + * Determine the size of the image that can be read from {@code is}. + * + * @param contentType the mime type of the image. If "image/jpeg" is passed, + * the implementation will try to determine the size from the Exif header + */ + Size getSize(InputStream is, String contentType); + +} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageSizeCalculator.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorImpl.java similarity index 87% rename from briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageSizeCalculator.java rename to briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorImpl.java index daccea2f5..d0e6d6dae 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/attachment/ImageSizeCalculator.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/ImageSizeCalculatorImpl.java @@ -1,9 +1,9 @@ -package org.briarproject.briar.android.attachment; +package org.briarproject.briar.android.attachment.media; import com.bumptech.glide.util.MarkEnforcingInputStream; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.android.attachment.ImageHelper.DecodeResult; +import org.briarproject.briar.android.attachment.media.ImageHelper.DecodeResult; import java.io.IOException; import java.io.InputStream; @@ -23,20 +23,21 @@ import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault -class ImageSizeCalculator { +class ImageSizeCalculatorImpl implements ImageSizeCalculator { private static final Logger LOG = - getLogger(ImageSizeCalculator.class.getName()); + getLogger(ImageSizeCalculatorImpl.class.getName()); private static final int READ_LIMIT = 1024 * 8192; private final ImageHelper imageHelper; - ImageSizeCalculator(ImageHelper imageHelper) { + ImageSizeCalculatorImpl(ImageHelper imageHelper) { this.imageHelper = imageHelper; } - Size getSize(InputStream is, String contentType) { + @Override + public Size getSize(InputStream is, String contentType) { Size size = new Size(); is = new MarkEnforcingInputStream(is); is.mark(READ_LIMIT); @@ -49,7 +50,7 @@ class ImageSizeCalculator { logException(LOG, WARNING, e); } } - if (size.error) { + if (size.hasError()) { // need to mark again to re-add read limit is.mark(READ_LIMIT); try { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/MediaModule.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/MediaModule.java new file mode 100644 index 000000000..b0d3ed5b9 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/MediaModule.java @@ -0,0 +1,24 @@ +package org.briarproject.briar.android.attachment.media; + +import dagger.Module; +import dagger.Provides; + +@Module +public class MediaModule { + + @Provides + ImageHelper provideImageHelper(ImageHelperImpl imageHelper) { + return imageHelper; + } + + @Provides + ImageSizeCalculator provideImageSizeCalculator(ImageHelper imageHelper) { + return new ImageSizeCalculatorImpl(imageHelper); + } + + @Provides + ImageCompressor provideImageCompressor( + ImageCompressorImpl imageCompressor) { + return imageCompressor; + } +} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/Size.java b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/Size.java new file mode 100644 index 000000000..90413c138 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/attachment/media/Size.java @@ -0,0 +1,46 @@ +package org.briarproject.briar.android.attachment.media; + +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; + +import javax.annotation.concurrent.Immutable; + +@Immutable +@NotNullByDefault +public class Size { + + private final int width; + private final int height; + private final String mimeType; + private final boolean error; + + public Size(int width, int height, String mimeType) { + this.width = width; + this.height = height; + this.mimeType = mimeType; + this.error = false; + } + + public Size() { + this.width = 0; + this.height = 0; + this.mimeType = ""; + this.error = true; + } + + public int getWidth() { + return width; + } + + public int getHeight() { + return height; + } + + public String getMimeType() { + return mimeType; + } + + public boolean hasError() { + return error; + } + +} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java index 98cb51794..318bdecab 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java @@ -20,7 +20,7 @@ import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.view.TextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.android.view.TextSendController.SendListener; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.List; @@ -156,16 +156,16 @@ public class ReblogFragment extends BaseFragment implements SendListener { progressBar = v.findViewById(R.id.progressBar); post = new BlogPostViewHolder(v.findViewById(R.id.postLayout), true, new OnBlogPostClickListener() { - @Override - public void onBlogPostClick(BlogPostItem post) { - // do nothing - } + @Override + public void onBlogPostClick(BlogPostItem post) { + // do nothing + } - @Override - public void onAuthorClick(BlogPostItem post) { - // probably don't want to allow author clicks here - } - }, getFragmentManager()); + @Override + public void onAuthorClick(BlogPostItem post) { + // probably don't want to allow author clicks here + } + }, getFragmentManager()); input = v.findViewById(R.id.inputText); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java index eaf047fe9..e8532d6a8 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java @@ -19,10 +19,10 @@ import org.briarproject.briar.android.view.TextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.android.view.TextSendController.SendListener; import org.briarproject.briar.api.android.AndroidNotificationManager; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogPost; import org.briarproject.briar.api.blog.BlogPostFactory; -import org.briarproject.briar.api.media.AttachmentHeader; import java.security.GeneralSecurityException; import java.util.List; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java index 332f01b14..9a46153f1 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java @@ -59,6 +59,7 @@ import org.briarproject.briar.android.view.TextAttachmentController.AttachmentLi import org.briarproject.briar.android.view.TextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.api.android.AndroidNotificationManager; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.blog.BlogSharingManager; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.client.SessionId; @@ -71,7 +72,6 @@ import org.briarproject.briar.api.conversation.DeletionResult; import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.forum.ForumSharingManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.media.AttachmentHeader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationViewModel.java index f5cdb3195..2a7e23dc7 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationViewModel.java @@ -31,10 +31,10 @@ import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.viewmodel.DbViewModel; import org.briarproject.briar.android.viewmodel.LiveEvent; import org.briarproject.briar.android.viewmodel.MutableLiveEvent; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.avatar.event.AvatarUpdatedEvent; import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.briar.api.identity.AuthorManager; -import org.briarproject.briar.api.media.AttachmentHeader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java index cdb4f668c..5caedc0ba 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java @@ -20,8 +20,8 @@ import org.briarproject.briar.android.attachment.AttachmentItem; import org.briarproject.briar.android.viewmodel.DbViewModel; import org.briarproject.briar.android.viewmodel.LiveEvent; import org.briarproject.briar.android.viewmodel.MutableLiveEvent; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.briarproject.briar.api.messaging.event.AttachmentReceivedEvent; import java.io.File; 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 42e757140..44bb41aa0 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 @@ -7,9 +7,9 @@ import com.bumptech.glide.load.data.DataFetcher; import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; import java.io.InputStream; import java.util.concurrent.Executor; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcherFactory.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcherFactory.java index 8ba3f61c3..63867df74 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcherFactory.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcherFactory.java @@ -2,8 +2,8 @@ package org.briarproject.briar.android.conversation.glide; import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; import java.util.concurrent.Executor; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarGlideModule.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarGlideModule.java index 4533f4f38..b269a0307 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarGlideModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarGlideModule.java @@ -10,7 +10,7 @@ import com.bumptech.glide.module.AppGlideModule; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.android.BriarApplication; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.io.InputStream; 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 57134839b..952a3bf6f 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 @@ -8,7 +8,7 @@ import com.bumptech.glide.signature.ObjectKey; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.android.BriarApplication; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.io.InputStream; @@ -27,8 +27,8 @@ public final class BriarModelLoader } @Override - public LoadData buildLoadData(AttachmentHeader model, int width, - int height, Options options) { + public LoadData buildLoadData(AttachmentHeader model, + int width, int height, Options options) { ObjectKey key = new ObjectKey(model.getMessageId()); BriarDataFetcher dataFetcher = dataFetcherFactory.createBriarDataFetcher(model); 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 820f8da21..adb6b95e8 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 @@ -6,7 +6,7 @@ import com.bumptech.glide.load.model.MultiModelLoaderFactory; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.android.BriarApplication; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.io.InputStream; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java index 185bc52f1..28ed4bc8b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java @@ -23,10 +23,10 @@ import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.view.TextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.android.view.TextSendController.SendListener; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.briar.api.identity.AuthorManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.media.AttachmentHeader; import java.util.List; import java.util.logging.Logger; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java index dba7f5013..14b022f36 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java @@ -11,8 +11,8 @@ import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.util.LogUtils; -import org.briarproject.briar.android.attachment.ImageCompressor; import org.briarproject.briar.android.attachment.UnsupportedMimeTypeException; +import org.briarproject.briar.android.attachment.media.ImageCompressor; import org.briarproject.briar.android.viewmodel.LiveEvent; import org.briarproject.briar.android.viewmodel.MutableLiveEvent; import org.briarproject.briar.api.avatar.AvatarManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/BaseMessageFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/BaseMessageFragment.java index f6592f778..ed1750c27 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/BaseMessageFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/BaseMessageFragment.java @@ -15,7 +15,7 @@ import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.view.LargeTextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.android.view.TextSendController.SendListener; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.List; @@ -62,6 +62,7 @@ public abstract class BaseMessageFragment extends BaseFragment @StringRes protected abstract int getButtonText(); + @StringRes protected abstract int getHintText(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java index 487d39a48..828be5091 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java @@ -27,8 +27,8 @@ import org.briarproject.briar.android.view.TextInputView; import org.briarproject.briar.android.view.TextSendController; import org.briarproject.briar.android.view.TextSendController.SendListener; import org.briarproject.briar.android.view.UnreadMessageButton; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.client.NamedGroup; -import org.briarproject.briar.api.media.AttachmentHeader; import java.util.Collection; import java.util.List; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/TextSendController.java b/briar-android/src/main/java/org/briarproject/briar/android/view/TextSendController.java index 573c342ec..e070a3dd4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/TextSendController.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/TextSendController.java @@ -8,7 +8,7 @@ import com.google.android.material.snackbar.Snackbar; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.view.EmojiTextInputView.TextInputListener; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.List; diff --git a/briar-android/src/test/java/org/briarproject/briar/android/attachment/AttachmentRetrieverTest.java b/briar-android/src/test/java/org/briarproject/briar/android/attachment/AttachmentRetrieverTest.java index 950661b62..c27648b3c 100644 --- a/briar-android/src/test/java/org/briarproject/briar/android/attachment/AttachmentRetrieverTest.java +++ b/briar-android/src/test/java/org/briarproject/briar/android/attachment/AttachmentRetrieverTest.java @@ -3,9 +3,12 @@ package org.briarproject.briar.android.attachment; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.ImmediateExecutor; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.android.attachment.media.ImageHelper; +import org.briarproject.briar.android.attachment.media.ImageSizeCalculator; +import org.briarproject.briar.android.attachment.media.Size; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.jmock.Expectations; import org.jmock.lib.legacy.ClassImposteriser; import org.junit.Test; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/Attachment.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/Attachment.java similarity index 91% rename from briar-api/src/main/java/org/briarproject/briar/api/media/Attachment.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/Attachment.java index 9fb533c77..a6abd37b4 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/Attachment.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/Attachment.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentHeader.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentHeader.java similarity index 94% rename from briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentHeader.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentHeader.java index 1cd99895a..a96e9b36c 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentHeader.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentHeader.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentReader.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentReader.java similarity index 89% rename from briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentReader.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentReader.java index a62c9da76..1d7a7ed4f 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/AttachmentReader.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/AttachmentReader.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import org.briarproject.bramble.api.db.DbException; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/FileTooBigException.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/FileTooBigException.java similarity index 64% rename from briar-api/src/main/java/org/briarproject/briar/api/media/FileTooBigException.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/FileTooBigException.java index b41c1d8b8..b905acc00 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/FileTooBigException.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/FileTooBigException.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import java.io.IOException; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/InvalidAttachmentException.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/InvalidAttachmentException.java similarity index 92% rename from briar-api/src/main/java/org/briarproject/briar/api/media/InvalidAttachmentException.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/InvalidAttachmentException.java index a1ec4a407..ac8daac7e 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/InvalidAttachmentException.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/InvalidAttachmentException.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/media/MediaConstants.java b/briar-api/src/main/java/org/briarproject/briar/api/attachment/MediaConstants.java similarity index 92% rename from briar-api/src/main/java/org/briarproject/briar/api/media/MediaConstants.java rename to briar-api/src/main/java/org/briarproject/briar/api/attachment/MediaConstants.java index 763f0fab7..7c13575c3 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/media/MediaConstants.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/attachment/MediaConstants.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.media; +package org.briarproject.briar.api.attachment; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/avatar/AvatarManager.java b/briar-api/src/main/java/org/briarproject/briar/api/avatar/AvatarManager.java index c7fdf1e95..631ceb27d 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/avatar/AvatarManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/avatar/AvatarManager.java @@ -5,7 +5,7 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.Transaction; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.ClientId; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.io.IOException; import java.io.InputStream; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/avatar/event/AvatarUpdatedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/avatar/event/AvatarUpdatedEvent.java index 105e487e8..382b1572a 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/avatar/event/AvatarUpdatedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/avatar/event/AvatarUpdatedEvent.java @@ -3,7 +3,7 @@ package org.briarproject.briar.api.avatar.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.event.Event; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import javax.annotation.concurrent.Immutable; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorInfo.java b/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorInfo.java index 2094d5e04..7369dcab1 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorInfo.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorInfo.java @@ -1,7 +1,7 @@ package org.briarproject.briar.api.identity; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java index fd3b7f77b..dfe18806a 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java @@ -7,9 +7,9 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.FileTooBigException; import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.FileTooBigException; import java.io.IOException; import java.io.InputStream; @@ -72,7 +72,7 @@ public interface MessagingManager extends ConversationClient { /** * Returns true if the contact with the given {@link ContactId} does support * image attachments. - * + *

* Added: 2019-01-01 */ boolean contactSupportsImages(Transaction txn, ContactId c) diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessage.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessage.java index 586180a93..188364444 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessage.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessage.java @@ -2,7 +2,7 @@ package org.briarproject.briar.api.messaging; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.Message; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.List; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageFactory.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageFactory.java index 7adb75fbe..da4532015 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageFactory.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageFactory.java @@ -3,7 +3,7 @@ package org.briarproject.briar.api.messaging; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import java.util.List; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java index a4673c535..9e17af615 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java @@ -3,9 +3,9 @@ package org.briarproject.briar.api.messaging; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationMessageVisitor; -import org.briarproject.briar.api.media.AttachmentHeader; import java.util.List; diff --git a/briar-api/src/test/java/org/briarproject/briar/api/identity/AuthorInfoTest.java b/briar-api/src/test/java/org/briarproject/briar/api/identity/AuthorInfoTest.java index bb2503c07..9189f21a7 100644 --- a/briar-api/src/test/java/org/briarproject/briar/api/identity/AuthorInfoTest.java +++ b/briar-api/src/test/java/org/briarproject/briar/api/identity/AuthorInfoTest.java @@ -2,14 +2,14 @@ package org.briarproject.briar.api.identity; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.junit.Test; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.identity.AuthorInfo.Status.NONE; import static org.briarproject.briar.api.identity.AuthorInfo.Status.VERIFIED; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; diff --git a/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java b/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java index 805499490..222e41a96 100644 --- a/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java @@ -1,5 +1,6 @@ package org.briarproject.briar; +import org.briarproject.briar.attachment.AttachmentModule; import org.briarproject.briar.avatar.AvatarModule; import org.briarproject.briar.blog.BlogModule; import org.briarproject.briar.client.BriarClientModule; @@ -8,7 +9,6 @@ import org.briarproject.briar.feed.FeedModule; import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.identity.IdentityModule; import org.briarproject.briar.introduction.IntroductionModule; -import org.briarproject.briar.media.MediaModule; import org.briarproject.briar.messaging.MessagingModule; import org.briarproject.briar.privategroup.PrivateGroupModule; import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; @@ -27,7 +27,7 @@ import dagger.Module; GroupInvitationModule.class, IdentityModule.class, IntroductionModule.class, - MediaModule.class, + AttachmentModule.class, MessagingModule.class, PrivateGroupModule.class, SharingModule.class, diff --git a/briar-core/src/main/java/org/briarproject/briar/media/MediaModule.java b/briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentModule.java similarity index 62% rename from briar-core/src/main/java/org/briarproject/briar/media/MediaModule.java rename to briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentModule.java index ca3335fe8..e14747a74 100644 --- a/briar-core/src/main/java/org/briarproject/briar/media/MediaModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentModule.java @@ -1,6 +1,6 @@ -package org.briarproject.briar.media; +package org.briarproject.briar.attachment; -import org.briarproject.briar.api.media.AttachmentReader; +import org.briarproject.briar.api.attachment.AttachmentReader; import javax.inject.Singleton; @@ -8,7 +8,7 @@ import dagger.Module; import dagger.Provides; @Module -public class MediaModule { +public class AttachmentModule { @Provides @Singleton diff --git a/briar-core/src/main/java/org/briarproject/briar/media/AttachmentReaderImpl.java b/briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentReaderImpl.java similarity index 73% rename from briar-core/src/main/java/org/briarproject/briar/media/AttachmentReaderImpl.java rename to briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentReaderImpl.java index 6ab12e723..91afc17bf 100644 --- a/briar-core/src/main/java/org/briarproject/briar/media/AttachmentReaderImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/attachment/AttachmentReaderImpl.java @@ -1,22 +1,22 @@ -package org.briarproject.briar.media; +package org.briarproject.briar.attachment; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.data.BdfDictionary; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; -import org.briarproject.briar.api.media.InvalidAttachmentException; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; +import org.briarproject.briar.api.attachment.InvalidAttachmentException; import java.io.ByteArrayInputStream; import java.io.InputStream; import javax.inject.Inject; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; public class AttachmentReaderImpl implements AttachmentReader { diff --git a/briar-core/src/main/java/org/briarproject/briar/media/CountingInputStream.java b/briar-core/src/main/java/org/briarproject/briar/attachment/CountingInputStream.java similarity index 96% rename from briar-core/src/main/java/org/briarproject/briar/media/CountingInputStream.java rename to briar-core/src/main/java/org/briarproject/briar/attachment/CountingInputStream.java index b3339fa13..8c1d8ecf9 100644 --- a/briar-core/src/main/java/org/briarproject/briar/media/CountingInputStream.java +++ b/briar-core/src/main/java/org/briarproject/briar/attachment/CountingInputStream.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.media; +package org.briarproject.briar.attachment; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; diff --git a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarManagerImpl.java index ad0a1342f..1cc31a25b 100644 --- a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarManagerImpl.java @@ -27,10 +27,10 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.sync.validation.IncomingMessageHook; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.avatar.AvatarManager; import org.briarproject.briar.api.avatar.AvatarMessageEncoder; import org.briarproject.briar.api.avatar.event.AvatarUpdatedEvent; -import org.briarproject.briar.api.media.AttachmentHeader; import java.io.IOException; import java.io.InputStream; @@ -40,7 +40,7 @@ import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; import static org.briarproject.briar.avatar.AvatarConstants.GROUP_KEY_CONTACT_ID; import static org.briarproject.briar.avatar.AvatarConstants.MSG_KEY_VERSION; diff --git a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarMessageEncoderImpl.java b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarMessageEncoderImpl.java index e1ff8c3c6..c4308a469 100644 --- a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarMessageEncoderImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarMessageEncoderImpl.java @@ -8,8 +8,8 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.system.Clock; +import org.briarproject.briar.api.attachment.FileTooBigException; import org.briarproject.briar.api.avatar.AvatarMessageEncoder; -import org.briarproject.briar.api.media.FileTooBigException; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -20,8 +20,8 @@ import javax.inject.Inject; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; import static org.briarproject.bramble.util.IoUtils.copyAndClose; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.avatar.AvatarConstants.MSG_KEY_VERSION; import static org.briarproject.briar.avatar.AvatarConstants.MSG_TYPE_UPDATE; diff --git a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarValidator.java b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarValidator.java index 1cd8d1f0c..9f0b6c532 100644 --- a/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarValidator.java +++ b/briar-core/src/main/java/org/briarproject/briar/avatar/AvatarValidator.java @@ -14,7 +14,7 @@ import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageContext; import org.briarproject.bramble.api.sync.validation.MessageValidator; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.briar.media.CountingInputStream; +import org.briarproject.briar.attachment.CountingInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -26,11 +26,11 @@ import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_L import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; import static org.briarproject.bramble.util.ValidationUtils.checkLength; import static org.briarproject.bramble.util.ValidationUtils.checkSize; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.avatar.AvatarConstants.MSG_KEY_VERSION; import static org.briarproject.briar.avatar.AvatarConstants.MSG_TYPE_UPDATE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; @Immutable @NotNullByDefault diff --git a/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java index b0fd4fc59..7b1b64ec0 100644 --- a/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java @@ -8,10 +8,10 @@ import org.briarproject.bramble.api.identity.AuthorId; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.avatar.AvatarManager; import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.briar.api.identity.AuthorManager; -import org.briarproject.briar.api.media.AttachmentHeader; import java.util.Collection; diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java index 28a8c89b7..907864bf2 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java @@ -27,13 +27,13 @@ import org.briarproject.bramble.api.sync.MessageStatus; import org.briarproject.bramble.api.sync.validation.IncomingMessageHook; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.FileTooBigException; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.MessageTracker.GroupCount; import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.DeletionResult; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.FileTooBigException; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageHeader; @@ -57,9 +57,9 @@ import static java.util.Collections.emptyList; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED; import static org.briarproject.bramble.util.IoUtils.copyAndClose; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.client.MessageTrackerConstants.MSG_KEY_READ; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.messaging.MessageTypes.ATTACHMENT; import static org.briarproject.briar.messaging.MessageTypes.PRIVATE_MESSAGE; import static org.briarproject.briar.messaging.MessagingConstants.GROUP_KEY_CONTACT_ID; diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageFactoryImpl.java index 6a4927077..c4b7f54f7 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageFactoryImpl.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.Message; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageValidator.java b/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageValidator.java index 2ccdda35e..af735c73c 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageValidator.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/PrivateMessageValidator.java @@ -16,7 +16,7 @@ import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageContext; import org.briarproject.bramble.api.sync.validation.MessageValidator; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.briar.media.CountingInputStream; +import org.briarproject.briar.attachment.CountingInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -28,12 +28,12 @@ import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_L import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; import static org.briarproject.bramble.util.ValidationUtils.checkLength; import static org.briarproject.bramble.util.ValidationUtils.checkSize; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_ATTACHMENTS_PER_MESSAGE; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH; import static org.briarproject.briar.client.MessageTrackerConstants.MSG_KEY_READ; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.messaging.MessageTypes.ATTACHMENT; import static org.briarproject.briar.messaging.MessageTypes.PRIVATE_MESSAGE; import static org.briarproject.briar.messaging.MessagingConstants.MSG_KEY_ATTACHMENT_HEADERS; diff --git a/briar-core/src/test/java/org/briarproject/briar/media/CountingInputStreamTest.java b/briar-core/src/test/java/org/briarproject/briar/attachment/CountingInputStreamTest.java similarity index 99% rename from briar-core/src/test/java/org/briarproject/briar/media/CountingInputStreamTest.java rename to briar-core/src/test/java/org/briarproject/briar/attachment/CountingInputStreamTest.java index 0d11a8408..4bc3c8488 100644 --- a/briar-core/src/test/java/org/briarproject/briar/media/CountingInputStreamTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/attachment/CountingInputStreamTest.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.media; +package org.briarproject.briar.attachment; import org.briarproject.bramble.test.BrambleTestCase; import org.junit.Test; diff --git a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerImplTest.java index f4b1f43d4..e8c32f13e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerImplTest.java @@ -27,9 +27,9 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.DbExpectations; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.avatar.AvatarMessageEncoder; import org.briarproject.briar.api.avatar.event.AvatarUpdatedEvent; -import org.briarproject.briar.api.media.AttachmentHeader; import org.jmock.Expectations; import org.junit.Test; @@ -51,11 +51,11 @@ import static org.briarproject.bramble.test.TestUtils.getMessage; import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.api.avatar.AvatarManager.CLIENT_ID; import static org.briarproject.briar.api.avatar.AvatarManager.MAJOR_VERSION; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.avatar.AvatarConstants.GROUP_KEY_CONTACT_ID; import static org.briarproject.briar.avatar.AvatarConstants.MSG_KEY_VERSION; import static org.junit.Assert.assertEquals; diff --git a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerIntegrationTest.java index 117100d59..5dc50e45b 100644 --- a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarManagerIntegrationTest.java @@ -1,10 +1,10 @@ package org.briarproject.briar.avatar; import org.briarproject.bramble.test.TestDatabaseConfigModule; +import org.briarproject.briar.api.attachment.Attachment; +import org.briarproject.briar.api.attachment.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.briarproject.briar.api.avatar.AvatarManager; -import org.briarproject.briar.api.media.Attachment; -import org.briarproject.briar.api.media.AttachmentHeader; -import org.briarproject.briar.api.media.AttachmentReader; import org.briarproject.briar.test.BriarIntegrationTest; import org.briarproject.briar.test.BriarIntegrationTestComponent; import org.briarproject.briar.test.DaggerBriarIntegrationTestComponent; @@ -18,7 +18,7 @@ import java.io.InputStream; import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.briarproject.bramble.util.IoUtils.copyAndClose; import static org.briarproject.bramble.util.StringUtils.getRandomString; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarValidatorTest.java b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarValidatorTest.java index e8ef66246..c0c3abe76 100644 --- a/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarValidatorTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/avatar/AvatarValidatorTest.java @@ -23,11 +23,11 @@ import static org.briarproject.bramble.test.TestUtils.getClientId; import static org.briarproject.bramble.test.TestUtils.getGroup; import static org.briarproject.bramble.test.TestUtils.getMessage; import static org.briarproject.bramble.util.StringUtils.getRandomString; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.avatar.AvatarConstants.MSG_KEY_VERSION; import static org.briarproject.briar.avatar.AvatarConstants.MSG_TYPE_UPDATE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.junit.Assert.assertEquals; public class AvatarValidatorTest extends BrambleMockTestCase { diff --git a/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java index a4ea90ec2..b0456f68f 100644 --- a/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java @@ -11,9 +11,9 @@ import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.DbExpectations; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.avatar.AvatarManager; import org.briarproject.briar.api.identity.AuthorInfo; -import org.briarproject.briar.api.media.AttachmentHeader; import org.jmock.Expectations; import org.junit.Test; @@ -26,11 +26,11 @@ import static org.briarproject.bramble.test.TestUtils.getContact; import static org.briarproject.bramble.test.TestUtils.getLocalAuthor; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.identity.AuthorInfo.Status.OURSELVES; import static org.briarproject.briar.api.identity.AuthorInfo.Status.UNKNOWN; import static org.briarproject.briar.api.identity.AuthorInfo.Status.UNVERIFIED; import static org.briarproject.briar.api.identity.AuthorInfo.Status.VERIFIED; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java index fd52e3594..ce4e455e4 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java @@ -2,12 +2,12 @@ package org.briarproject.briar.introduction; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; +import org.briarproject.briar.attachment.AttachmentModule; import org.briarproject.briar.avatar.AvatarModule; import org.briarproject.briar.blog.BlogModule; import org.briarproject.briar.client.BriarClientModule; import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.identity.IdentityModule; -import org.briarproject.briar.media.MediaModule; import org.briarproject.briar.messaging.MessagingModule; import org.briarproject.briar.privategroup.PrivateGroupModule; import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; @@ -29,7 +29,7 @@ import dagger.Component; GroupInvitationModule.class, IdentityModule.class, IntroductionModule.class, - MediaModule.class, + AttachmentModule.class, MessagingModule.class, PrivateGroupModule.class, SharingModule.class diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java index 4a9f98109..011683de6 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java @@ -6,9 +6,9 @@ import org.briarproject.bramble.api.identity.AuthorFactory; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.forum.ForumPost; import org.briarproject.briar.api.forum.ForumPostFactory; -import org.briarproject.briar.api.media.AttachmentHeader; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.test.BriarTestCase; @@ -24,9 +24,9 @@ import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_K import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_POST_TEXT_LENGTH; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_ATTACHMENTS_PER_MESSAGE; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH; import static org.junit.Assert.assertTrue; diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java index 6c214f032..30c0e1d8f 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java @@ -6,9 +6,9 @@ import org.briarproject.bramble.api.db.MessageDeletedException; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.TestDatabaseConfigModule; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.DeletionResult; -import org.briarproject.briar.api.media.AttachmentHeader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/PrivateMessageValidatorTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/PrivateMessageValidatorTest.java index 075518411..74ed605d3 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/PrivateMessageValidatorTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/PrivateMessageValidatorTest.java @@ -27,12 +27,12 @@ import static org.briarproject.bramble.test.TestUtils.getMessage; import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.briar.api.attachment.MediaConstants.MAX_CONTENT_TYPE_BYTES; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_CONTENT_TYPE; +import static org.briarproject.briar.api.attachment.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_ATTACHMENTS_PER_MESSAGE; -import static org.briarproject.briar.api.media.MediaConstants.MAX_CONTENT_TYPE_BYTES; import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH; import static org.briarproject.briar.client.MessageTrackerConstants.MSG_KEY_READ; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_CONTENT_TYPE; -import static org.briarproject.briar.api.media.MediaConstants.MSG_KEY_DESCRIPTOR_LENGTH; import static org.briarproject.briar.messaging.MessageTypes.ATTACHMENT; import static org.briarproject.briar.messaging.MessageTypes.PRIVATE_MESSAGE; import static org.briarproject.briar.messaging.MessagingConstants.MSG_KEY_ATTACHMENT_HEADERS; diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index feff2346d..88f1530a3 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -15,7 +15,7 @@ import org.briarproject.bramble.api.sync.event.MessageStateChangedEvent; import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestTransportConnectionReader; import org.briarproject.bramble.test.TestTransportConnectionWriter; -import org.briarproject.briar.api.media.AttachmentHeader; +import org.briarproject.briar.api.attachment.AttachmentHeader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java index 77cbb6a37..f28cb8ef0 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java @@ -12,6 +12,7 @@ import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.properties.TransportPropertyManager; import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; +import org.briarproject.briar.api.attachment.AttachmentReader; import org.briarproject.briar.api.avatar.AvatarManager; import org.briarproject.briar.api.blog.BlogFactory; import org.briarproject.briar.api.blog.BlogManager; @@ -21,18 +22,17 @@ import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumSharingManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.media.AttachmentReader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.api.privategroup.PrivateGroupManager; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager; +import org.briarproject.briar.attachment.AttachmentModule; import org.briarproject.briar.avatar.AvatarModule; import org.briarproject.briar.blog.BlogModule; import org.briarproject.briar.client.BriarClientModule; import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.identity.IdentityModule; import org.briarproject.briar.introduction.IntroductionModule; -import org.briarproject.briar.media.MediaModule; import org.briarproject.briar.messaging.MessagingModule; import org.briarproject.briar.privategroup.PrivateGroupModule; import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; @@ -53,7 +53,7 @@ import dagger.Component; GroupInvitationModule.class, IdentityModule.class, IntroductionModule.class, - MediaModule.class, + AttachmentModule.class, MessagingModule.class, PrivateGroupModule.class, SharingModule.class