briar issueshttps://code.briarproject.org/groups/briar/-/issues2017-12-18T07:40:36Zhttps://code.briarproject.org/briar/briar/-/issues/755Timestamp of new group message should be higher than that of all messages in ...2017-12-18T07:40:36ZTorsten GroteTimestamp of new group message should be higher than that of all messages in the groupMilestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/754Add visibility information to group member list2017-12-18T07:40:36ZTorsten GroteAdd visibility information to group member listThe member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.The member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/752Break up ActivityModule so controller implementations can be package-private2017-12-18T07:40:36ZakwizgranBreak up ActivityModule so controller implementations can be package-privateController implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #...Controller implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #368.Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/747Remove injected field from BlogManagerImplTest2017-12-18T07:40:37ZakwizgranRemove injected field from BlogManagerImplTestBlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.BlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/742Use unique request IDs across the app2017-12-18T07:40:37ZakwizgranUse unique request IDs across the app@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/741Move events into their respective packages2017-12-18T07:40:37ZakwizgranMove events into their respective packagesAll events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136All events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/684Inject EmojiProvider2018-09-03T12:14:34ZakwizgranInject EmojiProviderInject a singleton EmojiProvider so we can get rid of the static instance. (It needs to be a singleton because it loads the emoji bitmaps and keeps references to them.)Inject a singleton EmojiProvider so we can get rid of the static instance. (It needs to be a singleton because it loads the emoji bitmaps and keeps references to them.)Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/732Implement UX design for revealing contacts to a private group2017-12-18T07:40:38ZTorsten GroteImplement UX design for revealing contacts to a private groupSubticket of #654 and #127.
![654_reveal_neu_v01](/uploads/e88db85207db1a8b807e08f34722a303/654_reveal_neu_v01.jpg)Subticket of #654 and #127.
![654_reveal_neu_v01](/uploads/e88db85207db1a8b807e08f34722a303/654_reveal_neu_v01.jpg)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/727Refactor integration tests2017-12-18T07:40:38ZakwizgranRefactor integration testsSome of the code for delivering messages could be factored out of integration tests into a common superclass or utility class. Some tests create more component instances than they need.Some of the code for delivering messages could be factored out of integration tests into a common superclass or utility class. Some tests create more component instances than they need.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/631Inject fragments earlier in their lifecycle2018-12-19T11:24:56ZakwizgranInject fragments earlier in their lifecycleFragments are injected in `Fragment#onActivityCreated()`, which is called after `Fragment#onCreate()` and `Fragment#onCreateView()`, meaning injected fields can't be used in those methods. It would sometimes be useful to have access to i...Fragments are injected in `Fragment#onActivityCreated()`, which is called after `Fragment#onCreate()` and `Fragment#onCreateView()`, meaning injected fields can't be used in those methods. It would sometimes be useful to have access to injected fields earlier in the fragment's lifecycle.
Injection happens at this point because BaseActivity creates its ActivityComponent in `Activity#onCreate()`. Would it be possible for BaseFragment to create a FragmentComponent in `Fragment#onCreate()` (or even `Fragment#onAttach()`) to avoid this dependency on the activity to perform injection?Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/724Unit tests for ClientHelperImpl2017-12-18T07:40:38ZakwizgranUnit tests for ClientHelperImplMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/723Unit tests for ContactManagerImpl2017-12-18T07:40:38ZakwizgranUnit tests for ContactManagerImplMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/719Reproduce issues with LAYER_TYPE_NONE2017-12-18T07:40:39ZakwizgranReproduce issues with LAYER_TYPE_NONEReproduce the performance and rendering issues that were seen on the Galaxy Ace 2 when using long EmojiTextViews with LAYER_TYPE_NONE.Reproduce the performance and rendering issues that were seen on the Galaxy Ace 2 when using long EmojiTextViews with LAYER_TYPE_NONE.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/712Throw FormatException if BdfList index is out of bounds2017-12-18T07:40:39ZakwizgranThrow FormatException if BdfList index is out of boundsCurrently an ArrayIndexOutOfBoundsException will be thrown, which could be a source of crashes when parsing untrusted data.Currently an ArrayIndexOutOfBoundsException will be thrown, which could be a source of crashes when parsing untrusted data.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/709Implement protocol for private group invitations2017-12-18T07:40:39ZakwizgranImplement protocol for private group invitationsSpec ticket is #659. Subtask of #127.Spec ticket is #659. Subtask of #127.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/708Implement protocol for private group messaging2017-12-18T07:40:39ZakwizgranImplement protocol for private group messagingSpec ticket is #658. Subtask of #127.Spec ticket is #658. Subtask of #127.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1142Use alarms to schedule essential tasks2020-08-14T09:48:13ZakwizgranUse alarms to schedule essential tasksWe use a ScheduledExecutorService to schedule essential tasks such as key rotation and polling for connections. When Tor is disabled or doesn't have internet connectivity, the Tor plugin's wake lock is released and the device may sleep o...We use a ScheduledExecutorService to schedule essential tasks such as key rotation and polling for connections. When Tor is disabled or doesn't have internet connectivity, the Tor plugin's wake lock is released and the device may sleep or doze. To ensure that essential tasks run during sleep or doze, we should schedule them using alarms.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/612Use metadata queries to look up invitation session state2018-06-11T10:24:35ZakwizgranUse metadata queries to look up invitation session stateSubtask of #376.Subtask of #376.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/541Allow retransmission if it will result in faster delivery2018-09-18T17:04:01ZakwizgranAllow retransmission if it will result in faster deliveryEach time a message is sent to a contact, the message's send time is updated based on the maximum latency of the transport, and the message cannot be sent to the contact again until the send time is reached. This prevents messages from b...Each time a message is sent to a contact, the message's send time is updated based on the maximum latency of the transport, and the message cannot be sent to the contact again until the send time is reached. This prevents messages from being retransmitted unnecessarily while they're still in transit. However, if a message is in transit over a high-latency transport, it may be desirable to allow it to be retransmitted over a low-latency transport to allow faster delivery.
Instead of comparing the send time to the current time, it should be compared to the expected delivery time over the current transport. The current time plus the maximum latency of the current transport can be used as a first estimate of the expected delivery time; we can get clever with round-trip time measurements later.Mailbox PrototypeJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/596Setup UI Tests with Espresso2018-08-03T16:39:09ZTorsten GroteSetup UI Tests with EspressoWe currently do not have real UI tests. Espresso is pushed a lot by Google and it makes great progress. You can even already record tests in the UI without needing to write the code for them yourself. It does require an emulator or a rea...We currently do not have real UI tests. Espresso is pushed a lot by Google and it makes great progress. You can even already record tests in the UI without needing to write the code for them yourself. It does require an emulator or a real phone to run these tests though.Android 1.1Torsten GroteTorsten Grote