Commit Graph

70 Commits

Author SHA1 Message Date
Torsten Grote
3a9d66a85f Forum Sharing Client UI
This changes `ShareForumActivity` to use two fragments to facilitate
forum sharing with the new Forum Sharing Client backend.

The `ContactSelectorFragment` allows the user to select a
number of contacts. If there is an ongoing sharing session or the forum
is already shared with the contact, it is disabled in the list. If there
is at least one contact selected, a button appears in the toolbar that
brings the user to the `ShareForumMessageFragment` where the user can
write an optional message to be send along with the invitation.

After sending an invitation, the user is brought back to the forum that
she shared and there is a snackbar showing up briefly to indicate the
successful invitation.

The invitation is shown along with the message within the private
conversation of each contact. The person who shares the forum also sees
the invitation and the message as outgoing messages that also display
the current status of the messages.

A notification is shown like for other private messages as well.

Please note that this commit does not include a way for users to respond
to invitations.
2016-05-10 21:04:08 -03: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
Torsten Grote
db9734044d Remove avatar code and layout from ConversationActivity and ConversationAdapter
Closes #293
2016-04-20 12:22:43 -03:00
akwizgran
f1a83139cf Fixed flicker when loading contact list. #297 2016-04-15 11:05:02 +01:00
Torsten Grote
f7340caec4 restructure conversation item classes 2016-04-12 17:04:52 -03:00
Torsten Grote
c5bfea2155 address issues found in final review
(except refactoring of conversation item classes)
2016-04-12 17:04:52 -03:00
Torsten Grote
90d984ee52 Ensure responses shown after requests, clarify wording, reuse transactions
When devices' clocks are out of sync, it is possible that a response is
shown before the request. This commit makes sure that the timestamp of
responses is always later than the last message in the conversation.

Some wording could be misunderstood to thing introductions were
successful even though they were not. That has been clarified.

A new database transaction was created when getting contacts and local
transport properties. This has been changed to re-use the existing
transaction.

Also addresses minor issues found in review.
2016-04-12 17:04:52 -03:00
Torsten Grote
4b7a32a5ee Find correct session state in case the same one is used twice.
The code made the assumption that a session state can be identified by
the unique session ID. However, when multiple identities from the same
device are involved, there are two sessions with the same ID running on
the device.

Hence, a second identifying criteria has to be used to uniquely identify
the correct session. Here, the ID of the group was chosen.
Unfortunately, the session state can not be cached easily anymore
leading to a small performance penalty when getting all messages for the
UI.
2016-04-12 17:04:52 -03:00
Torsten Grote
5ea7ff2857 UI for introducing two contacts to each other
Show system notification for successful introductions
2016-04-12 17:04:52 -03:00
Ernir Erlingsson
4da63b3800 Modified the project structure, removed module extension and went instead for a non-complete core dependency graph 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
5aba1d79f1 Fixes after comments, also removed the CryptoComoponent from the IdentIcons 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
1be400eb84 Switched Roboguice/Guice out for Dagger 2 2016-03-14 21:01:21 +01:00
akwizgran
5998412a8a Use ClientHelper in PrivateMessageFactoryImpl. 2016-03-04 21:10:52 +00:00
str4d
90eded1421 Make identicons round
This commit renames identicons to avatars in field names, and uses an ImageView
derivative to show the identicons, which should make implementing #214 easier.
2016-01-26 20:21:35 +00:00
str4d
88d81634ca Add identicons to conversations 2016-01-26 18:34:02 +00:00
akwizgran
5355951466 Separate the sync layer from its clients. #112 2016-01-20 10:35:09 +00:00
Torsten Grote
e98677b2bb Do not show a notification for a conversation we are in 2016-01-15 11:27:22 -02:00
Torsten Grote
a1bfe00f1b Remove notification about private messages when viewing messages 2016-01-15 10:53:05 -02:00
Torsten Grote
9aa1bbd1ed Do not show messages as unread when the conversation is open
* Only show them as unread when they arrive out of order
* Mark all messages as read when sending a message
2016-01-14 11:49:34 -02:00
akwizgran
90214c7f93 Removed Read/WritePrivateMessageActivity. #208 2016-01-08 13:21:42 +00:00
Torsten Grote
0a11c0632f introduce a hideSoftKeyboard() method and use it 2016-01-07 19:31:06 -02:00
Torsten Grote
4460d69a06 Improve PasswordActivity by
* removing screen border visible on small screens
* showing noticeable error message on wrong password input
* showing keyboard again after entering wrong password
* making lost password link easier to recognize as link
* renaming keyboard toggle method from 'hide' to 'toggle'
2016-01-07 14:15:57 -02:00
Torsten Grote
a4437a729a Use new BriarRecyclerView in ConversationView
This now handles progress bar and empty view itself.
With this commit, it also scrolls down on layout changes like when
keyboard is opened.
2015-12-31 13:14:33 -02:00
Torsten Grote
880333f094 address issues found so far in code review 2015-12-28 17:04:03 -02:00
Torsten Grote
e98d4f2260 Use a RecyclerView for the ConversationView and
properly notify the view adapter of dataset changes
in order to avoid invalidating the entire dataset when not absolutely necessary.

