the functions were part of ApplicationDcContext for no special reason,
however, now standing in the way of avoiding subclassing DcContext
(to use the DcContext objects returned from DcAccounts directly).
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
I couldn't measure whether the app actually loads faster, as it varies a
lot (3.5s-4.5s on my device), but I could see that `getInstance()`
doesn't need 100ms-300ms on the main thread anymore.
- 'Getting new messages…' is not always fitting,
the messages may be old or they are not visible as messags at all
(read receipts, setup-contact, sync).
'Updating…' is better fitting here.
- 'Getting new messages…' is a bit too long and results in
linebreaks on smaller devices.
- Imediately hide the compose panel when you left the group and
EVENT_CHAT_CHANGED was sent
- Hide the "Leave" button if you are not a member of a group. I solved
this by checking `canSend()`; I could also have checked
`dc_is_contact_in_chat(CONTACT_ID_SELF)`, but this would be more
complexity for now.
When we add the possibility to leave mailing lists, the core will have
to explicitly tell the UI whether it's possible to leave a chat, but
that's not for now.
the code-part of this pr is pretty simple, most work was already done in core at deltachat/deltachat-core-rust#2512
* add DC_QR_{WITHDRAW|REVIVE}_VERIFY{CONTACT|GROUP} constants
* ask to withdraw/revive qr codes
* reword redraw hints, fix typos
* reword revive statement
* Update res/values/strings.xml: Add "by others"
* Apply suggestions from comradekingu's code review
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Hocuri <hocuri@gmx.de>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
The non-squashed original commits are available at 243bd3a56:
* First, quick and dirty version
* Basic HTML connectivity view
* Codestyle, automatically refresh
* Make it accessible from the settings
* Improve usability
I did some user-testing with my family, these are the results:
- Added an emoji to the html page (red dot for not connected, and so on)
- Adapted error messages for SMTP:
"Not started" -> "(You did not try to send a message recently)"
"🟢 Connected" -> "🟢 Your last message was sent successfully"
- "Not connected" is misleading, because they think that this means that there is no internet connection.
But "Not connected" can have other causes, like, a not responding server or a changed-but-not-updated-in-DC password
Possible solutions:
- "Not connected" -> "Not connected with gmx.de" (or whatever comes after the '@' in configured_addr). The problem: some people have an own domain for their emails, but no own servers. "Not connected with <your domain>" and might make them think that the problem is that DC tries to connect to the server <your domain>, while the server is hosted at Strato.com.
- We can ask the system whether there currently is network and then show another error message. The problem: Sometimes the system is wrong.
* Remove error_network
* Remove server_response string
* Move `getConnectivitySummary()` to `DcHelper`
* Implement the changes we agreed on
* Remove string error_no_network
* small fixes
once the sticker is sent together with the quote,
the quote is cleared.
if there is some draft text, however, that is kept as draft.
tickers together with text are discouraged.
we keep using the screenlock for "Backup" and "Manage keys";
these dialog always used the wording of the "global" screenlock,
sth. as "Please Unlock Delta Chat", however, that wording was always wrong
as Delta Chat itself is not locked in these situations.
this pr sets the title to the selected action
and just says "Please enter system secret to continue."
moreover, the toasts on canceling the action are removed,
they do not make much sense here,
there was a user action just before, so that is pretty clear anyway.
* Remove screen lock feature, move the two remaining "App access" options into "Advanced"
Locking the app was removed a long time ago, so in "App access" in the
settings, the only two remaining items were "Screen security" and
"Incognito keyboard".
* Remove the now-unused strings
* remove app-access-category from main settings screen
Co-authored-by: B. Petersen <r10s@b44t.com>