- Before Android 6 (API 23), there was no KeyStore yet. Currently, you can still create an encrypted account, but the passphrase is stored in clear-text, because that's how Signal is doing things.
- There is no option to manually set the keyphrase or to unlock via fingerprint. This has the advantage that we never need user input for unlocking the accounts and can simply unlock all accounts on startup and the obvious disadvantage that anyone with access to the unlocked device can open DC.
- Each account is encrypted with a different passphrase.
- When importing, you can choose to encrypt the account.
errors that should be shown to the user
come from DC_EVENT_CONFIGURE_PROGRESS(data1=0) as data2 now;
there is no need to show the captured error any longer
(which was unreliable and hard to handle from core site).
there is some capturing-code left as needed for other parts,
but it is not used for configuration anymore.
i tried to rename the 'cancel' button to 'login manually'
as suggested at https://github.com/deltachat/interface/issues/33
however, playing around with this change a bit in real setup situations,
this does not really help on making things easier.
- the user sees a dialog opening that lacks an option to 'just close'
it at the first glance, one feels stuck
- he has to understand that 'login manually' is the thing he already
started in the previous dialog
therefore, i think a simple 'cancel' might not be perfect,
but according to 'login manually' the better choice.
however, maybe we can reword the text, saying more explicit what cancel does.
but even then, not sure if the user really reads the things,
and i think the text is already a bit long.
also, whatever the user chooses, there is not really a 'bad choice' -
in both decisions, the user will either succeed logging in or come back to the
intial screen.
also, thinking of ios, there the 'cancel' button
is always much more highlighted as the other ones -
having buttons named 'cancel' feels natural, but having a bold
'login manually' is a bit weird as the 'simplified' choice is probably
easier in most cases.
sure, this is ios and we can do things different there,
however, it is another point :)
to not mess around with oauth2 dialogs,
we show the before_login_hint only if the email address is entered completely
(on focus changes)
however, if the user change the provider
so that no or a different provider info would be shown,
it should be removed (not: directly replaced by the actual one,
this is done on focus change if oauth2 is denied)