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" applicationId "us.spotco.malwarescanner"
minSdkVersion 19 minSdkVersion 19
targetSdkVersion 32 targetSdkVersion 32
versionCode 121 versionCode 122
versionName "3.0" versionName "3.0"
resConfigs 'en', 'af', 'de', 'el', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru', 'tr', 'zh-rCN' 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" <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" /> tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <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.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" /> tools:ignore="QueryAllPackagesPermission" />

View file

@ -110,6 +110,9 @@ public class MainActivity extends Activity {
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_PERMISSION_EXTERNAL_STORAGE); 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 (SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) { if (!Environment.isExternalStorageManager()) {
@ -299,7 +302,7 @@ public class MainActivity extends Activity {
} catch (InterruptedException e) { } catch (InterruptedException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
logView.append(getString(R.string.lblDatabasesUpdated) + "\n"); runOnUiThread(() -> logView.append(getString(R.string.lblDatabasesUpdated) + "\n"));
if (Database.isDatabaseLoaded()) { if (Database.isDatabaseLoaded()) {
Log.w("Hypatia", "Really reloading database!"); Log.w("Hypatia", "Really reloading database!");
Database.loadDatabase(getApplicationContext(), true, Database.signatureDatabases); Database.loadDatabase(getApplicationContext(), true, Database.signatureDatabases);