This change also shows unread messages in a different color,
so users do not fail to notice delayed messages.
2015-12-28 14:49:03 -02:00
Torsten Grote
68cd1ff28c New Conversation View in XML
It now uses conversation bubbles in alternating colors
and vector drawables to indicate message state.

The conversation bubbles have been taken from Telegram
and can be replaced by a UX designer later.

This commit also addresses #9, because message text can
now be selected and copied. This is done by using

    android:textIsSelectable="true"

which only works for API level 11 or higher.

If we want copy and paste on lower API levels,
additional measures have to be implemented.
2015-12-28 14:49:03 -02:00
Torsten Grote
4bcd204687 Use a RecyclerView for the Contact List 2015-12-28 14:37:23 -02:00
akwizgran
f899bc0c38 Facade for private message headers. #173 2015-12-17 16:56:58 +00:00
akwizgran
87689855da Facades for private messaging. #173 2015-12-17 16:56:58 +00:00
akwizgran
4450ab171a Facades for forums. #172 2015-12-17 16:56:58 +00:00
akwizgran
122380db66 Use new UI/DB interfaces for private messaging. 2015-12-17 16:56:57 +00:00
akwizgran
c5282c5b17 Moved some API classes into packages. 2015-12-17 16:56:57 +00:00
akwizgran
3e3109254f Merge branch 'conversation-layout-tweaks' into 'master'
Layout tweaks for ConversationActivity.

Centre the progress wheel and empty list message, hide the empty list message until the list has loaded.

See merge request !26
2015-12-17 16:35:36 +00:00
akwizgran
6e61504d24 Removed message expiry code. #180 2015-12-16 12:17:38 +00:00
akwizgran
9bb298ed44 Merge branch '174-bsp-renaming-again'
Conflicts:
	briar-android/src/org/briarproject/android/contact/ConversationActivity.java
2015-12-16 10:42:44 +00:00
akwizgran
b6c9544373 Layout tweaks for ConversationActivity. 2015-12-15 17:08:23 +00:00
Torsten Grote
327073f514 Put conversation view layout in XML file
and fix message divider background for lower API levels.
2015-12-15 13:11:11 -02:00
Torsten Grote
2bd53f8363 Show connection status of contact in conversation view
Closes #97
2015-12-15 13:11:11 -02:00
akwizgran
2ca2356ecc Moved MessageHeader to sync package. 2015-12-15 15:05:16 +00:00
akwizgran
e370cafb12 Moved classes from messaging package to sync package. 2015-12-15 15:05:06 +00:00
Torsten Grote
aa7d7642bf make message status persistent and initialize it from database 2015-12-10 11:25:41 -02:00
Torsten Grote
0a8c42b939 Improve how the status of messages is indicated.
Remove the Toast that always says 'Message Sent' and show graphical
indicators instead that show either:
* message is waiting to be sent
* message was sent (or requested)
* message was delivered
2015-12-10 10:11:27 -02:00
akwizgran
027ae8340f Whitespace-only code formatting changes. 2015-11-30 09:38:25 +00:00
akwizgran
8b8df435a5 Separated event infrastructure from DB. 2014-10-03 09:44:54 +01:00
akwizgran
3d9f5c496f Show feedback when nickname or forum name is too long. Bug #45. 2014-04-05 14:59:30 +01:00
akwizgran
1c282a8835 Show when private messages have been delivered. 2014-04-03 23:42:24 +01:00
akwizgran
3008bcc209 Sort forum messages correctly even if clocks are wrong. Bug #57. 2014-04-01 19:38:11 +01:00
akwizgran
b99a503f24 Removed unnecessary conditionals from logging statements.
Very important stuff.
2014-03-12 21:00:14 +00:00
akwizgran
a5b09a0f65 Better notifications. Development task #67. 2014-03-07 12:21:12 +00:00
akwizgran
86f8d97d81 Moved some boilerplate into the BriarActivity superclass. 2014-03-01 11:20:04 +00:00