diff options
Diffstat (limited to 'src/org/fox/ttrss/offline/OfflineDownloadService.java')
| -rw-r--r-- | src/org/fox/ttrss/offline/OfflineDownloadService.java | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/org/fox/ttrss/offline/OfflineDownloadService.java b/src/org/fox/ttrss/offline/OfflineDownloadService.java index eb9a802e..b2e3ecb0 100644 --- a/src/org/fox/ttrss/offline/OfflineDownloadService.java +++ b/src/org/fox/ttrss/offline/OfflineDownloadService.java @@ -464,15 +464,23 @@ public class OfflineDownloadService extends Service { @Override
public void onStart(Intent intent, int startId) {
- m_sessionId = intent.getStringExtra("sessionId");
+ try {
+ if (getWritableDb().isDbLockedByCurrentThread() || getWritableDb().isDbLockedByOtherThreads()) {
+ return;
+ }
+
+ m_sessionId = intent.getStringExtra("sessionId");
- if (!m_downloadInProgress) {
- if (m_downloadImages) ImageCacheService.cleanupCache(false);
+ if (!m_downloadInProgress) {
+ if (m_downloadImages) ImageCacheService.cleanupCache(false);
- updateNotification(R.string.notify_downloading_init);
- m_downloadInProgress = true;
+ updateNotification(R.string.notify_downloading_init);
+ m_downloadInProgress = true;
- downloadCategories();
+ downloadCategories();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}
|