mirror of https://github.com/M66B/FairEmail.git
Added VirusTotal info button
This commit is contained in:
parent
1aec924211
commit
fd6b9b101f
21
FAQ.md
21
FAQ.md
|
@ -383,6 +383,7 @@ Fonts, sizes, colors, etc should be material design whenever possible.
|
||||||
* [(178) Why are widgets not updating?](#user-content-faq178)
|
* [(178) Why are widgets not updating?](#user-content-faq178)
|
||||||
* [(179) What are reply templates?](#user-content-faq179)
|
* [(179) What are reply templates?](#user-content-faq179)
|
||||||
* [(180) How do I use LanguageTool?](#user-content-faq180)
|
* [(180) How do I use LanguageTool?](#user-content-faq180)
|
||||||
|
* [(181) How do I use VirusTotal?](#user-content-faq181)
|
||||||
|
|
||||||
[I have another question.](#user-content-get-support)
|
[I have another question.](#user-content-get-support)
|
||||||
|
|
||||||
|
@ -4845,7 +4846,7 @@ Templates can have the following options:
|
||||||
<a name="faq180"></a>
|
<a name="faq180"></a>
|
||||||
**(180) How do I use LanguageTool?**
|
**(180) How do I use LanguageTool?**
|
||||||
|
|
||||||
LanguageTool need to be enabled in the miscellaneous settings.
|
LanguageTool integration needs to be enabled in the miscellaneous settings.
|
||||||
|
|
||||||
After writing some text, you can long press on the save draft button to perform a grammar, style, and spell check via [LanguageTool](https://languagetool.org/).
|
After writing some text, you can long press on the save draft button to perform a grammar, style, and spell check via [LanguageTool](https://languagetool.org/).
|
||||||
Texts with suggestions will be marked and if you tap on a marked suggestion,
|
Texts with suggestions will be marked and if you tap on a marked suggestion,
|
||||||
|
@ -4854,6 +4855,24 @@ else you can double tap or long press the marked text to show suggestions.
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
<a name="faq181"></a>
|
||||||
|
**(181) How do I use VirusTotal?**
|
||||||
|
|
||||||
|
VirusTotal integration needs to be enabled in the miscellaneous settings.
|
||||||
|
This will show a *scan* icon button for each attachment.
|
||||||
|
|
||||||
|
Without entering an API key, tapping on the scan button will calculate the SHA-256 hash of the attached file and open the corresponding file report on the VirusTotal website.
|
||||||
|
If the file is not known by VirusTotal ("*Item not found*"), it is probably okay, unless it contains a new virus not being detected by virus scanners yet.
|
||||||
|
|
||||||
|
With entering an API key, there will be a dialog showing the number of virus scanners detecting the file.
|
||||||
|
Tapping on the info button will open the corresponding file report on the VirusTotal website.
|
||||||
|
|
||||||
|
To get an API key, you'll need to register on the VirusTotal website.
|
||||||
|
|
||||||
|
This feature was added in version 1.1941 and is available in non Play store versions only.
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
<h2><a name="get-support"></a>Get support</h2>
|
<h2><a name="get-support"></a>Get support</h2>
|
||||||
|
|
||||||
🌎 [Google Translate](https://translate.google.com/translate?sl=en&u=https://github.com/M66B/FairEmail/blob/master/FAQ.md%23user-content-get-support)
|
🌎 [Google Translate](https://translate.google.com/translate?sl=en&u=https://github.com/M66B/FairEmail/blob/master/FAQ.md%23user-content-get-support)
|
||||||
|
|
|
@ -124,6 +124,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||||
private ImageButton ibDeepL;
|
private ImageButton ibDeepL;
|
||||||
private SwitchCompat swVirusTotal;
|
private SwitchCompat swVirusTotal;
|
||||||
private TextView tvVirusTotalPrivacy;
|
private TextView tvVirusTotalPrivacy;
|
||||||
|
private ImageButton ibVirusTotal;
|
||||||
private EditText etVirusTotal;
|
private EditText etVirusTotal;
|
||||||
private SwitchCompat swUpdates;
|
private SwitchCompat swUpdates;
|
||||||
private ImageButton ibChannelUpdated;
|
private ImageButton ibChannelUpdated;
|
||||||
|
@ -314,6 +315,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||||
ibDeepL = view.findViewById(R.id.ibDeepL);
|
ibDeepL = view.findViewById(R.id.ibDeepL);
|
||||||
swVirusTotal = view.findViewById(R.id.swVirusTotal);
|
swVirusTotal = view.findViewById(R.id.swVirusTotal);
|
||||||
tvVirusTotalPrivacy = view.findViewById(R.id.tvVirusTotalPrivacy);
|
tvVirusTotalPrivacy = view.findViewById(R.id.tvVirusTotalPrivacy);
|
||||||
|
ibVirusTotal = view.findViewById(R.id.ibVirusTotal);
|
||||||
etVirusTotal = view.findViewById(R.id.etVirusTotal);
|
etVirusTotal = view.findViewById(R.id.etVirusTotal);
|
||||||
swUpdates = view.findViewById(R.id.swUpdates);
|
swUpdates = view.findViewById(R.id.swUpdates);
|
||||||
ibChannelUpdated = view.findViewById(R.id.ibChannelUpdated);
|
ibChannelUpdated = view.findViewById(R.id.ibChannelUpdated);
|
||||||
|
@ -659,6 +661,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ibVirusTotal.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
Helper.viewFAQ(v.getContext(), 181);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
etVirusTotal.addTextChangedListener(new TextWatcher() {
|
etVirusTotal.addTextChangedListener(new TextWatcher() {
|
||||||
@Override
|
@Override
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
|
|
@ -416,6 +416,17 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/swVirusTotal" />
|
app:layout_constraintTop_toBottomOf="@id/swVirusTotal" />
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/ibVirusTotal"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:contentDescription="@string/title_info"
|
||||||
|
android:tooltipText="@string/title_info"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tvVirusTotalPrivacy"
|
||||||
|
app:srcCompat="@drawable/twotone_info_24" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/etVirusTotal"
|
android:id="@+id/etVirusTotal"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
@ -426,7 +437,7 @@
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tvVirusTotalPrivacy" />
|
app:layout_constraintTop_toBottomOf="@id/ibVirusTotal" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/swUpdates"
|
android:id="@+id/swUpdates"
|
||||||
|
@ -587,7 +598,7 @@
|
||||||
android:id="@+id/grpVirusTotal"
|
android:id="@+id/grpVirusTotal"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
app:constraint_referenced_ids="swVirusTotal,tvVirusTotalPrivacy,etVirusTotal" />
|
app:constraint_referenced_ids="swVirusTotal,tvVirusTotalPrivacy,ibVirusTotal,etVirusTotal" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Group
|
<androidx.constraintlayout.widget.Group
|
||||||
android:id="@+id/grpUpdates"
|
android:id="@+id/grpUpdates"
|
||||||
|
|
Loading…
Reference in New Issue