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