diff --git a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java index 1dd735a5..1bcc23da 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java +++ b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java @@ -97,8 +97,9 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig public static final String TELEGRAM_GROUP_NAME = "PCAPdroid"; public static final String GITHUB_PROJECT_URL = "https://github.com/emanuele-f/PCAPdroid"; - public static final String GITHUB_DOCS_URL = "https://emanuele-f.github.io/PCAPdroid"; + public static final String DOCS_URL = "https://emanuele-f.github.io/PCAPdroid"; public static final String DONATE_URL = "https://emanuele-f.github.io/PCAPdroid/donate"; + public static final String MALWARE_DETECTION_DOCS_URL = DOCS_URL + "/paid_features#51-malware-detection"; private final ActivityResultLauncher pcapFileLauncher = registerForActivityResult(new StartActivityForResult(), this::pcapFileResult); @@ -352,7 +353,7 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig } else if (id == R.id.action_open_telegram) { openTelegram(); } else if (id == R.id.action_open_user_guide) { - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(GITHUB_DOCS_URL)); + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(DOCS_URL)); startActivity(browserIntent); } else if (id == R.id.action_stats) { if(mState == AppState.running) { diff --git a/app/src/main/java/com/emanuelef/remote_capture/fragments/MalwareStatusFragment.java b/app/src/main/java/com/emanuelef/remote_capture/fragments/MalwareStatusFragment.java index b5f41cf7..3a515d3a 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/fragments/MalwareStatusFragment.java +++ b/app/src/main/java/com/emanuelef/remote_capture/fragments/MalwareStatusFragment.java @@ -21,10 +21,14 @@ package com.emanuelef.remote_capture.fragments; import android.content.Context; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.Button; @@ -42,6 +46,8 @@ import com.emanuelef.remote_capture.PCAPdroid; import com.emanuelef.remote_capture.R; import com.emanuelef.remote_capture.Utils; import com.emanuelef.remote_capture.activities.ConnectionsActivity; +import com.emanuelef.remote_capture.activities.MainActivity; +import com.emanuelef.remote_capture.adapters.ListEditAdapter; import com.emanuelef.remote_capture.model.Blacklists; import com.emanuelef.remote_capture.model.FilterDescriptor; @@ -63,6 +69,7 @@ public class MalwareStatusFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + setHasOptionsMenu(true); return inflater.inflate(R.layout.malware_detection_status, container, false); } @@ -108,6 +115,24 @@ public class MalwareStatusFragment extends Fragment { mHandler.removeCallbacksAndMessages(null); } + @Override + public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) { + inflater.inflate(R.menu.docs_menu, menu); + } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + int id = item.getItemId(); + + if(id == R.id.user_guide) { + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(MainActivity.MALWARE_DETECTION_DOCS_URL)); + startActivity(browserIntent); + return true; + } + + return false; + } + private void updateStatus() { Context ctx = requireContext(); ConnectionsRegister reg = CaptureService.getConnsRegister(); diff --git a/app/src/main/res/menu/docs_menu.xml b/app/src/main/res/menu/docs_menu.xml new file mode 100644 index 00000000..02a36d32 --- /dev/null +++ b/app/src/main/res/menu/docs_menu.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 2be90752..da828cda 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -156,7 +156,7 @@ Connessioni malevole Sicurezza Rilevamento Malware - Rileva le connessioni a host malevoli tramite blacklist di terze parti. Il rilevamento potrebbe genare falsi positivi e non sostituisce un antivirus. + Rileva le connessioni a host malevoli tramite blacklist di terze parti. Reimposta Whitelist Malware Regole della Whitelist Malware diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index ecdf4905..10096eef 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -157,7 +157,7 @@ Вредоносные соединения Безопасность Обнаружение вредоносных соединений - Обнаружение соединений с известными вредоносными хостами на основе использования сторонних черных списков. Данная опция может давать ложные срабатывания и не является альтернативой антивирусам. + Обнаружение соединений с известными вредоносными хостами на основе использования сторонних черных списков. Сбросить Белый список вредоносов Правила игнорирования вредоносов diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index dee3a692..7f174b01 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -167,7 +167,7 @@ 恶意连接 安全 恶意软件检测 - 通过第三方黑名单检测到已知恶意主机的连接。这种检测可能产生误报,并不是反病毒软件的有效替代方案。 + 通过第三方黑名单检测到已知恶意主机的连接。 重置 恶意软件白名单 恶意软件白名单规则 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2a8f40f8..d4c8eb06 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -182,7 +182,7 @@ Malicious connections Security Malware Detection - Detect connections to known malicious hosts via third-party blacklists. The detection can produce false positives and is not a valid alternative to an antivirus. + Detect connections to known malicious hosts via third-party blacklists. Reset Malware Whitelist Malware Whitelist Rules @@ -233,5 +233,5 @@ Some blacklists are outdated Update now Updating… - - + Learn more about the malware detection feature + \ No newline at end of file diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 9474ca38..51147f34 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -120,6 +120,14 @@ app:iconSpaceReserved="false" app:summary="@string/malware_detection_summary" app:defaultValue="false" /> + + + +