diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 3d70a54..8ddc59f 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/README.md b/README.md index b48a90f..2cc64a6 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ Credits - ClamAV for the databases (GPLv2) - ESET for extra databases (BSD 2-Clause) - RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc., Bartek Przybylski -- Petra Mirelli for the German translations and the app banner/feature graphic. +- Petra Mirelli for the German translations, the app banner/feature graphic, and various tweaks. - Jean-Luc Tibaux and Petra Mirelli for the French translations. - Icons: Google/Android/AOSP, License: Apache 2.0, https://google.github.io/material-design-icons/ diff --git a/app/build.gradle b/app/build.gradle index 95a26c3..77c56f9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,7 +6,7 @@ android { applicationId "us.spotco.malwarescanner" minSdkVersion 16 targetSdkVersion 30 - versionCode 60 + versionCode 61 versionName "2.16" resConfigs "en", "de", "fr" } diff --git a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java index 22974c2..fa2013c 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java +++ b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java @@ -142,6 +142,20 @@ public class MainActivity extends AppCompatActivity { } } + private void showCredits() { + Dialog creditsDialog; + AlertDialog.Builder creditsBuilder = new AlertDialog.Builder(this); + creditsBuilder.setTitle(getString(R.string.lblFullCredits)); + creditsBuilder.setItems(R.array.fullCredits, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + //do nothing + } + }); + creditsDialog = creditsBuilder.create(); + creditsDialog.show(); + } + private void selectDatabases() { final String[] databases = {"ClamAV: Android Only (GPL-2.0)", "ClamAV: Main (GPL-2.0)", "ClamAV: Daily [MASSIVE] (GPL-2.0)", "ESET (BSD 2-Clause)", "Extra (unused)"}; final boolean[] databaseDefaults = { @@ -151,17 +165,17 @@ public class MainActivity extends AppCompatActivity { prefs.getBoolean("SIGNATURES_ESET", true), prefs.getBoolean("SIGNATURES_EXTRA", false)}; - Dialog dialog; - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.lblSelectDatabasesTitle); + Dialog databaseDialog; + AlertDialog.Builder databaseBuilder = new AlertDialog.Builder(this); + databaseBuilder.setTitle(R.string.lblSelectDatabasesTitle); - builder.setMultiChoiceItems(databases, databaseDefaults, new DialogInterface.OnMultiChoiceClickListener() { + databaseBuilder.setMultiChoiceItems(databases, databaseDefaults, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i, boolean selected) { databaseDefaults[i] = selected; } }); - builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { + databaseBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { prefs.edit().putBoolean("SIGNATURES_CLAMAV-ANDROID", databaseDefaults[0]).apply(); @@ -172,8 +186,8 @@ public class MainActivity extends AppCompatActivity { } }); - dialog = builder.create(); - dialog.show(); + databaseDialog = databaseBuilder.create(); + databaseDialog.show(); } @Override @@ -231,6 +245,9 @@ public class MainActivity extends AppCompatActivity { scanExternal = !item.isChecked(); item.setChecked(scanExternal); break; + case R.id.mnuFullCredits: + showCredits(); + break; } return super.onOptionsItemSelected(item); } diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 3ff8da4..e46cf6c 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -36,5 +36,8 @@ android:title="@string/lblScanExternal" android:checkable="true" android:checked="false" /> + diff --git a/app/src/main/res/values-de/arrays.xml b/app/src/main/res/values-de/arrays.xml new file mode 100644 index 0000000..55344e5 --- /dev/null +++ b/app/src/main/res/values-de/arrays.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/values-fr/arrays.xml b/app/src/main/res/values-fr/arrays.xml new file mode 100644 index 0000000..55344e5 --- /dev/null +++ b/app/src/main/res/values-fr/arrays.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml new file mode 100644 index 0000000..595266e --- /dev/null +++ b/app/src/main/res/values/arrays.xml @@ -0,0 +1,11 @@ + + + + • Petra Mirelli: German + French Translations, App Banner, Small Tweaks + • Jean-Luc Tibaux: French Translations + • ClamAV by Cisco: Signature Databases + • ESET: Signature Databases + • RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski + • Google: App Icon + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7927b28..60eae76 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -12,6 +12,7 @@ Update databases Select databases Select databases to enable + Credits Scan /system Scan App APKs Scan Internal Storage