Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
briar
briar
Commits
e65eb761
Verified
Commit
e65eb761
authored
Dec 20, 2018
by
Torsten Grote
Browse files
[android] add tests for getting attachment items from AttachmentController
parent
d80b6210
Pipeline
#2932
passed with stage
in 8 minutes and 54 seconds
Changes
11
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
briar-android/src/androidTestOfficial/assets/animated.gif
0 → 100644
View file @
e65eb761
43 Bytes
briar-android/src/androidTestOfficial/assets/animated2.gif
0 → 100644
View file @
e65eb761
317 Bytes
briar-android/src/androidTestOfficial/assets/error_high.jpg
0 → 100644
View file @
e65eb761
3.02 KB
briar-android/src/androidTestOfficial/assets/error_large.gif
0 → 100644
View file @
e65eb761
43 Bytes
briar-android/src/androidTestOfficial/assets/error_wide.jpg
0 → 100644
View file @
e65eb761
1.05 KB
briar-android/src/androidTestOfficial/assets/error_zero.jpg
0 → 100644
View file @
e65eb761
briar-android/src/androidTestOfficial/java/org/briarproject/briar/android/conversation/AttachmentControllerTest.java
0 → 100644
View file @
e65eb761
package
org.briarproject.briar.android.conversation
;
import
android.content.res.AssetManager
;
import
android.support.test.InstrumentationRegistry
;
import
android.support.test.runner.AndroidJUnit4
;
import
org.briarproject.bramble.api.UniqueId
;
import
org.briarproject.bramble.api.sync.MessageId
;
import
org.briarproject.briar.api.messaging.Attachment
;
import
org.briarproject.briar.api.messaging.AttachmentHeader
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.util.Random
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
@RunWith
(
AndroidJUnit4
.
class
)
public
class
AttachmentControllerTest
{
private
static
final
String
smallKitten
=
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/06/Kitten_in_Rizal_Park%2C_Manila.jpg/160px-Kitten_in_Rizal_Park%2C_Manila.jpg"
;
private
static
final
String
originalKitten
=
"https://upload.wikimedia.org/wikipedia/commons/0/06/Kitten_in_Rizal_Park%2C_Manila.jpg"
;
private
static
final
String
pngKitten
=
"https://upload.wikimedia.org/wikipedia/commons/c/c8/Young_cat.png"
;
private
static
final
String
uberGif
=
"https://raw.githubusercontent.com/fuzzdb-project/fuzzdb/master/attack/file-upload/malicious-images/uber.gif"
;
private
static
final
String
lottaPixel
=
"https://raw.githubusercontent.com/fuzzdb-project/fuzzdb/master/attack/file-upload/malicious-images/lottapixel.jpg"
;
private
static
final
String
imageIoCrash
=
"https://www.landaire.net/img/crasher.png"
;
private
static
final
String
gimpCrash
=
"https://gitlab.gnome.org/GNOME/gimp/uploads/75f5b7ed3b09b3f1c13f1f65bffe784f/31153c919d3aa634e8e6cff82219fe7352dd8a37.png"
;
private
static
final
String
optiPngAfl
=
"https://sourceforge.net/p/optipng/bugs/64/attachment/test.gif"
;
private
static
final
String
librawError
=
"https://www.libraw.org/sites/libraw.org/files/P1010671.JPG"
;
private
final
AttachmentDimensions
dimensions
=
new
AttachmentDimensions
(
100
,
50
,
200
,
75
,
300
);
private
final
MessageId
msgId
=
new
MessageId
(
getRandomId
());
@SuppressWarnings
(
"ConstantConditions"
)
// not needed for now
private
final
AttachmentController
controller
=
new
AttachmentController
(
null
,
dimensions
);
@Test
public
void
testNoSizeWrongMimeTypeProducesError
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"application/octet-stream"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
false
);
assertTrue
(
item
.
hasError
());
}
@Test
public
void
testNoSizeJpeg
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpeg"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
false
);
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testNoSizePng
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/png"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
false
);
assertEquals
(
"image/png"
,
item
.
getMimeType
());
assertEquals
(
"png"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testNoSizeGif
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/gif"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
false
);
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallJpegImage
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpeg"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
msgId
,
item
.
getMessageId
());
assertEquals
(
160
,
item
.
getWidth
());
assertEquals
(
240
,
item
.
getHeight
());
assertEquals
(
160
,
item
.
getThumbnailWidth
());
assertEquals
(
240
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallJpegImageHealsWrongMimeType
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/png"
);
InputStream
is
=
getUrlInputStream
(
smallKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
msgId
,
item
.
getMessageId
());
assertEquals
(
160
,
item
.
getWidth
());
assertEquals
(
240
,
item
.
getHeight
());
assertEquals
(
160
,
item
.
getThumbnailWidth
());
assertEquals
(
240
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testBigJpegImage
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpeg"
);
InputStream
is
=
getUrlInputStream
(
originalKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
msgId
,
item
.
getMessageId
());
assertEquals
(
1728
,
item
.
getWidth
());
assertEquals
(
2592
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallPngImage
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/png"
);
InputStream
is
=
getUrlInputStream
(
pngKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
msgId
,
item
.
getMessageId
());
assertEquals
(
737
,
item
.
getWidth
());
assertEquals
(
510
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
138
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/png"
,
item
.
getMimeType
());
assertEquals
(
"png"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallPngImageHealsWrongMimeType
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
pngKitten
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
msgId
,
item
.
getMessageId
());
assertEquals
(
737
,
item
.
getWidth
());
assertEquals
(
510
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
138
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/png"
,
item
.
getMimeType
());
assertEquals
(
"png"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testUberGif
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
uberGif
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
1
,
item
.
getWidth
());
assertEquals
(
1
,
item
.
getHeight
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testLottaPixels
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
lottaPixel
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
64250
,
item
.
getWidth
());
assertEquals
(
64250
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testImageIoCrash
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
imageIoCrash
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
1184
,
item
.
getWidth
());
assertEquals
(
448
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/png"
,
item
.
getMimeType
());
assertEquals
(
"png"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testGimpCrash
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
gimpCrash
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
1
,
item
.
getWidth
());
assertEquals
(
1
,
item
.
getHeight
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testOptiPngAfl
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
optiPngAfl
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
32
,
item
.
getWidth
());
assertEquals
(
32
,
item
.
getHeight
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testLibrawError
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getUrlInputStream
(
librawError
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertTrue
(
item
.
hasError
());
}
@Test
public
void
testSmallAnimatedGifMaxDimensions
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/gif"
);
InputStream
is
=
getAssetInputStream
(
"animated.gif"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
65535
,
item
.
getWidth
());
assertEquals
(
65535
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallAnimatedGifHugeDimensions
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/gif"
);
InputStream
is
=
getAssetInputStream
(
"animated2.gif"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
10000
,
item
.
getWidth
());
assertEquals
(
10000
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testSmallGifLargeDimensions
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/gif"
);
InputStream
is
=
getAssetInputStream
(
"error_large.gif"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
16384
,
item
.
getWidth
());
assertEquals
(
16384
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/gif"
,
item
.
getMimeType
());
assertEquals
(
"gif"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testHighError
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getAssetInputStream
(
"error_high.jpg"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
1
,
item
.
getWidth
());
assertEquals
(
10000
,
item
.
getHeight
());
assertEquals
(
dimensions
.
minWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
maxHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testWideError
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getAssetInputStream
(
"error_wide.jpg"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertEquals
(
1920
,
item
.
getWidth
());
assertEquals
(
1
,
item
.
getHeight
());
assertEquals
(
dimensions
.
maxWidth
,
item
.
getThumbnailWidth
());
assertEquals
(
dimensions
.
minHeight
,
item
.
getThumbnailHeight
());
assertEquals
(
"image/jpeg"
,
item
.
getMimeType
());
assertEquals
(
"jpg"
,
item
.
getExtension
());
assertFalse
(
item
.
hasError
());
}
@Test
public
void
testZeroSizeError
()
throws
Exception
{
AttachmentHeader
h
=
new
AttachmentHeader
(
msgId
,
"image/jpg"
);
InputStream
is
=
getAssetInputStream
(
"error_zero.jpg"
);
Attachment
a
=
new
Attachment
(
is
);
AttachmentItem
item
=
controller
.
getAttachmentItem
(
h
,
a
,
true
);
assertTrue
(
item
.
hasError
());
}
private
InputStream
getUrlInputStream
(
String
url
)
throws
IOException
{
return
new
URL
(
url
).
openStream
();
}
private
InputStream
getAssetInputStream
(
String
name
)
throws
IOException
{
AssetManager
assets
=
InstrumentationRegistry
.
getContext
().
getAssets
();
return
assets
.
open
(
name
);
}
public
static
byte
[]
getRandomBytes
(
int
length
)
{
byte
[]
b
=
new
byte
[
length
];
new
Random
().
nextBytes
(
b
);
return
b
;
}
public
static
byte
[]
getRandomId
()
{
return
getRandomBytes
(
UniqueId
.
LENGTH
);
}
}
briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentController.java
View file @
e65eb761
package
org.briarproject.briar.android.conversation
;
import
android.content.res.Resources
;
import
android.graphics.BitmapFactory
;
import
android.support.annotation.Nullable
;
import
android.support.media.ExifInterface
;
...
...
@@ -13,7 +12,6 @@ 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.R
;
import
org.briarproject.briar.api.messaging.Attachment
;
import
org.briarproject.briar.api.messaging.AttachmentHeader
;
import
org.briarproject.briar.api.messaging.MessagingManager
;
...
...
@@ -56,18 +54,14 @@ class AttachmentController {
private
final
Map
<
MessageId
,
List
<
AttachmentItem
>>
attachmentCache
=
new
ConcurrentHashMap
<>();
AttachmentController
(
MessagingManager
messagingManager
,
Resources
res
)
{
AttachmentController
(
MessagingManager
messagingManager
,
AttachmentDimensions
dimensions
)
{
this
.
messagingManager
=
messagingManager
;
defaultSize
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_default
);
minWidth
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_min_width
);
maxWidth
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_max_width
);
minHeight
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_min_height
);
maxHeight
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_max_height
);
defaultSize
=
dimensions
.
defaultSize
;
minWidth
=
dimensions
.
minWidth
;
maxWidth
=
dimensions
.
maxWidth
;
minHeight
=
dimensions
.
minHeight
;
maxHeight
=
dimensions
.
maxHeight
;
}
void
put
(
MessageId
messageId
,
List
<
AttachmentItem
>
attachments
)
{
...
...
briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentDimensions.java
0 → 100644
View file @
e65eb761
package
org.briarproject.briar.android.conversation
;
import
android.content.res.Resources
;
import
android.support.annotation.VisibleForTesting
;
import
org.briarproject.briar.R
;
class
AttachmentDimensions
{
final
int
defaultSize
;
final
int
minWidth
,
maxWidth
;
final
int
minHeight
,
maxHeight
;
@VisibleForTesting
AttachmentDimensions
(
int
defaultSize
,
int
minWidth
,
int
maxWidth
,
int
minHeight
,
int
maxHeight
)
{
this
.
defaultSize
=
defaultSize
;
this
.
minWidth
=
minWidth
;
this
.
maxWidth
=
maxWidth
;
this
.
minHeight
=
minHeight
;
this
.
maxHeight
=
maxHeight
;
}
static
AttachmentDimensions
getAttachmentDimensions
(
Resources
res
)
{
int
defaultSize
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_default
);
int
minWidth
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_min_width
);
int
maxWidth
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_max_width
);
int
minHeight
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_min_height
);
int
maxHeight
=
res
.
getDimensionPixelSize
(
R
.
dimen
.
message_bubble_image_max_height
);
return
new
AttachmentDimensions
(
defaultSize
,
minWidth
,
maxWidth
,
minHeight
,
minHeight
);
}
}
briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationViewModel.java
View file @
e65eb761
...
...
@@ -47,6 +47,7 @@ import static org.briarproject.bramble.util.IoUtils.tryToClose;
import
static
org
.
briarproject
.
bramble
.
util
.
LogUtils
.
logDuration
;
import
static
org
.
briarproject
.
bramble
.
util
.
LogUtils
.
logException
;
import
static
org
.
briarproject
.
bramble
.
util
.
LogUtils
.
now
;
import
static
org
.
briarproject
.
briar
.
android
.
conversation
.
AttachmentDimensions
.
getAttachmentDimensions
;
import
static
org
.
briarproject
.
briar
.
android
.
util
.
UiUtils
.
observeForeverOnce
;
@NotNullByDefault
...
...
@@ -92,7 +93,7 @@ public class ConversationViewModel extends AndroidViewModel {
this
.
contactManager
=
contactManager
;
this
.
privateMessageFactory
=
privateMessageFactory
;
this
.
attachmentController
=
new
AttachmentController
(
messagingManager
,
application
.
getResources
());
getAttachmentDimensions
(
application
.
getResources
())
)
;
contactDeleted
.
setValue
(
false
);
}
...
...
briar-headless/witness.gradle
View file @
e65eb761
...
...
@@ -27,6 +27,7 @@ dependencyVerification {
'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f'
,
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff'
,
'javax.servlet:javax.servlet-api:3.1.0:javax.servlet-api-3.1.0.jar:af456b2dd41c4e82cf54f3e743bc678973d9fe35bd4d3071fa05c7e5333b8482'
,
'khttp:khttp:0.1.0:khttp-0.1.0.jar:48ab3bd22e461f2c2e74e3446d8f9568e24aab157f61fdc85ded6c0bfbe9a926'
,
'net.bytebuddy:byte-buddy-agent:1.8.22:byte-buddy-agent-1.8.22.jar:ebc20e83fbb13e7911e4c704c9548a4166d7e83922f80de700ae5c5c983943d5'
,
'net.bytebuddy:byte-buddy:1.8.22:byte-buddy-1.8.22.jar:d330d2ef290a2852bbaf06eab03bc93d24501599c8a836da9d946f82c48e276c'
,
'org.apiguardian:apiguardian-api:1.0.0:apiguardian-api-1.0.0.jar:1f58b77470d8d147a0538d515347dd322f49a83b9e884b8970051160464b65b3'
,
...
...
@@ -63,6 +64,7 @@ dependencyVerification {
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71:kotlin-stdlib-jdk8-1.2.71.jar:ac3c8abf47790b64b4f7e2509a53f0c145e061ac1612a597520535d199946ea9'
,
'org.jetbrains.kotlin:kotlin-stdlib:1.2.71:kotlin-stdlib-1.2.71.jar:4c895c270b87f5fec2a2796e1d89c15407ee821de961527c28588bb46afbc68b'
,
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478'
,
'org.json:json:20150729:json-20150729.jar:38c21b9c3d6d24919cd15d027d20afab0a019ac9205f7ed9083b32bdd42a2353'
,
'org.junit.jupiter:junit-jupiter-api:5.3.1:junit-jupiter-api-5.3.1.jar:7923e21f030a9964d70a0e48007ca873280c66ddf0f0620b2d969852c23d5653'
,
'org.junit.jupiter:junit-jupiter-engine:5.3.1:junit-jupiter-engine-5.3.1.jar:04f4354548a30827e126bdf6fcbe3640789ad8335a6f3f0762bf7f9f74e51fbf'
,
'org.junit.jupiter:junit-jupiter-params:5.3.1:junit-jupiter-params-5.3.1.jar:72fe344712d4cd88dd0cb4bfa304322d512d2cb27173ed64cb5036a573d29f4c'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment