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" />