diff --git a/app/src/androidTest/java/com/beemdevelopment/aegis/AegisTest.java b/app/src/androidTest/java/com/beemdevelopment/aegis/AegisTest.java index 806a724c..f2a59ed8 100644 --- a/app/src/androidTest/java/com/beemdevelopment/aegis/AegisTest.java +++ b/app/src/androidTest/java/com/beemdevelopment/aegis/AegisTest.java @@ -1,6 +1,7 @@ package com.beemdevelopment.aegis; import android.Manifest; +import android.os.Build; import android.view.View; import androidx.annotation.Nullable; @@ -29,6 +30,7 @@ import java.lang.reflect.InvocationTargetException; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; import java.util.List; import javax.crypto.NoSuchPaddingException; @@ -45,7 +47,7 @@ public abstract class AegisTest { public HiltAndroidRule hiltRule = new HiltAndroidRule(this); @Rule - public final GrantPermissionRule permRule = GrantPermissionRule.grant(Manifest.permission.POST_NOTIFICATIONS); + public final GrantPermissionRule permRule = getGrantPermissionRule(); @Inject protected VaultManager _vaultManager; @@ -58,6 +60,14 @@ public abstract class AegisTest { hiltRule.inject(); } + private static GrantPermissionRule getGrantPermissionRule() { + List perms = new ArrayList<>(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + perms.add(Manifest.permission.POST_NOTIFICATIONS); + } + return GrantPermissionRule.grant(perms.toArray(new String[0])); + } + protected AegisApplicationBase getApp() { return (AegisApplicationBase) InstrumentationRegistry.getInstrumentation().getTargetContext().getApplicationContext(); } diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java index d476025c..41fb1014 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/AuthActivity.java @@ -94,7 +94,7 @@ public class AuthActivity extends AegisActivity { // A persistent notification is shown to let the user know that the vault is unlocked. Permission // to do so is required since API 33, so for existing users, we have to request permission here // in order to be able to show the notification after unlock. - if (Build.VERSION.SDK_INT >= 33) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { PermissionHelper.request(this, CODE_PERM_NOTIFICATIONS, Manifest.permission.POST_NOTIFICATIONS); } } else { diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/IntroActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/IntroActivity.java index 8c85d7fb..520ddbeb 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/IntroActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/IntroActivity.java @@ -81,7 +81,7 @@ public class IntroActivity extends IntroBaseActivity { // If the user has enabled encryption, we need to request permission to show notifications // in order to be able to show the "Vault unlocked" notification. if (newSlide == DoneSlide.class && getState().getSerializable("creds") != null) { - if (Build.VERSION.SDK_INT >= 33) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { PermissionHelper.request(this, CODE_PERM_NOTIFICATIONS, Manifest.permission.POST_NOTIFICATIONS); } }