From e7bc6ba8d1f8901990b9cdfa8a751ff0a26d6b63 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Tue, 11 Jan 2022 00:27:00 +0100 Subject: [PATCH] Fix tests execution --- .../main/java/com/emanuelef/remote_capture/PCAPdroid.java | 2 +- app/src/main/java/com/emanuelef/remote_capture/Utils.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java b/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java index bfea5636..782ccb60 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java +++ b/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java @@ -64,7 +64,7 @@ public class PCAPdroid extends Application { CaocConfig.Builder builder = CaocConfig.Builder.create(); if((buildtp == Utils.BuildType.PLAYSTORE) || (buildtp == Utils.BuildType.UNKNOWN)) { - // Disabled to get reports via the Android system reporting facility + // Disabled to get reports via the Android system reporting facility and for unsupported builds builder.enabled(false); } else { builder.errorDrawable(R.drawable.ic_app_crash) diff --git a/app/src/main/java/com/emanuelef/remote_capture/Utils.java b/app/src/main/java/com/emanuelef/remote_capture/Utils.java index 07a3dd88..8f086df4 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/Utils.java +++ b/app/src/main/java/com/emanuelef/remote_capture/Utils.java @@ -888,6 +888,7 @@ public class Utils { return false; } + @SuppressWarnings("deprecation") public static BuildType getBuildType(Context ctx) { try { Signature[] signatures; @@ -895,13 +896,14 @@ public class Utils { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { // NOTE: PCAPdroid does not use multiple signatures PackageInfo pInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNING_CERTIFICATES); - signatures = pInfo.signingInfo.getSigningCertificateHistory(); + signatures = (pInfo.signingInfo == null) ? null : pInfo.signingInfo.getSigningCertificateHistory(); } else { PackageInfo pInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES); signatures = pInfo.signatures; } - if(signatures.length < 1) + // can be null in robolectric tests + if((signatures == null) || (signatures.length < 1)) return BuildType.UNKNOWN; MessageDigest sha1 = MessageDigest.getInstance("SHA");