Commit Graph

388 Commits

Author SHA1 Message Date
Torsten Grote
bcfdd848a4 Modernize AvailableForumsActivity
Turn list of available forums into a BriarRecyclerView with XML layout.
Allow to respond to forum invitations from the list of available forums.
The user can either accept or decline an invitation.
2016-05-10 20:07:42 -03:00
akwizgran
0b3486536e Merge branch '305-new-forum-list' into 'master'
New List of Forums

The adapter of the `ForumListFragment` has been changed into a
`BriarRecyclerView` and all its code has been adapted and simplified
accordingly.

All UI of the forum list is now defined in XML layouts. This enabled me to move the snackbar into onCreate().

Before:

![device-2016-05-03-165331](/uploads/961cc2c043464f446584de4ae0ad527b/device-2016-05-03-165331.png)

After:

![device-2016-05-03-165117](/uploads/e22ede3e9a3330762b3ae84f86ca6ec5/device-2016-05-03-165117.png)


See merge request !175
2016-05-10 14:55:47 +00:00
akwizgran
f22ea85222 Merge branch '322-forum-sharing-client' into 'master'
Forum Sharing Client Backend

This MR replaces the old `ForumSharingManagerImpl` with a new one
which is based on state machines and the `ProtocolEngine`.

There is a `SharerEngine` and a `InviteeEngine` that take care of state
transitions, messages, events and trigger actions to be carried out by
the `ForumSharingManagerImpl`. This is all very similar to the
Introduction Client.

The general sharing paradigm has been changed from sharing as a state to
sharing as an action. Now the UI can allow users to invite contacts to
forums. The contacts can accept or decline the invitation. Also, the
Forum Sharing Manager is notified when users leave a forum.

Please note that you will need the UI to actually test this. It is coming up soon in another MR.

Closes #322

See merge request !170
2016-05-09 16:30:21 +00:00
str4d
b81a567468 First part of BQP UI improvements.
Includes parallel improvements to Bluetooth key exchange UI.
2016-05-06 13:57:30 +01:00
akwizgran
33c1f16356 Merge branch '370-nav-drawer-remember-fragment' into 'master'
Remember the selected fragment from the NavDrawer

and stay in it when configuration changes

Closes #370

See merge request !176
2016-05-06 09:20:06 +00:00
Torsten Grote
271e390b9d New List of Forums
The adapter of the `ForumListFragment` has been changed into a
`BriarRecyclerView` and all its code has been adapted and simplified
accordingly.

All UI of the forum list is now defined in XML layouts.
2016-05-04 18:07:12 -03:00
Torsten Grote
9bef114c35 Forum Sharing Client backend
This commit replaces the old ForumSharingManagerImpl with a new one
which is based on state machines and the ProtocolEngine.

There is a SharerEngine and a InviteeEngine that take care of state
transitions, messages, events and trigger actions to be carried out by
the ForumSharingManagerImpl. This is all very similar to the
Introduction Client.

The general sharing paradigm has been changed from sharing as a state to
sharing as an action. Now the UI can allow users to invite contacts to
forums. The contacts can accept or decline the invitiation. Also, the
Forum Sharing Manger is notified when users leave a forum.

Closes #322
2016-05-04 17:02:22 -03:00
Torsten Grote
6f1360c398 Remember the selected fragment from the NavDrawer
and stay in it when configuration changes

Closes #370
2016-05-04 11:25:05 -03:00
akwizgran
5a84e0fe5c Added "Touch to open Briar" to ongoing notification. 2016-05-04 09:32:47 +01:00
akwizgran
5fab9c383d Updated forum toasts and renamed delete icon. 2016-05-03 16:21:26 +01:00
akwizgran
da60e567e0 Merge branch '305-remove-forum' into 'master'
Move forum removal action from long press menu to action bar

This is part of the UI changes for #305 

See merge request !164
2016-05-03 15:02:01 +00:00
Torsten Grote
684898ef09 Move forum removal action from long press menu to action bar
part of UI changes for #305
2016-05-03 12:00:09 -03:00
akwizgran
3b65144ff6 Merge branch '154-ongoing-notification' into 'master'
Set ongoing notification to minimum priority

Setting the priority of the ongoing notification to PRIORITY_MIN prevents it from being shown in the status bar on Android 4.1 and later. The service still runs in the foreground.

Thanks to @str4d for finding the solution. Closes #154.

See merge request !169
2016-05-03 14:59:19 +00:00
Torsten Grote
9f9a216305 Prepare for new Forum Sharing Client
Methods for creating, adding and removing forums have been moved to the
`ForumManager`. In order to still handle removing forums properly, a
`RemoveForumHook` has been introduced.

