* Verified 1:1 chats, Android UI (#2560)
Depends on https://github.com/deltachat/deltachat-core-rust/pull/4315/.
Follow-up for https://github.com/deltachat/deltachat-android/pull/2541.
- Show a "verified" icon on protection changed update messages
- Add C API
- Show a dialog over the input bar not only for contact requests, but also when the protection is broken (using the new method `isHalfBlocked()`)
- The positive button reads "OK" (as opposed to contact requests where it reads "Accept")
- Add SVG icons, remove PNG one
- Translations
- When tapping on the `DC_INFO_PROTECTION_{EN|DIS}ABLED` message, show more information (for now, it leads to the online preview of my FAQ PR)
- Block loading remote images in the "Full Msg View" not only for contact requests, also when the protection is broken (using the new method `isHalfBlocked()`)
- Show a big verified/crossed-out-verified symbol over the `DC_INFO_PROTECTION_{EN|DIS}ABLED` messages
- Fix a bug that was kind of present before (for contact requests) but only became really visible now:
- Set a draft with an image (or other attachment)
- Your chat partner breaks verification
- Expected: Both the input bar and the draft image are hidden by the input-bar-dialog.
- Bug behavior (before c31de5bcf): The input bar is hidden, but the draft image stays visible.
* change button order of verification-broken alert (#2621)
Having "OK" in the middle of the buttons is weird. The old order was:
```
End-to-end encryption cannot...
[More Info] [OK] [Scan QR code]
```
1. _If_ the main purpose of the dialog would be to "Scan QR code",
the text should point that out more, also the opening button.
Then, the button position would be correct, however,
it has to read "Cancel" then.
2. _However_, the main purpose of the dialog is to "Show Info",
"Scan QR code" is only an optional offering and the button a shortcut only.
And finishing "Show Info" is better done by a simple "OK".
Then, the "OK" should be rightmost.
This PR implements the second option, the buttons read as follows afterwards:
```
End-to-end encryption cannot...
[More Info] [Scan QR code] [OK]
```
* fix: load updated display name when chat protection breaks
* Implement feature flag for verified 1:1 chats
* Update res/values/strings.xml
Co-authored-by: Hocuri <hocuri@gmx.de>
* Update src/org/thoughtcrime/securesms/connect/DcHelper.java
* Make another AlertDialog
* Revert "Implement feature flag for verified 1:1 chats"
This reverts commit 2efd17edfcf14e3cf89a6671df38647b552e5661.
* Fix typo
* email server->email provider
---------
Co-authored-by: bjoern <r10s@b44t.com>
Co-authored-by: adbenitez <asieldbenitez@gmail.com>
* use standard button style for block/accept
* make existing buttons a little bit nicer
* make 'login' button more outstanding, esp. in dark-mode, where colors are tuned down for now
See deltachat/deltachat-core-rust#2514
Fixes#1963Fixes#1890
Before deleting a chat the user is asked for confirmation. Before blocking not, because blocking is not "destructive" (i.e. can be completely reverted by unblocking the contact). I'm wondering whether we should show a snackbar with an Undo button though, but we can probably wait for user feedback on this.
* Start removing deaddrop chat
* Generally works
* Fix the buttons
(it's not easy to not show one of the buttons in
ConstraintLayout; if problems turn up, we should probably
just not use ConstraintLayout)
* fix more things
* restartLoader() instead of notifyDataSetChanged() because the latter didn't do anything
* Archived badge
* Rename "Contact request" to "Request"
* oops
* Remove setStockTranslation(8, context.getString(R.string.chat_contact_request));
* Remove commented-out code, we probably won't need it
* Don't show "Delete" button for 1:1 chats
* Get rid of short flickering when declining a request
* Set the app's night mode to match the preference
This added 6ms to startup time, but I think that's OK, as
we will also be able to use more `-night` views in the future
* Make "Accept" text a bit brighter and easier to read in dark mode
* Check if the chattype is Group instead of members.length == 1