* add DcBackupProvider add receiveBackup() wrappers
* add 'Add Another Device' item to settings
* add android-ifaddrs
core-rust uses getifaddrs() which is not available on android ndk.
pull in the code from https://github.com/morristech/android-ifaddrs
that provides an implementation.
* add BackupProviderActivity
* make SVG-hack reusable
* add BackupProviderFragment
* prepare scanning backup codes
* Revert "add android-ifaddrs"
This reverts commit 33b1424427620396f282805d37f8e05c67758546.
* more logging
* call receiveBackup() on scanning DC_QR_BACKUP
* Fixup for recvmmsg fallback
* protect BackupProviderActivity by system secret
* show transfer progress as provided form the core; hide qr-code once scanned
* add a permanent notification for the provider
* clarify what we are waiting for
* add a permanent notification for the receiver
* ask before finishing BackupProviderActivity
* it is fine to cancel the abort question by tapping outside the alert
* remove outdated comment from 'keep screen on'
* add and check TRANSFER_MODE
* rename BackupProviderActivity to BackupTransferActivity
* use our base activity
* start/stop IO in base activity
* use BackupTransferActivity also for scanning
* add BackupReceiverFragment
* show detailed transfer progress
* show details instead of percent during preparation, for now
* launch chatlist and remove welcome when transfer is done
* redirect to chatlist automatically after transfer succeeded
* reword
* make log accessible from send and receive activities
* bump version
* show error if backup provider creation fails
* remove unneeded format()
* show some context in the errors alerts, hide QR code sooner
* calculate transfer percentage as specified
* show a 'close' instead of a 'back' button to make visually clear, things are aborted (there is a quesion anyway)
* add option to copy backup-qr-code to clipboard
* remove vague retry statement, core will show a detailed error soon
* warn about QR codes on clipboard getting invalidated
* make basic strings translatable
* add troubleshooting menu item (once help is evolved, it may be a more visible button, may be localized, may be offline)
* rename to backup_transfer_fragment.xml
* add detailed instructions
* move 1,2,3 layout to the .xml
* fix layout
* use text size used elsewhere
* do best effort to show SSID on sending device
* make SSID code reusable for receiver
* adapt to otherwise used font style
* show ssid also for receiver
* minor refactorings
* make qr code subtitle translatable
* tune down 'same network hint' on scanning device
* add progress bar to provider
* add progress bar to receiver
* bump version
* use 'Add Second Device' wording
this seems slightly catchier as "Add Another Device"
and has less "A" esp. in "Add as Another Device" :)
also at least translation to german seems nicer ("Zweitgerät"),
most ppl will use max. two devices, but even if more,
that should still be fine.
this was also the first intuition also by other devs in their mockups,
so we'll give it a try.
* use "Exporting/Preparing/Prepared Account" wording
let's give that a try - "Account" is also widely used,
so that seems to make some sense.
even if not 100% fitting,
it seems better than introducing the new term "Collection".
* refine abort question
* Update res/layout/backup_provider_fragment.xml
Co-authored-by: Hocuri <hocuri@gmx.de>
* Update src/org/thoughtcrime/securesms/qr/BackupProviderFragment.java
Co-authored-by: Hocuri <hocuri@gmx.de>
* Update src/org/thoughtcrime/securesms/qr/BackupReceiverFragment.java
Co-authored-by: Hocuri <hocuri@gmx.de>
* Update src/org/thoughtcrime/securesms/qr/BackupTransferActivity.java
Co-authored-by: Hocuri <hocuri@gmx.de>
* Update src/org/thoughtcrime/securesms/qr/BackupReceiverFragment.java
Co-authored-by: Hocuri <hocuri@gmx.de>
* remove string duplicate
* refine 1,2,3
* simplify string ids
* focus on what matters
---------
Co-authored-by: link2xt <link2xt@testrun.org>
Co-authored-by: Hocuri <hocuri@gmx.de>
with the "connection view",
we already have a green indicating sth. as "online", reuse that.
(the green used before is a bit too much of a muted color,
this does not reflect "activity" well)
i came over that when playing around with the layout on ios;
ios uses the same color now.
also many other apps use a similar, less muted green for "activity" or
"online".
* simplify contact list
this also disables "fast scrolling" for the contact list;
the "fast scrolling" code is too much bound to the bubbles and a-z
to be preserved without much effort.
however, "fast scrolling" seems to be much less important
with a list sorted by "last seen".
there is also the rough idea to raise minimal-origin of contact list,
this would make the list much smaller
(<https://github.com/deltachat/deltachat-core-rust/pull/2411>),
otoh, not sure if #2411 is a thing for list sorted by "last seen".
also the other lists (chatlist, archive, blocked) may become quite huge as well
and do never have "fast scrolling".
in case it is really needed again,
however, we should go for the implementation available in RecyclerView since some time:
<https://stackoverflow.com/questions/45370246/how-to-use-fastscrollenabled-in-recyclerview>
* less padding as the A-Z decorations do not longer need space
* remove unused contact_selection_recyclerview_header
* 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
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
* 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>
IIRC some time ago we talked about making the error icon red and make it
an exclamation mark to make it more visible.
Today someone complained to me that they thought the "x" looks like one
can close something and that it shouldn't be green, so I went ahead and
made it red :) (it's also a little bit bigger now)
- the image file is a vector (xml) file now, previously it was a png file.
Might this be a problem?
the warning about outdated apps
was pretty unreliable in the past -
because of too short timings
and also because of the "installation date"
and the fact that an "installer" was used, is not always reliable.
also, the "installer date" could be wrong -
if the installation was done when the clock was altered badly.
as we cannot rely on the things the system provides here,
we move the whole thing to the core at
https://github.com/deltachat/deltachat-core-rust/pull/1901
which has also the advantage that this is done for all uis then.
in light mode, input field and emoji popups are both white,
therefore opening the emoji popup (used eg. for diversified emojis)
in the first line looks weird, you do not really know
if the display is part of the emoji picker or of the input field.
fixing that by adding a small border around the popup.
in dark mode, things are already fine.