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 <tad@spotco.us>
This commit is contained in:
Tad 2023-12-25 20:33:22 -05:00
parent 945489fbb0
commit 5b423016dc
No known key found for this signature in database
GPG key ID: B286E9F57A07424B
3 changed files with 6 additions and 2 deletions

View file

@ -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'
}

View file

@ -9,6 +9,7 @@
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />

View file

@ -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);