aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils')
-rw-r--r--src/main/java/de/pixart/messenger/utils/Compatibility.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/Compatibility.java b/src/main/java/de/pixart/messenger/utils/Compatibility.java
index c8922e18b..728c6298a 100644
--- a/src/main/java/de/pixart/messenger/utils/Compatibility.java
+++ b/src/main/java/de/pixart/messenger/utils/Compatibility.java
@@ -42,6 +42,10 @@ public class Compatibility {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O;
}
+ public static boolean runsTwentyFour() {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N;
+ }
+
public static boolean twentyEight() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.P;
}
@@ -66,10 +70,24 @@ public class Compatibility {
}
}
+ private static boolean targetsTwentyFour(Context context) {
+ try {
+ final PackageManager packageManager = context.getPackageManager();
+ final ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0);
+ return applicationInfo == null || applicationInfo.targetSdkVersion >= 24;
+ } catch (PackageManager.NameNotFoundException | RuntimeException e) {
+ return true; //when in doubt…
+ }
+ }
+
public static boolean runsAndTargetsTwentySix(Context context) {
return runsTwentySix() && targetsTwentySix(context);
}
+ public static boolean runsAndTargetsTwentyFour(Context context) {
+ return runsTwentyFour() && targetsTwentyFour(context);
+ }
+
public static boolean keepForegroundService(Context context) {
return runsTwentySix() || getBooleanPreference(context, SettingsActivity.SHOW_FOREGROUND_SERVICE, R.bool.show_foreground_service);
}