mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-03 09:49:21 +02:00
add basic local-help-activity, adapt menus and add a demo-file
This commit is contained in:
parent
a7f51386cd
commit
afc1f99788
8 changed files with 943 additions and 20 deletions
|
@ -269,6 +269,10 @@
|
||||||
android:theme="@style/TextSecure.LightTheme"
|
android:theme="@style/TextSecure.LightTheme"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
|
<activity android:name=".LocalHelpActivity"
|
||||||
|
android:theme="@style/TextSecure.LightTheme"
|
||||||
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".map.MapActivity" />
|
<activity android:name=".map.MapActivity" />
|
||||||
|
|
||||||
<service android:name=".connect.KeepAliveService" android:enabled="true" />
|
<service android:name=".connect.KeepAliveService" android:enabled="true" />
|
||||||
|
|
782
assets/help/en/help.html
Normal file
782
assets/help/en/help.html
Normal file
|
@ -0,0 +1,782 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>FAQ - Delta Chat</title>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
|
||||||
|
<meta name="description" content="Delta Chat - Email Based Instant Messenger" />
|
||||||
|
<meta name="keywords" content="delta chat, email messaging app, download delta chat" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../assets/css/styles.css" type="text/css" />
|
||||||
|
<link rel="alternate" href="https://delta.chat/feed.xml" type="application/atom+xml" title="" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="top">
|
||||||
|
|
||||||
|
<div id="menu">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../en/">Home</a></li>
|
||||||
|
<li><a href="download">Download</a></li>
|
||||||
|
<li><a href="blog">Blog</a></li>
|
||||||
|
<li><a href="contribute">Contribute</a></li>
|
||||||
|
<li><a href="help">FAQ</a></li>
|
||||||
|
<li><a href="https://support.delta.chat">Forum</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Frequently Asked Questions</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
Table of Contents
|
||||||
|
</summary>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#general">General</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#what-is-delta-chat">What is Delta Chat?</a></li>
|
||||||
|
<li><a href="#how-can-i-find-people-to-chat-with">How can I find people to chat with?</a></li>
|
||||||
|
<li><a href="#what-are-the-advantages-of-delta-chat-compared-to-other-messengers">What are the advantages of Delta Chat compared to other messengers?</a></li>
|
||||||
|
<li><a href="#which-messages-do-appear-in-delta-chat">Which messages do appear in Delta Chat?</a></li>
|
||||||
|
<li><a href="#what-about-spam">What about spam?</a></li>
|
||||||
|
<li><a href="#does-delta-chat-support-images-videos-and-other-attachments">Does Delta Chat support images, videos and other attachments?</a></li>
|
||||||
|
<li><a href="#who-sees-my-profile-picture">Who sees my profile picture?</a></li>
|
||||||
|
<li><a href="#does-delta-chat-support-html-e-mails">Does Delta Chat support HTML e-mails?</a></li>
|
||||||
|
<li><a href="#why-do-i-have-to-enter-my-e-mail-password-into-delta-chat-is-this-secure">Why do I have to enter my E-Mail password into Delta Chat? Is this secure?</a></li>
|
||||||
|
<li><a href="#which-android-permissions-does-delta-chat-need">Which Android permissions does Delta Chat need?</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#groups">Groups</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#creation-of-a-group">Creation of a group</a></li>
|
||||||
|
<li><a href="#add-members-to-a-group">Add members to a group</a></li>
|
||||||
|
<li><a href="#what-is-a-verified-group-why-is-it-experimental">What is a verified group? Why is it experimental?</a></li>
|
||||||
|
<li><a href="#i-have-deleted-myself-by-accident">I have deleted myself by accident.</a></li>
|
||||||
|
<li><a href="#i-do-not-want-to-receive-the-messages-of-a-group-any-longer">I do not want to receive the messages of a group any longer.</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#encryption">Encryption</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#does-delta-chat-support-end-to-end-encryption">Does Delta Chat support end-to-end-encryption?</a></li>
|
||||||
|
<li><a href="#what-do-i-have-to-do-to-activate-the-end-to-end-encryption">What do I have to do to activate the end-to-end-encryption?</a></li>
|
||||||
|
<li><a href="#if-end-to-end-encryption-is-not-available-is-the-connection-not-encrypted-at-all">If end-to-end-encryption is not available, is the connection not encrypted at all?</a></li>
|
||||||
|
<li><a href="#how-can-i-verify-cryptographic-status-with-a-sender">How can I verify cryptographic status with a sender?</a></li>
|
||||||
|
<li><a href="#how-can-i-check-the-encryption-of-messages">How can I check the encryption of messages?</a></li>
|
||||||
|
<li><a href="#which-standards-are-used-for-end-to-end-encryption">Which standards are used for end-to-end-encryption?</a></li>
|
||||||
|
<li><a href="#what-is-the-difference-between-verified-groups-and-11-chats-with-verified-contacts">What is the difference between verified groups and 1:1 chats with verified contacts?</a></li>
|
||||||
|
<li><a href="#does-delta-chat-support-perfect-forward-secrecy">Does Delta Chat support Perfect Forward Secrecy?</a></li>
|
||||||
|
<li><a href="#how-does-delta-chat-protect-my-metadata">How does Delta Chat protect my Metadata?</a></li>
|
||||||
|
<li><a href="#can-i-re-use-my-existing-private-key">Can I re-use my existing private key?</a></li>
|
||||||
|
<li><a href="#i-cant-import-my-existing-pgp-key-into-delta-chat">I can’t import my existing PGP key into Delta Chat.</a></li>
|
||||||
|
<li><a href="#why-dont-you-use-pep-pretty-easy-privacy">Why don’t you use pEp (pretty easy privacy)?</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#multiclient">Multi-client</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#can-i-use-delta-chat-on-multiple-devices-at-the-same-time">Can I use Delta Chat on multiple devices at the same time?</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#miscellaneous">Miscellaneous</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#does-delta-chat-work-with-my-e-mail-provider">Does Delta Chat work with <em>my</em> e-mail-provider?</a></li>
|
||||||
|
<li><a href="#im-interested-in-the-technical-details-can-you-tell-me-more">I’m interested in the technical details. Can you tell me more?</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="general">
|
||||||
|
|
||||||
|
|
||||||
|
General <a href="#general" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<h3 id="what-is-delta-chat">
|
||||||
|
|
||||||
|
|
||||||
|
What is Delta Chat? <a href="#what-is-delta-chat" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p><img style="float: right;" width="400px" src="../assets/home/delta-what.png" /></p>
|
||||||
|
|
||||||
|
<p>Delta Chat is a new chat app that sends messages via e-mails, encrypted if possible, with Autocrypt.
|
||||||
|
<strong>You do not have to sign up anywhere, just use your existing e-mail account with Delta Chat.</strong></p>
|
||||||
|
|
||||||
|
<h3 id="how-can-i-find-people-to-chat-with">
|
||||||
|
|
||||||
|
|
||||||
|
How can I find people to chat with? <a href="#how-can-i-find-people-to-chat-with" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>With Delta Chat, you can write to every existing e-mail address - even
|
||||||
|
if the recipient is not using the Delta Chat app. No need for the
|
||||||
|
recipient to install the same app as yours, as with other messengers.</p>
|
||||||
|
|
||||||
|
<h3 id="what-are-the-advantages-of-delta-chat-compared-to-other-messengers">
|
||||||
|
|
||||||
|
|
||||||
|
What are the advantages of Delta Chat compared to other messengers? <a href="#what-are-the-advantages-of-delta-chat-compared-to-other-messengers" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><em>Independent</em> of any company or services. <em>You</em> own your data.</li>
|
||||||
|
<li>Your data is not saved on a central server unless all users are using
|
||||||
|
the same e-mail servers</li>
|
||||||
|
<li>You do not distribute your address book to anyone.</li>
|
||||||
|
<li><em>Fast</em> by the use of Push-IMAP.</li>
|
||||||
|
<li><em>Largest userbase</em> - recipients <em>not</em> using Delta Chat can be reached as well.</li>
|
||||||
|
<li><em>Compatible</em> - not only to itself.</li>
|
||||||
|
<li><em>Elegant</em> and <em>simple</em> user interface.</li>
|
||||||
|
<li><em>Distributed</em> system.</li>
|
||||||
|
<li><em>No Spam</em> - only messages of known users are shown by default.</li>
|
||||||
|
<li><em>Reliable</em> - safe for professional use.</li>
|
||||||
|
<li><em>Trustworthy</em> - can even be used for business messages.</li>
|
||||||
|
<li><em>Copyleft</em> and <em>Standards</em> based libre software.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="which-messages-do-appear-in-delta-chat">
|
||||||
|
|
||||||
|
|
||||||
|
Which messages do appear in Delta Chat? <a href="#which-messages-do-appear-in-delta-chat" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>Delta Chat automatically shows:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Messages from contacts in your <strong>address book</strong></li>
|
||||||
|
<li>Messages from contacts <strong>contacted by you</strong></li>
|
||||||
|
<li><strong>Replies</strong> to messages sent by you</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Other messages do not appear automatically, and are to be found in the main menu at <strong>Contact requests</strong>. If desired a chat can be started from there.</p>
|
||||||
|
|
||||||
|
<h3 id="what-about-spam">
|
||||||
|
|
||||||
|
|
||||||
|
What about spam? <a href="#what-about-spam" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Messages in common spam folders are ignored and contained addresses are not considered as known contacts.</li>
|
||||||
|
<li>As messages from unknown contacts do not pop up automatically, normally, there is <strong>no spam</strong>.</li>
|
||||||
|
<li>However, if needed, you can <strong>block</strong> any contact.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="does-delta-chat-support-images-videos-and-other-attachments">
|
||||||
|
|
||||||
|
|
||||||
|
Does Delta Chat support images, videos and other attachments? <a href="#does-delta-chat-support-images-videos-and-other-attachments" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Yes. Beside the plain text, all e-mail attachments are displayed as separate messages. Outgoing messages get attachments as needed automatically.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="who-sees-my-profile-picture">
|
||||||
|
|
||||||
|
|
||||||
|
Who sees my profile picture? <a href="#who-sees-my-profile-picture" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>You can add a profile picture in your settings. If you write to your contacts
|
||||||
|
or add them via QR code, they automatically see it as your profile picture.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Contacts who don’t use Delta Chat see it as an E-Mail attachment.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>For privacy reasons, no one sees your profile picture until you write a
|
||||||
|
message to them.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Your profile picture isn’t sent with every message, but regularly enough that
|
||||||
|
your contacts will re-receive your profile picture, even if they add a new
|
||||||
|
device.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="does-delta-chat-support-html-e-mails">
|
||||||
|
|
||||||
|
|
||||||
|
Does Delta Chat support HTML e-mails? <a href="#does-delta-chat-support-html-e-mails" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Yes. If incoming e-mail lacks a plain text part, HTML-emails is converted to plain text in the app. Outgoing e-mails always use plain text.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="why-do-i-have-to-enter-my-e-mail-password-into-delta-chat-is-this-secure">
|
||||||
|
|
||||||
|
|
||||||
|
Why do I have to enter my E-Mail password into Delta Chat? Is this secure? <a href="#why-do-i-have-to-enter-my-e-mail-password-into-delta-chat-is-this-secure" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>As with other E-Mail programs like Thunderbird, K9-Mail, or Outlook, the
|
||||||
|
program needs the password so you can use it to send mails. Of course, the
|
||||||
|
password is stored only on your device. The password is only transmitted to
|
||||||
|
your E-Mail provider (when you login), which has access to your mails anyway.</p>
|
||||||
|
|
||||||
|
<p>If you use an E-Mail provider with OAuth2 support like gmail.com or yandex.ru,
|
||||||
|
there is no need to store your password on the device. In this case, only an
|
||||||
|
access token is used.</p>
|
||||||
|
|
||||||
|
<p>As Delta Chat is Open Source, you can check the <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Source
|
||||||
|
Code</a>
|
||||||
|
if you want to verify that your credentials are handled securely. We are happy
|
||||||
|
about feedback which makes the app more secure for all of our users.</p>
|
||||||
|
|
||||||
|
<h3 id="which-android-permissions-does-delta-chat-need">
|
||||||
|
|
||||||
|
|
||||||
|
Which Android permissions does Delta Chat need? <a href="#which-android-permissions-does-delta-chat-need" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Camera <em>(can be disallowed)</em>
|
||||||
|
<ul>
|
||||||
|
<li>take pictures and videos: for sending Photos</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Contacts <em>(can be disallowed)</em>
|
||||||
|
<ul>
|
||||||
|
<li>read your contacts: to discover contacts to chat with</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Location <em>(can be disallowed)</em>
|
||||||
|
<ul>
|
||||||
|
<li>access approximate location (network location sources): for the location streaming feature</li>
|
||||||
|
<li>access precise location (GPS and network location sources): for the location streaming feature</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Microphone <em>(can be disallowed)</em>
|
||||||
|
<ul>
|
||||||
|
<li>record audio: for audio messages</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Storage <em>(can be disallowed)</em>
|
||||||
|
<ul>
|
||||||
|
<li>modify or delete the contents of your SD card: to download message attachments</li>
|
||||||
|
<li>read the contents of your SD card: to share files with your contacts</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Other app capabilities
|
||||||
|
<ul>
|
||||||
|
<li>change your audio settings: so you can choose ring tones and volume for notifications and audio messages</li>
|
||||||
|
<li>run at startup: so you don’t have to start Delta Chat manually</li>
|
||||||
|
<li>control vibration: for notifications</li>
|
||||||
|
<li>view network connections: to connect to your E-Mail provider</li>
|
||||||
|
<li>prevent phone from sleeping: so you can easier copy the security code during the Autocrypt Setup Message</li>
|
||||||
|
<li>have full network access: to connect to your E-Mail provider</li>
|
||||||
|
<li>view Wi-Fi connections: to connect to your E-Mail provider</li>
|
||||||
|
<li>ask to ignore battery optimisations: for users who want to receive messages all the time</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="groups">
|
||||||
|
|
||||||
|
|
||||||
|
Groups <a href="#groups" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<h3 id="creation-of-a-group">
|
||||||
|
|
||||||
|
|
||||||
|
Creation of a group <a href="#creation-of-a-group" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select <strong>Add group</strong> from the “Sandwich menu” in the upper right corner of the chat overview.</li>
|
||||||
|
<li>On the following screen, select the <strong>group members</strong> and hit the check mark in the upper right corner. After that, you can define a <strong>group name</strong>.</li>
|
||||||
|
<li>As soon as you write the <strong>first message</strong> in the group, all members are informed about the new group and can answer in the group (as long as you do not write a message in the group the group is invisible to the members).</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="add-members-to-a-group">
|
||||||
|
|
||||||
|
|
||||||
|
Add members to a group <a href="#add-members-to-a-group" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Every group member has the <strong>same rights</strong> as any other. For this reason every one can delete every member or add new ones.</li>
|
||||||
|
<li>To add or delete members, click on the group name in the chat.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="what-is-a-verified-group-why-is-it-experimental">
|
||||||
|
|
||||||
|
|
||||||
|
What is a verified group? Why is it experimental? <a href="#what-is-a-verified-group-why-is-it-experimental" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>A verified group is a chat that gurantees safety against an active
|
||||||
|
attacker. All Messages in a verified chat view are e2e-encrypted, and
|
||||||
|
members can join by scanning a “QR invite code”. All members are thus
|
||||||
|
connected with each other through a chain of invites, which guarantee
|
||||||
|
cryptographic consistency against active network or provider attacks.
|
||||||
|
See https://countermitm.readthedocs.io/en/latest/new.html
|
||||||
|
for the R&D behind this feature.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>As of Dec 2019, a “verified group” remains an experimental feature.
|
||||||
|
It is continously improved and many bugs have been fixed since the
|
||||||
|
original introduction in 2018. However, there remain cases, especially
|
||||||
|
with large groups where inconsistencies can occure, or messages become
|
||||||
|
unreadable. Early 2020 a security review is upcoming, and several new
|
||||||
|
developments around qr-join protocols are taking place so chances
|
||||||
|
are we remove the “experimental” label not too far in the future.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="i-have-deleted-myself-by-accident">
|
||||||
|
|
||||||
|
|
||||||
|
I have deleted myself by accident. <a href="#i-have-deleted-myself-by-accident" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>As you’re no longer a group member, you cannot add yourself again.
|
||||||
|
However, no problem, just ask any other group member in a normal chat to re-add you.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="i-do-not-want-to-receive-the-messages-of-a-group-any-longer">
|
||||||
|
|
||||||
|
|
||||||
|
I do not want to receive the messages of a group any longer. <a href="#i-do-not-want-to-receive-the-messages-of-a-group-any-longer" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Either delete yourself from the member list or delete the whole chat.
|
||||||
|
If you want to join the group again later on, ask another group member to add you again.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>As an alternative, you can also “Mute” a group - doing so means you get all messages and
|
||||||
|
can still write, but are no longer notified of any new messages.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="encryption">
|
||||||
|
|
||||||
|
|
||||||
|
Encryption <a href="#encryption" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<h3 id="does-delta-chat-support-end-to-end-encryption">
|
||||||
|
|
||||||
|
|
||||||
|
Does Delta Chat support end-to-end-encryption? <a href="#does-delta-chat-support-end-to-end-encryption" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Yes. Delta Chat implements the Autocrypt Level 1 standard and can
|
||||||
|
thus E2E-encrypt messages with other Autocrypt-capable apps.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="what-do-i-have-to-do-to-activate-the-end-to-end-encryption">
|
||||||
|
|
||||||
|
|
||||||
|
What do I have to do to activate the end-to-end-encryption? <a href="#what-do-i-have-to-do-to-activate-the-end-to-end-encryption" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Nothing.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Delta Chat apps (and other <a href="https://autocrypt.org">Autocrypt</a>-compatible
|
||||||
|
e-mail apps) share the keys required for end-to-end-encryption automatically
|
||||||
|
as the first messages are sent.
|
||||||
|
After this, all subsequent messages are encrypted end-to-end automatically.
|
||||||
|
If one of the chat partners uses a non-Autocrypt e-mail app, subsequent
|
||||||
|
messages are not encrypted until an Autocrypt-compliant app is available again.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>If you want to <em>turn off</em> the end-to-end-encryption,
|
||||||
|
use the corresponding setting in “Settings / Advanced settings”.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="if-end-to-end-encryption-is-not-available-is-the-connection-not-encrypted-at-all">
|
||||||
|
|
||||||
|
|
||||||
|
If end-to-end-encryption is not available, is the connection not encrypted at all? <a href="#if-end-to-end-encryption-is-not-available-is-the-connection-not-encrypted-at-all" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>With most mail servers, Delta Chat establishes <em>transport encryption</em>
|
||||||
|
(<a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">TLS</a>).
|
||||||
|
This only secures the connection between your device and your e-mail
|
||||||
|
server. Whereas e2e-encryption provides safety between
|
||||||
|
your device and a friend’s device.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="how-can-i-verify-cryptographic-status-with-a-sender">
|
||||||
|
|
||||||
|
|
||||||
|
How can I verify cryptographic status with a sender? <a href="#how-can-i-verify-cryptographic-status-with-a-sender" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>The user’s profile shows some additional info:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Tap “QR Invite code” on Android and then use the “Scan QR code”
|
||||||
|
button on another device to scan this code. If both devices are online,
|
||||||
|
they will introduce a chat channel with each-other (if it doesn’t exist already)
|
||||||
|
and the encryption keys will also be verified. Both will see a
|
||||||
|
“sender verified” system message in their 1:1 chat.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>For end-to-end-encryption, Delta Chat shows two fingerprints there.
|
||||||
|
If the same fingerprints appears on your chat partner’s device,
|
||||||
|
the connection is safe.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>For transport encryption, this state is just shown there</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="how-can-i-check-the-encryption-of-messages">
|
||||||
|
|
||||||
|
|
||||||
|
How can I check the encryption of messages? <a href="#how-can-i-check-the-encryption-of-messages" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>If a little <strong>padlock</strong> is shown beside a message, this denotes the message is end-to-end-encrypted <em>and</em> is sent from the given sender <em>and</em> that your answer will be end-to-end-encrypted as well.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>If there is <strong>no padlock</strong>, the message is usually transported unencrypted e.g. because you or the sender have turned off end-to-end-encryption, or the sender uses an app without support for end-to-end-encryption.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="which-standards-are-used-for-end-to-end-encryption">
|
||||||
|
|
||||||
|
|
||||||
|
Which standards are used for end-to-end-encryption? <a href="#which-standards-are-used-for-end-to-end-encryption" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://autocrypt.org">Autocrypt</a> is used for establishing
|
||||||
|
e2e-encryption with other Delta Chat and other Autocrypt-capable mail apps.
|
||||||
|
Autocrypt uses a limited subset of OpenPGP functionality. Moreover,
|
||||||
|
Delta Chat implements the “countermitm” protocols to achieve
|
||||||
|
protection against active network attacks, going beyond the opportunistic
|
||||||
|
base protection of Autocrypt, see questions about “Verified Groups”.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="what-is-the-difference-between-verified-groups-and-11-chats-with-verified-contacts">
|
||||||
|
|
||||||
|
|
||||||
|
What is the difference between verified groups and 1:1 chats with verified contacts? <a href="#what-is-the-difference-between-verified-groups-and-11-chats-with-verified-contacts" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>1:1 chats with a verified contact and verified groups are not the same, even
|
||||||
|
if there are only 2 people in the verified group. One difference is that you
|
||||||
|
could easily add more people to the group, but there are other implications as
|
||||||
|
well.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Verified groups are invariably secured. Any breakage (cleartext or wrongly
|
||||||
|
signed messages etc.) will be flagged and such messages will not be shown in
|
||||||
|
this chat. You can trust all messages in this verified-checkmark chat to have
|
||||||
|
not been read/altered by middle parties.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>1:1 chats are opportunistic, it is meant to allow people to communicate no
|
||||||
|
matter if they change e-mail clients, devices, setups etc. That’s why there
|
||||||
|
is no verification checkmark, even if you have verified the contact.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="does-delta-chat-support-perfect-forward-secrecy">
|
||||||
|
|
||||||
|
|
||||||
|
Does Delta Chat support Perfect Forward Secrecy? <a href="#does-delta-chat-support-perfect-forward-secrecy" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>No, OpenPGP doesn’t support Perfect Forward Secrecy. Perfect Forward Secrecy
|
||||||
|
works session-oriented, but E-Mail is asynchronous by nature
|
||||||
|
and often used from multiple devices independently. This means that if your
|
||||||
|
Delta Chat private key is leaked, and someone has a record
|
||||||
|
of all your in-transit messages, they will be able to read them.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Note that if anyone has seized or hacked your running phone,
|
||||||
|
they will typically be able to read all messages, no matter if Perfect
|
||||||
|
Forward Secrecy is in place or not. Having access to a single device
|
||||||
|
from a member of a group, will typically a lot of the social graph.
|
||||||
|
Using e-mail addresses that are not easily tracked back to persons
|
||||||
|
helps group members to stay safer from the effects of device seizure.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>We are sketching ways to protect communications better against the event
|
||||||
|
of device seizure.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="how-does-delta-chat-protect-my-metadata">
|
||||||
|
|
||||||
|
|
||||||
|
How does Delta Chat protect my Metadata? <a href="#how-does-delta-chat-protect-my-metadata" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>As Delta Chat is a decentralized messenger, the metadata of Delta Chat users
|
||||||
|
are not stored on a single central server. However, they are stored on the mail
|
||||||
|
servers of the sender and the recipient of a message.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Each mail server currently know about who sent and who received a message by
|
||||||
|
inspecting the unencrypted To/Cc headers and thus determine which e-mail addresses
|
||||||
|
are part of a group. Delta Chat itself could avoid unencrypted To/Cc headers quite
|
||||||
|
and always put them only into the encrypted section. See
|
||||||
|
<a href="https://github.com/deltachat/deltachat-core-rust/issues/1032">Avoid sending To/CC headers for verified groups</a>.
|
||||||
|
For opportunistic chats the main concern is how it affects other mail apps who
|
||||||
|
might participate in chats.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Many other e-mail headers, in particular the “Subject” header, are
|
||||||
|
end-to-end-encryption protected, see also this upcoming <a href="https://datatracker.ietf.org/doc/draft-autocrypt-lamps-protected-headers/">IETF
|
||||||
|
RFC</a>.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="can-i-re-use-my-existing-private-key">
|
||||||
|
|
||||||
|
|
||||||
|
Can I re-use my existing private key? <a href="#can-i-re-use-my-existing-private-key" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Yes. The best way is to send an Autocrypt Setup Message from the other e-mail client. Look for something like <strong>Start Autocrypt Setup Transfer</strong> in the settings of the other client and follow the instructions shown there.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Alternatively, you can import the key manually in “Advanced settings / Manage private keys”. Caution: Make sure the key is not protected by a password, or remove the password beforehand.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>If you don’t have a key or don’t even know you would need one - don’t worry: Delta Chat generates one as needed, you don’t have to hit a button for it.</p>
|
||||||
|
|
||||||
|
<h3 id="i-cant-import-my-existing-pgp-key-into-delta-chat">
|
||||||
|
|
||||||
|
|
||||||
|
I can’t import my existing PGP key into Delta Chat. <a href="#i-cant-import-my-existing-pgp-key-into-delta-chat" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>With a very good chance, the problem is that your key is encrypted and/or uses
|
||||||
|
a password. Such keys are not supported by Delta Chat. You may remove the
|
||||||
|
passphrase encryption and the password and try the import again. If you want
|
||||||
|
to keep your passphrase you’ll have to create an e-mail alias for use
|
||||||
|
with Delta Chat such that Delta Chat’s key is tied to this e-mail alias.</p>
|
||||||
|
|
||||||
|
<p>Format wise, Delta Chat supports common OpenPGP private key formats, however, it
|
||||||
|
is unlikely that we will support 100% of all private keys of any sources. This
|
||||||
|
is also not the main focus of Delta Chat (in fact, the large majority of the
|
||||||
|
Delta Chat users will not have any key before they start using Delta).
|
||||||
|
However, we try to support private keys from other sources as good as possible.</p>
|
||||||
|
|
||||||
|
<p>Removing the password from the private key will be different, depending on the
|
||||||
|
software you use to manage your PGP keys. With Enigmail, you can set your
|
||||||
|
password to an empty value in the Key Management window. With GnuPG you can set
|
||||||
|
it <a href="https://github.com/deltachat/deltachat-android/issues/98#issuecomment-378383429">via the command
|
||||||
|
line</a>.
|
||||||
|
For other programs, you can find a solution online.</p>
|
||||||
|
|
||||||
|
<h3 id="why-dont-you-use-pep-pretty-easy-privacy">
|
||||||
|
|
||||||
|
|
||||||
|
Why don’t you use pEp (pretty easy privacy)? <a href="#why-dont-you-use-pep-pretty-easy-privacy" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Delta Chat uses the Autocrypt e2e-encryption standard. For
|
||||||
|
a discussion of Autocrypt and pEp, see the <a href="https://autocrypt.org/faq.html#how-does-autocrypt-differ-from-pep">Autocrypt
|
||||||
|
FAQ</a>.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="multiclient">
|
||||||
|
|
||||||
|
|
||||||
|
Multi-client <a href="#multiclient" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<h3 id="can-i-use-delta-chat-on-multiple-devices-at-the-same-time">
|
||||||
|
|
||||||
|
|
||||||
|
Can I use Delta Chat on multiple devices at the same time? <a href="#can-i-use-delta-chat-on-multiple-devices-at-the-same-time" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p>If you want to use the <strong>same account</strong> on different (Autocrypt
|
||||||
|
capable) devices, you have to sync their encryption capabilities:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>On the first device, choose “Advanced settings / Send Autocrypt Setup message”
|
||||||
|
and click until a “security number” is shown.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>On the other device, wait for the “Autocrypt Setup Message” to
|
||||||
|
arrive and click on it, which should prompt you for the security number.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>You are now synchronized, and can use both devices for
|
||||||
|
sending and receiving E2E-encrypted messages with your communication partners.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="miscellaneous">
|
||||||
|
|
||||||
|
|
||||||
|
Miscellaneous <a href="#miscellaneous" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<h3 id="does-delta-chat-work-with-my-e-mail-provider">
|
||||||
|
|
||||||
|
|
||||||
|
Does Delta Chat work with <em>my</em> e-mail-provider? <a href="#does-delta-chat-work-with-my-e-mail-provider" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>With a rather good chance: Yes :)<br />
|
||||||
|
However, some providers need special options to work properly; users have collected some of them in the forum at <a href="https://support.delta.chat/t/provider-overview/">Provider Overview</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="im-interested-in-the-technical-details-can-you-tell-me-more">
|
||||||
|
|
||||||
|
|
||||||
|
I’m interested in the technical details. Can you tell me more? <a href="#im-interested-in-the-technical-details-can-you-tell-me-more" class="anchor"></a>
|
||||||
|
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>See <a href="https://github.com/deltachat/deltachat-android/blob/master/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<p>
|
||||||
|
<a href="references">References</a> | <a href="imprint">Imprint</a>
|
||||||
|
| <a href="/de/gdpr-website">Privacy Policy</a>
|
||||||
|
<br>
|
||||||
|
<span class="desktoponly">Language:</span>
|
||||||
|
<a href="../ca/">CA</a> |
|
||||||
|
<a href="../de/">DE</a> |
|
||||||
|
<a href="../en/">EN</a> |
|
||||||
|
<a href="../es/">ES</a> |
|
||||||
|
<a href="../fr/">FR</a> |
|
||||||
|
<a href="../it/">IT</a> |
|
||||||
|
<a href="../nb/">NB</a> |
|
||||||
|
<a href="../pl/">PL</a> |
|
||||||
|
<a href="../pt/">PT</a> |
|
||||||
|
<a href="../ru/">RU</a> |
|
||||||
|
<a href="../sq/">SQ</a> |
|
||||||
|
<a href="../uk/">UK</a>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
© 2017-2019 Delta Chat contributors
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
12
res/layout/local_help_activity.xml
Normal file
12
res/layout/local_help_activity.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<WebView android:id="@+id/webview"
|
||||||
|
android:layout_width="match_parent" android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
17
res/menu/local_help.xml
Normal file
17
res/menu/local_help.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<item android:title="@string/global_menu_help_learn_desktop"
|
||||||
|
android:id="@+id/learn_more"
|
||||||
|
app:showAsAction="never"/>
|
||||||
|
|
||||||
|
<item android:title="@string/global_menu_help_contribute_desktop"
|
||||||
|
android:id="@+id/contribute"
|
||||||
|
app:showAsAction="never"/>
|
||||||
|
|
||||||
|
<item android:title="@string/global_menu_help_report_desktop"
|
||||||
|
android:id="@+id/report_issue"
|
||||||
|
app:showAsAction="never"/>
|
||||||
|
|
||||||
|
</menu>
|
|
@ -21,4 +21,7 @@
|
||||||
<item android:title="@string/menu_settings"
|
<item android:title="@string/menu_settings"
|
||||||
android:id="@+id/menu_settings" />
|
android:id="@+id/menu_settings" />
|
||||||
|
|
||||||
|
<item android:title="@string/menu_help"
|
||||||
|
android:id="@+id/menu_help" />
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
|
|
@ -251,11 +251,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
||||||
startActivity(new Intent(getActivity(), InviteActivity.class));
|
startActivity(new Intent(getActivity(), InviteActivity.class));
|
||||||
break;
|
break;
|
||||||
case PREFERENCE_CATEGORY_HELP:
|
case PREFERENCE_CATEGORY_HELP:
|
||||||
try {
|
startActivity(new Intent(getActivity(), LocalHelpActivity.class));
|
||||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.pref_help_url))));
|
|
||||||
} catch (ActivityNotFoundException e) {
|
|
||||||
Toast.makeText(getActivity(), R.string.no_browser_installed, Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
|
|
|
@ -194,12 +194,27 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||||
super.onOptionsItemSelected(item);
|
super.onOptionsItemSelected(item);
|
||||||
|
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.menu_new_chat: createChat(); return true;
|
case R.id.menu_new_chat:
|
||||||
case R.id.menu_settings: handleDisplaySettings(); return true;
|
createChat();
|
||||||
case R.id.menu_qr: handleQr(); return true;
|
return true;
|
||||||
case R.id.menu_deaddrop: handleDeaddrop(); return true;
|
case R.id.menu_settings:
|
||||||
case R.id.menu_global_map: handleShowMap(); return true;
|
startActivity(new Intent(this, ApplicationPreferencesActivity.class));
|
||||||
case android.R.id.home: onBackPressed(); return true;
|
return true;
|
||||||
|
case R.id.menu_help:
|
||||||
|
startActivity(new Intent(this, LocalHelpActivity.class));
|
||||||
|
return true;
|
||||||
|
case R.id.menu_qr:
|
||||||
|
new IntentIntegrator(this).setCaptureActivity(QrActivity.class).initiateScan();
|
||||||
|
return true;
|
||||||
|
case R.id.menu_deaddrop:
|
||||||
|
handleDeaddrop();
|
||||||
|
return true;
|
||||||
|
case R.id.menu_global_map:
|
||||||
|
handleShowMap();
|
||||||
|
return true;
|
||||||
|
case android.R.id.home:
|
||||||
|
onBackPressed();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -232,10 +247,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleQr() {
|
|
||||||
new IntentIntegrator(this).setCaptureActivity(QrActivity.class).initiateScan();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateConversation(int chatId) {
|
public void onCreateConversation(int chatId) {
|
||||||
openConversation(chatId, -1);
|
openConversation(chatId, -1);
|
||||||
|
@ -293,11 +304,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleDisplaySettings() {
|
|
||||||
Intent preferencesIntent = new Intent(this, ApplicationPreferencesActivity.class);
|
|
||||||
startActivity(preferencesIntent);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|
103
src/org/thoughtcrime/securesms/LocalHelpActivity.java
Normal file
103
src/org/thoughtcrime/securesms/LocalHelpActivity.java
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
package org.thoughtcrime.securesms;
|
||||||
|
|
||||||
|
import android.content.ActivityNotFoundException;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.webkit.WebView;
|
||||||
|
import android.webkit.WebViewClient;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.connect.ApplicationDcContext;
|
||||||
|
import org.thoughtcrime.securesms.connect.DcHelper;
|
||||||
|
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||||
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
|
public class LocalHelpActivity extends PassphraseRequiredActionBarActivity
|
||||||
|
{
|
||||||
|
private WebView webView;
|
||||||
|
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||||
|
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPreCreate() {
|
||||||
|
dynamicTheme.onCreate(this);
|
||||||
|
dynamicLanguage.onCreate(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle state, boolean ready) {
|
||||||
|
setContentView(R.layout.local_help_activity);
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setTitle(getString(R.string.menu_help));
|
||||||
|
|
||||||
|
webView = findViewById(R.id.webview);
|
||||||
|
webView.setWebViewClient(new WebViewClient(){
|
||||||
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||||
|
view.loadUrl(url);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
webView.loadUrl("file:///android_asset/help/en/help.html");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
dynamicTheme.onResume(this);
|
||||||
|
dynamicLanguage.onResume(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
|
MenuInflater inflater = this.getMenuInflater();
|
||||||
|
menu.clear();
|
||||||
|
|
||||||
|
inflater.inflate(R.menu.local_help, menu);
|
||||||
|
super.onPrepareOptionsMenu(menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
super.onOptionsItemSelected(item);
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case android.R.id.home:
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
case R.id.learn_more:
|
||||||
|
openOnlineUrl("https://delta.chat");
|
||||||
|
return true;
|
||||||
|
case R.id.contribute:
|
||||||
|
openOnlineUrl("https://github.com/deltachat/deltachat-android");
|
||||||
|
return true;
|
||||||
|
case R.id.report_issue:
|
||||||
|
openOnlineUrl("https://github.com/deltachat/deltachat-android/issues");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void openOnlineUrl(String url) {
|
||||||
|
try {
|
||||||
|
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
|
||||||
|
} catch (ActivityNotFoundException e) {
|
||||||
|
Toast.makeText(this, R.string.no_browser_installed, Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityResult(int reqCode, int resultCode, final Intent data) {
|
||||||
|
super.onActivityResult(reqCode, resultCode, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue