From 5b423016dc71b2516e26a0278ae960f57edbed3d Mon Sep 17 00:00:00 2001 From: Tad Date: Mon, 25 Dec 2023 20:33:22 -0500 Subject: [PATCH] Small crash fix Tested on Android 7.1.2, 8.1.0, 10, 11, and 13: - Install app - Update databases - Write test files - Enable system scan - Run a scan - Check signature count - Enable realtime scanner - Write test files - Ignore a detection - Look up a detection - Delete a detection - Copy file over MTP and confirm detection Signed-off-by: Tad --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 1 + app/src/main/java/us/spotco/malwarescanner/MainActivity.java | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 329b974..f43abd1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,7 +6,7 @@ android { applicationId "us.spotco.malwarescanner" minSdkVersion 19 targetSdkVersion 32 - versionCode 121 + versionCode 122 versionName "3.0" resConfigs 'en', 'af', 'de', 'el', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru', 'tr', 'zh-rCN' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5d5cd0d..54edc91 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,7 @@ + diff --git a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java index f2472f8..51b2ccc 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java +++ b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java @@ -110,6 +110,9 @@ public class MainActivity extends Activity { if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_PERMISSION_EXTERNAL_STORAGE); } + if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_PERMISSION_EXTERNAL_STORAGE); + } } if (SDK_INT >= Build.VERSION_CODES.R) { if (!Environment.isExternalStorageManager()) { @@ -299,7 +302,7 @@ public class MainActivity extends Activity { } catch (InterruptedException e) { throw new RuntimeException(e); } - logView.append(getString(R.string.lblDatabasesUpdated) + "\n"); + runOnUiThread(() -> logView.append(getString(R.string.lblDatabasesUpdated) + "\n")); if (Database.isDatabaseLoaded()) { Log.w("Hypatia", "Really reloading database!"); Database.loadDatabase(getApplicationContext(), true, Database.signatureDatabases);