Methods for sharing forums with all current and future contacts have
been removed along with the localGroup where this information was saved.

The `ShareForumActivity` now has the proper label.

The `SessionId` and the `ProtocolEngine` have been moved to the
`clients` package.

This addresses part of #322 and part of what has been discussed in #320.
2016-05-03 11:48:45 -03:00
akwizgran
b57b65e803 Merge branch '331-viewfinder' into 'master'
Reinitialise viewfinder when camera view is shown

Thanks to @str4d for finding the cause of the bug. Closes #331.

See merge request !165
2016-05-03 14:38:37 +00:00
akwizgran
160adca198 Merge branch 'use-android-executor' into 'master'
Use Android executor for background API calls

Some Android API calls need to be made from a thread with a message queue, but to keep the UI responsive they shouldn't be made from the UI thread.

This patch gives AndroidExecutor a captive thread with a message queue to execute tasks, and converts various background tasks from creating their own threads to using AndroidExecutor and IoExecutor.

This allows us to upgrade the support library to 23.2.1. Fixes #332.

See merge request !161
2016-05-03 14:34:49 +00:00
akwizgran
3d4abee1a4 Merge branch '305-forum-list-snackbar' into 'master'
Add Snackbar and Toolbar Button to Forum List

This MR is a small change that replaces the custom UI elements in
the forum list with a Snackbar and a Toolbar menu.

It also fixes a background color that was still present with fragment from the NavDrawer.

Before:

![before](/uploads/6dcc545827c035dcffcdf7863893753e/before.png)

After:

![after](/uploads/427de01d8bec779ee81e6ebded3fcd2b/after.png)

It addresses one part (2b) of #305 and is part of #121.


See merge request !163
2016-05-03 13:51:44 +00:00
akwizgran
25b165ac1e Set ongoing notification to minimum priority. #154 2016-05-03 14:14:15 +01:00
akwizgran
7ad21708fe Reinitialise viewfinder when camera view is shown. #331 2016-05-03 09:53:09 +01:00
akwizgran
ea973b61c6 Bumped expiry date to 1 June 2016. 2016-05-02 17:02:01 +01:00
Torsten Grote
82e1ef0ea6 Add Snackbar and Toolbar Button to Forum List
This commit is a small change that replaces the custom UI elements in
the forum list with a Snackbar and an Toolbar menu.

Addresses one part (2b) of #305
2016-05-02 13:00:19 -03:00
akwizgran
0a088af010 Use IoExecutor for background IO tasks. 2016-05-02 16:54:40 +01:00
akwizgran
c21854fbe4 Use AndroidExecutor for background tasks that make API calls. 2016-05-02 16:54:35 +01:00
akwizgran
c72e5be804 Removed old user feedback activity. #336 2016-04-29 22:54:37 +01:00
akwizgran
29071fcc79 Merge branch '325-briar-recycler-view' into 'master'
Don't allow 'this' to escape the constructor

Fixes #325.

See merge request !155
2016-04-29 21:20:02 +00:00
str4d
1a90d3c39f Don't save the user's email automatically from crash reports 2016-04-28 16:44:05 +12:00
str4d
c44b6a4095 Implement encrypted feedback 2016-04-28 16:44:01 +12:00
akwizgran
f2fc0a43c9 Don't delete unsent reports on application start 2016-04-27 22:22:21 +12:00
akwizgran
d06a6e25cb Check that result of File#listFiles() is not null. 2016-04-27 22:22:21 +12:00
str4d
f73f0aa4ab Migrate crash reports to ACRA 2016-04-27 22:22:16 +12:00
akwizgran
8630f6f24f Don't allow 'this' to escape the constructor. 2016-04-26 10:03:28 +01:00
akwizgran
141d6497ef Removed unused layout code and imports. 2016-04-26 09:34:48 +01:00
akwizgran
11a4ca6b9c Merge branch '271-port-splash-and-create-forum' into 'master'
Converts the splash screen to XML format

Removes all programatic calls that modify the layout and uses the XML
resource instead.

See merge request !123
2016-04-26 08:13:29 +00:00
Torsten Grote
9ea7113423 Refactor ContactListAdapter to be reusable for other use cases.
This commit introduces an abstract `BaseContactListAdapter` which provides
most of the adapter logic. The original `ContactListAdapter` extends it to
show date and online status of the contacts.

The new `ContactChooserAdapter` which is used for introductions extends
the `ContactListAdapter` and adds logic for graying out contacts from
different identities than the currently used one.

