briar merge requestshttps://code.briarproject.org/briar/briar/-/merge_requests2022-05-26T15:42:22Zhttps://code.briarproject.org/briar/briar/-/merge_requests/1128Receive external intents through NavDrawerActivity2022-05-26T15:42:22ZTorsten GroteReceive external intents through NavDrawerActivityThis ensures that our main activity is on the task stack below the
activity opened by an external intent. So when the user navigates back,
they always get back to the main activity.
Closes #1562This ensures that our main activity is on the task stack below the
activity opened by an external intent. So when the user navigates back,
they always get back to the main activity.
Closes #1562Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1010UX for displaying multiple image attachments2022-01-11T13:36:17ZTorsten GroteUX for displaying multiple image attachmentsThis MR shows multiple images in the private conversation where before only one image was shown. It is the bulk of the work to support multiple images. The RecyclerView it uses is recycling views over several distinct messages and can be...This MR shows multiple images in the private conversation where before only one image was shown. It is the bulk of the work to support multiple images. The RecyclerView it uses is recycling views over several distinct messages and can be used to display a preview of images to be attached as well.
For simplicity, multiple images within one message bubble are fixed to two columns. If a message contains an odd number of images, the last images will span both columns and get center cropped.
The corner rounding transformation has been replaced with a new one that allows us to specify a radius for each image's corner individually.
![device-2018-12-06-173309](/uploads/b64bd4229d6976c02600c06dc6d96a1a/device-2018-12-06-173309.png)
Closes #1473Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1094Add a REST endpoint for adding contacts2021-10-05T13:08:59ZTorsten GroteAdd a REST endpoint for adding contactsCloses #1256Closes #1256Headless MVPhttps://code.briarproject.org/briar/briar/-/merge_requests/1145Add blocks table to database2020-11-16T11:06:06ZakwizgranAdd blocks table to databaseThis branch adds a blocks table to the database and migrates message bodies from the messages table to the blocks table. This is the first step in adding multi-block message support to the DB.
The migration and subsequent compaction t...This branch adds a blocks table to the database and migrates message bodies from the messages table to the blocks table. This is the first step in adding multi-block message support to the DB.
The migration and subsequent compaction takes a significant amount of time - about a minute on a slow phone with ~750 messages (the default when creating test data).
The branch also modifies the existing migrations to close their statements. As far as I know the statements would have been closed automatically when the respective connection was closed, so I don't think there was a significant resource leak.
Closes #1595Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1187Fix IllegalStateException when creating image attachments2020-10-30T16:17:21ZTorsten GroteFix IllegalStateException when creating image attachmentsInjecting the non-singleton AttachmentCreator keeps an instance around
that gets re-used with a different ViewModel.
When backing out without sending or cancelling the attachments,
we don't reset the state which leads us into an illegal ...Injecting the non-singleton AttachmentCreator keeps an instance around
that gets re-used with a different ViewModel.
When backing out without sending or cancelling the attachments,
we don't reset the state which leads us into an illegal state.
Closes #1647Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1186Show Attachment Placeholders2020-10-30T15:54:27ZTorsten GroteShow Attachment Placeholdersand display attachments as they load.
Closes #1592and display attachments as they load.
Closes #1592Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1183Fix PNG compression on some phones2020-01-08T16:06:40ZTorsten GroteFix PNG compression on some phonesCloses #1636Closes #1636Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1182Change image preview close button color to accent color2019-11-07T16:23:25ZTorsten GroteChange image preview close button color to accent colorThis was suggested in #1243, because the red color should only be used for something dangerous/destructive. The accent color we use elsewhere for buttons fits better here.
![device-2019-10-22-130809](/uploads/bd2f336d987da742bda139607...This was suggested in #1243, because the red color should only be used for something dangerous/destructive. The accent color we use elsewhere for buttons fits better here.
![device-2019-10-22-130809](/uploads/bd2f336d987da742bda1396070fb97f9/device-2019-10-22-130809.png)
![device-2019-10-22-130656](/uploads/d6db273458606802fbe8d0614cd07d76/device-2019-10-22-130656.png)Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1195Update image attachment UI when new client version is received from contact2019-11-06T17:52:44ZakwizgranUpdate image attachment UI when new client version is received from contactThis fixes a bug where a newly added contact wouldn't appear to support image attachments if the conversation was opened before the contact's client versioning message was received.
Closes #1638This fixes a bug where a newly added contact wouldn't appear to support image attachments if the conversation was opened before the contact's client versioning message was received.
Closes #1638Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1185Remove contacts feature flag2019-11-05T18:23:51ZTorsten GroteRemove contacts feature flagAndroid 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1149WIP: Show Attachment Placeholders2019-11-01T17:15:49ZTorsten GroteWIP: Show Attachment Placeholdersand display attachments as they load.
WIP because based on !1176
Closes #1592and display attachments as they load.
WIP because based on !1176
Closes #1592Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1173UX for handling duplicate handshake links2019-10-16T16:16:09ZTorsten GroteUX for handling duplicate handshake links![device-2019-10-15-133019](/uploads/a90fb2865f10bde3187b8d0bde2a109e/device-2019-10-15-133019.png)
![device-2019-10-15-133046](/uploads/6eaecc07059eb809f18cc968f19a5627/device-2019-10-15-133046.png)
![device-2019-10-15-133236](/uploads...![device-2019-10-15-133019](/uploads/a90fb2865f10bde3187b8d0bde2a109e/device-2019-10-15-133019.png)
![device-2019-10-15-133046](/uploads/6eaecc07059eb809f18cc968f19a5627/device-2019-10-15-133046.png)
![device-2019-10-15-133236](/uploads/43cf3500f10cea07c2e709f506566d91/device-2019-10-15-133236.png)
![device-2019-10-15-133332](/uploads/05ab380a769cacd30293c76a53299698/device-2019-10-15-133332.png)
Closes #1565Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1170Restore custom layout behaviour for handling snackbar2019-10-14T14:26:03ZakwizgranRestore custom layout behaviour for handling snackbarCloses #1582Closes #1582Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1156Use snackbar-aware behaviour for FAB.2019-10-07T13:48:02ZTorsten GroteUse snackbar-aware behaviour for FAB.Closes #1582Closes #1582Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1152Prevent pending contacts snackbar from covering contact list2019-10-01T12:25:24ZTorsten GrotePrevent pending contacts snackbar from covering contact listThis fixes one part (the contact list covering) of #1582.This fixes one part (the contact list covering) of #1582.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/merge_requests/1155Make Remote Contact layouts work on small screens2019-09-27T14:58:44ZTorsten GroteMake Remote Contact layouts work on small screensCloses #1583Closes #1583Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1137Add strings for duplicate pending contacts2019-06-28T15:48:10ZakwizgranAdd strings for duplicate pending contactsThis branch adds UI strings for warning the user when a newly added pending contact has the same handshake key as another pending contact, and for helping the user to specify whether they're retrying the same pending contact (which I exp...This branch adds UI strings for warning the user when a newly added pending contact has the same handshake key as another pending contact, and for helping the user to specify whether they're retrying the same pending contact (which I expect will be common) or whether they've been sent the same link by different people (which could be an attack aimed at discovering who their pending contacts are). I'm imagining the UX working as follows:
* After the user enters the link and nickname and taps "Add Contact", we check for duplicates
* If a duplicate is detected, we show a dialog
* The dialog's title is "Duplicate Link"
* The dialog's text is "You already have a pending contact with this link: X. Are X and Y the same person?"
* The buttons are "Same Person" and "Different Person" (are these too long to use as dialog buttons in other languages?)
* If the user chooses "Same Person", we replace the pending contact and show a toast saying "Pending contact updated"
* If the user chooses "Different Person", we show a second dialog
* The second dialog's title is "Duplicate Link" again
* Maybe the second dialog has a warning icon?
* The second dialog's text is "X and Y sent you the same link. One of them may be trying to discover who your contacts are. Don't tell them you received the same link from someone else."
* The second dialog has one button: "OK"
* When the second dialog is dismissed we discard the new pending contact
Using two dialogs is a little bit clunky, but we're not expecting users to go down the "different person" path in real life so I reckon designing a wizard with a variable number of steps is probably overkill.
Part of #1565.Android 1.2https://code.briarproject.org/briar/briar/-/merge_requests/1150Bump client minor version to avoid triggering crash2019-06-28T13:28:38ZakwizgranBump client minor version to avoid triggering crashThis is a sneaky workaround for #1606. Briar 1.1.7 doesn't consider that a contact supports image attachments unless the client minor version is exactly 1, so it won't take the code path that triggers the bug. Current master considers th...This is a sneaky workaround for #1606. Briar 1.1.7 doesn't consider that a contact supports image attachments unless the client minor version is exactly 1, so it won't take the code path that triggers the bug. Current master considers that a contact supports image attachments if the client minor version is greater than 0, so this branch and current master are still able to exchange images.
We should make a stable release that incorporates the (already merged) fix for #1606, and new alpha releases for 1.2 and 1.3 that incorporate this fix so they don't crash contacts running older stable releases.
Closes #1606Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1148Initialise result LiveData before starting task2019-06-26T14:21:56ZakwizgranInitialise result LiveData before starting taskThis branch fixes a possible race when starting an attachment creation task, which could cause an immediate error to be lost.This branch fixes a possible race when starting an attachment creation task, which could cause an immediate error to be lost.Android 1.3https://code.briarproject.org/briar/briar/-/merge_requests/1147Compress images2019-06-26T14:21:25ZakwizgranCompress imagesThis branch adds temporary code for compressing image attachments to fit within the current 32 KiB message size limit. Once large message support is merged we can remove this code or update it to use more moderate compression, perhaps wi...This branch adds temporary code for compressing image attachments to fit within the current 32 KiB message size limit. Once large message support is merged we can remove this code or update it to use more moderate compression, perhaps with a setting to choose whether to send compressed or uncompressed attachments.
The first commit, which contains most of the changes, is refactoring to extract the code that finds the size of an image from an InputStream, which the second commit uses when creating attachments as well as when loading them. Interfaces were extracted from the AttachmentRetriever and AttachmentCreator classes to allow ConversationViewModel to inject them. We can keep most of these changes even if we remove compression later.Android 1.3