aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/Compatibility.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/Compatibility.java')
-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 38f9db378..c8922e18b 100644
--- a/src/main/java/de/pixart/messenger/utils/Compatibility.java
+++ b/src/main/java/de/pixart/messenger/utils/Compatibility.java
@@ -1,6 +1,7 @@
package de.pixart.messenger.utils;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -11,15 +12,19 @@ import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
import android.support.annotation.BoolRes;
import android.support.v4.content.ContextCompat;
+import android.util.Log;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import de.pixart.messenger.Config;
import de.pixart.messenger.R;
import de.pixart.messenger.ui.SettingsActivity;
import de.pixart.messenger.ui.SettingsFragment;
+import static de.pixart.messenger.services.EventReceiver.EXTRA_NEEDS_FOREGROUND_SERVICE;
+
public class Compatibility {
private static final List<String> UNUSED_SETTINGS_POST_TWENTYSIX = Arrays.asList(
SettingsActivity.SHOW_FOREGROUND_SERVICE,
@@ -102,4 +107,17 @@ public class Compatibility {
}
}
}
+
+ public static void startService(Context context, Intent intent) {
+ try {
+ if (Compatibility.runsAndTargetsTwentySix(context)) {
+ intent.putExtra(EXTRA_NEEDS_FOREGROUND_SERVICE, true);
+ ContextCompat.startForegroundService(context, intent);
+ } else {
+ context.startService(intent);
+ }
+ } catch (RuntimeException e) {
+ Log.d(Config.LOGTAG, context.getClass().getSimpleName() + " was unable to start service");
+ }
+ }
} \ No newline at end of file