A new `ContactSelectorAdapter` extends the `BaseContactListAdapter` and
allows to select multiple contacts. It offers a method to return a
collection of all selected `ContactId`s.

This commit also sneaks in an animation when the 'Share Forum' button
is clicked.

Closes #292
2016-04-25 13:50:31 -03:00
Santiago Torres
e535be6d18 WIP: Converts the splash screen to XML format
Removes all programatic calls that modify the layout and uses the XML
resource instead.
2016-04-25 12:19:48 -04:00
akwizgran
9918e93cc4 Merge branch '296-dialog-styling' into 'master'
Use consistent styling for dialogs. #296

Converted all dialogs to use the support library and the Briar theme, so they have a consistent Material Design appearance across all Android versions.

See merge request !152
2016-04-25 15:20:28 +00:00
akwizgran
3200a9f8f8 Merge branch '313-move-forum-buttons-to-toolbar' into 'master'
Move create forum post and share forum buttons in action bar

According to the designs in #305, the 'create forum post' and 'share forum' buttons will go into the in action bar.

In the spirit of keeping MRs small and to avoid conflicts with #306, I did this first and independently of future work.

This also introduces constants for the `GROUP_ID`, `FORUM_NAME` and `MIN_TIMESTAMP` as they were used for the two buttons.

Closes #313

See merge request !150
2016-04-25 13:57:14 +00:00
akwizgran
41c9916e8e Merge branch '293-remove-avatar-from-conversation' into 'master'
Remove avatar code and layout from ConversationActivity and ConversationAdapter

Please note that I have not been able to test this MR on an actual device as I have none at the moment :(

Closes #293

See merge request !148
2016-04-25 12:40:42 +00:00
akwizgran
7779319f9a Merge branch '295-show-declined-introductions' into 'master'
Show relevant introduction decline responses in the conversation

* If the user has already declined, we don't show that the other
  introducee has declined as well. The backend doesn't have that information, so
  this is compatible with the principle of showing what we know.
* If the user has already accepted or hasn't yet responded, we now show the
  decline response in the private conversation with the introducer. If
  the user hasn't yet responded, we hide the accept/decline buttons
  in the introduction request message.

Please note that I do not have three devices at the moment to test this MR in its entirety in practice. I created another test which is hopefully sufficient to ensure that the modifications are correct.

Closes #295 

See merge request !149
2016-04-25 12:07:13 +00:00
akwizgran
b5fc7cf724 Use consistent styling for dialogs. #296 2016-04-25 12:52:28 +01:00
akwizgran
9b5d3ecb7a Added public key and placeholder onion address. 2016-04-21 16:07:51 +01:00
Torsten Grote
44b3d4c14f Move create forum post and share forum buttons in action bar
This also introduces constants for the GROUP_ID, FORUM_NAME and
MIN_TIMESTAMP as they were used for the two buttons.

Closes #313
2016-04-21 12:06:42 -03:00
Torsten Grote
11e6d64e4d Show relevant decline responses in the conversation
* If the user has already declined, we don't show that the other
  introducee has declined as well. The backend doesn't have that information, so
  this is compatible with the principle of showing what we know.
* If the user has already accepted or hasn't yet responded, we show the
  decline response in the private conversation with the introducer. If
  the user hasn't yet responded, we hide the accept/decline buttons
  in the introduction request message.

Messages an introducee receives in a `FINISHED` state are now being
ignored and deleted.

Closes #295
2016-04-21 11:08:15 -03:00
str4d
5c2f56549b Refactor MessageEncrypter interface to use PublicKey and PrivateKey 2016-04-21 01:08:39 +00:00
str4d
d545aaa892 Encrypt and save crash reports, send them the next time TorPlugin start
Will currently fail at runtime; requires a public key and a server onion.
2016-04-20 23:42:46 +00:00
Torsten Grote
db9734044d Remove avatar code and layout from ConversationActivity and ConversationAdapter
Closes #293
2016-04-20 12:22:43 -03:00
Torsten Grote
d0036deaf7 This addresses two types of introduction corner cases:
* force decline when two of our own identities are introduced to each
  other
* throw away introduction requests to the same identity
  (impossible to trigger from UI)

Closes #284
2016-04-20 11:31:54 -03:00
Ernir Erlingsson
87635c7654 Merge branch '297-flickering-contacts' into 'master'
Fix flicker when loading contact list

Fixes #297.

See merge request !144
2016-04-18 08:57:54 +00:00
akwizgran
6197f5a44c Catch runtime exceptions from QR code decoder. #298 2016-04-15 17:06:05 +01:00
akwizgran
f1a83139cf Fixed flicker when loading contact list. #297 2016-04-15 11:05:02 +01:00