From 99d6ce12f72e7296ebc167a1d12df35d8ca6d7e8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 30 May 2017 09:47:59 +0300 Subject: [PATCH] use RTC_WAKEUP for alarms, add a failure counter for widget service --- .../src/main/java/org/fox/ttrss/CommonActivity.java | 2 +- .../java/org/fox/ttrss/widget/WidgetUpdateService.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java index fceec679..11032388 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java @@ -435,7 +435,7 @@ public class CommonActivity extends ActionBarActivity implements SharedPreferenc alarmManager.cancel(pendingIntentAlarm); - alarmManager.setRepeating(AlarmManager.RTC, + alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + updateInterval, updateInterval, pendingIntentAlarm); 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 d1cc1310..08ef8f6b 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 @@ -25,6 +25,8 @@ public class WidgetUpdateService extends Service { public static final int UPDATE_RESULT_ERROR_NEED_CONF = 3; public static final int UPDATE_IN_PROGRESS = 4; + private int m_updateFailures = 0; + @Override public IBinder onBind(Intent intent) { Log.d(TAG, "onBind"); @@ -63,6 +65,8 @@ public class WidgetUpdateService extends Service { JsonObject content = result.getAsJsonObject(); if (content != null) { + m_updateFailures = 0; + int unread = content.get("unread").getAsInt(); sendResultIntent(unread, UPDATE_RESULT_OK); @@ -73,6 +77,7 @@ public class WidgetUpdateService extends Service { } } + ++m_updateFailures; sendResultIntent(-1, UPDATE_RESULT_ERROR_OTHER); } }; @@ -92,6 +97,7 @@ public class WidgetUpdateService extends Service { @Override protected void onLoginFailed(int requestId, ApiRequest ar) { + ++m_updateFailures; sendResultIntent(-1, UPDATE_RESULT_ERROR_LOGIN); } @@ -110,6 +116,7 @@ public class WidgetUpdateService extends Service { } catch (Exception e) { e.printStackTrace(); + ++m_updateFailures; sendResultIntent(-1, UPDATE_RESULT_ERROR_OTHER); } @@ -123,6 +130,7 @@ public class WidgetUpdateService extends Service { intent.setAction(SmallWidgetProvider.ACTION_UPDATE_RESULT); intent.putExtra("resultCode", resultCode); intent.putExtra("unread", unread); + intent.putExtra("failures", m_updateFailures); sendBroadcast(intent);