diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4c30819..b25683e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,7 @@
package="us.spotco.veritas">
+
filesToScan = new ArrayList();
+ Set filesToScan = new HashSet<>();
if (scanSystem) {
filesToScan.addAll(getFilesRecursive(Environment.getRootDirectory()));
}
if (scanApps) {
- //TODO
+ for(ApplicationInfo packageInfo : context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA)) {
+ filesToScan.add(new File(packageInfo.sourceDir));
+ }
}
if (scanInternal) {
filesToScan.addAll(getFilesRecursive(Environment.getExternalStorageDirectory()));
}
- if (scanExternal && Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
- //TODO
+ if (scanExternal) {
+ filesToScan.addAll(getFilesRecursive(new File("/storage")));
}
publishProgress(filesToScan.size() + " files pending scan");
@@ -95,14 +101,14 @@ public class MalwareScanner {
}
- private ArrayList getFilesRecursive(File root) {
- ArrayList filesAll = new ArrayList();
+ private Set getFilesRecursive(File root) {
+ Set filesAll = new HashSet<>();
File[] files = root.listFiles();
if (files != null && files.length > 0) {
for (File f : files) {
if (f.isDirectory()) {
- ArrayList filesTmp = getFilesRecursive(f);
+ Set filesTmp = getFilesRecursive(f);
if (filesTmp != null) {
filesAll.addAll(filesTmp);
}
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
index 6d9c1b1..6910019 100644
--- a/app/src/main/res/menu/menu_main.xml
+++ b/app/src/main/res/menu/menu_main.xml
@@ -27,6 +27,6 @@
android:id="@+id/mnuScanExternal"
android:title="@string/lblScanExternal"
android:checkable="true"
- android:checked="true" />
+ android:checked="false" />