summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-05-03 15:22:31 +0300
committerAndrew Dolgov <[email protected]>2018-05-03 15:22:31 +0300
commit78f5c81fc58b3293593511c319bba641697d838f (patch)
treee90c31c87ee6fffb83c370641c530a88a2911a68 /org.fox.ttrss/src/main/java/org
parent66255407f6737522eb4bcfeeec770761af03b14f (diff)
add workaround for android 8.0 disallowing starting services in background
Diffstat (limited to 'org.fox.ttrss/src/main/java/org')
-rwxr-xr-x[-rw-r--r--]org.fox.ttrss/src/main/java/org/fox/ttrss/tasker/TaskerReceiver.java18
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java13
2 files changed, 22 insertions, 9 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/tasker/TaskerReceiver.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/tasker/TaskerReceiver.java
index 0bac722a..52c600bf 100644..100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/tasker/TaskerReceiver.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/tasker/TaskerReceiver.java
@@ -4,6 +4,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
@@ -43,8 +44,12 @@ public class TaskerReceiver extends BroadcastReceiver {
OfflineDownloadService.class);
intent.putExtra("sessionId", sessionId);
intent.putExtra("batchMode", true);
-
- fContext.startService(intent);
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ fContext.startForegroundService(intent);
+ } else {
+ fContext.startService(intent);
+ }
}
break;
case TaskerSettingsActivity.ACTION_UPLOAD:
@@ -53,8 +58,13 @@ public class TaskerReceiver extends BroadcastReceiver {
OfflineUploadService.class);
intent.putExtra("sessionId", sessionId);
intent.putExtra("batchMode", true);
-
- fContext.startService(intent);
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ fContext.startForegroundService(intent);
+ } else {
+ fContext.startService(intent);
+ }
+
}
break;
default:
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java
index efb0fcf1..d54d4422 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/widget/WidgetUpdateService.java
@@ -6,6 +6,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
+import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.preference.PreferenceManager;
@@ -43,10 +44,7 @@ public class WidgetUpdateService extends Service {
// if no network is available networkInfo will be null
// otherwise check if we are connected
- if (networkInfo != null && networkInfo.isConnected()) {
- return true;
- }
- return false;
+ return networkInfo != null && networkInfo.isConnected();
}
@Override
@@ -67,7 +65,12 @@ public class WidgetUpdateService extends Service {
public void run() {
Intent serviceIntent = new Intent(getApplicationContext(), WidgetUpdateService.class);
serviceIntent.putExtra("retryCount", retryCount + 1);
- startService(serviceIntent);
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ startForegroundService(serviceIntent);
+ } else {
+ startService(serviceIntent);
+ }
}
}, 3 * 1000);