Skip to content

Commit 9cf83e4

Browse files
Refactoring and Fix #349
1 parent fe89751 commit 9cf83e4

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/PodcastFragmentActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import de.luhmer.owncloudnewsreader.services.PodcastPlaybackService;
4848
import de.luhmer.owncloudnewsreader.view.PodcastSlidingUpPanelLayout;
4949
import de.luhmer.owncloudnewsreader.view.ZoomableRelativeLayout;
50+
import de.luhmer.owncloudnewsreader.widget.WidgetProvider;
5051

5152
public class PodcastFragmentActivity extends AppCompatActivity implements IPlayPausePodcastClicked {
5253

@@ -149,6 +150,7 @@ protected void onPause() {
149150
eventBus.post(new RegisterVideoOutput(null, null));
150151

151152
TeslaUnreadManager.PublishUnreadCount(this);
153+
WidgetProvider.UpdateWidget(this);
152154

153155
super.onPause();
154156
}

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
import android.app.ActivityManager;
2525
import android.app.Service;
26-
import android.appwidget.AppWidgetManager;
2726
import android.content.ComponentName;
2827
import android.content.Intent;
2928
import android.content.SharedPreferences;
@@ -148,20 +147,7 @@ public void onAsyncTaskCompleted(Exception task_result) {
148147
}
149148
};
150149

151-
private void UpdateWidget()
152-
{
153-
Intent intent = new Intent(this, WidgetProvider.class);
154-
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
155-
// Use an array and EXTRA_APPWIDGET_IDS instead of AppWidgetManager.EXTRA_APPWIDGET_ID,
156-
// since it seems the onUpdate() is only fired on that:
157-
158-
int ids[] = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), WidgetProvider.class));
159-
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,ids);
160-
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,ids);
161-
sendBroadcast(intent);
162-
}
163-
164-
private void ThrowException(Exception ex) {
150+
private void ThrowException(Exception ex) {
165151
List<IOwnCloudSyncServiceCallback> callbackList = getCallBackItemsAndBeginBroadcast();
166152
for (IOwnCloudSyncServiceCallback icb : callbackList) {
167153
try {
@@ -191,6 +177,7 @@ private void startedSync() {
191177

192178
private void finishedSync() {
193179
TeslaUnreadManager.PublishUnreadCount(this);
180+
WidgetProvider.UpdateWidget(this);
194181

195182
syncRunning = false;
196183
syncStopWatch.stop();
@@ -212,7 +199,6 @@ private void finishedSync() {
212199
if(mPrefs.getBoolean(SettingsActivity.CB_SHOW_NOTIFICATION_NEW_ARTICLES_STRING, true))//Default is true
213200
NotificationManagerNewsReader.getInstance(OwnCloudSyncService.this).ShowMessage(title, tickerText, contentText);
214201
}
215-
UpdateWidget();
216202
}
217203

218204
List<IOwnCloudSyncServiceCallback> callbackList = getCallBackItemsAndBeginBroadcast();

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/widget/WidgetProvider.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.app.PendingIntent;
2525
import android.appwidget.AppWidgetManager;
2626
import android.appwidget.AppWidgetProvider;
27+
import android.content.ComponentName;
2728
import android.content.Context;
2829
import android.content.Intent;
2930
import android.content.SharedPreferences;
@@ -53,7 +54,21 @@ public class WidgetProvider extends AppWidgetProvider {
5354

5455
public static final String EXTRA_ITEM = null;
5556
private static final String TAG = "WidgetProvider";
56-
57+
58+
59+
public static void UpdateWidget(Context context)
60+
{
61+
Intent intent = new Intent(context, WidgetProvider.class);
62+
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
63+
// Use an array and EXTRA_APPWIDGET_IDS instead of AppWidgetManager.EXTRA_APPWIDGET_ID,
64+
// since it seems the onUpdate() is only fired on that:
65+
66+
int ids[] = AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, WidgetProvider.class));
67+
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,ids);
68+
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,ids);
69+
context.sendBroadcast(intent);
70+
}
71+
5772
@Override
5873
public void onReceive(Context context, Intent intent) {
5974
final int appWidgetId[];

0 commit comments

Comments
 (0)