Browse Source

Fix potential crash (as seen on Play Store console) when a widget is asked to update but it no longer exists or no config is known for it.

pull/82/head
Eric Kok 11 years ago
parent
commit
6670ad7325
  1. 8
      core/src/org/transdroid/core/widget/ListWidgetProvider.java

8
core/src/org/transdroid/core/widget/ListWidgetProvider.java

@ -62,9 +62,11 @@ public class ListWidgetProvider extends AppWidgetProvider {
// Refresh a specific app widget // Refresh a specific app widget
if (intent.hasExtra(EXTRA_REFRESH)) { if (intent.hasExtra(EXTRA_REFRESH)) {
// Manually requested a refresh for the app widget of which the ID was supplied // Manually requested a refresh for the app widget of which the ID was supplied
AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, RemoteViews views = buildRemoteViews(context, appWidgetId, applicationSettings.getWidgetConfig(appWidgetId));
buildRemoteViews(context, appWidgetId, applicationSettings.getWidgetConfig(appWidgetId))); if (views != null) {
AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, views);
AppWidgetManager.getInstance(context).notifyAppWidgetViewDataChanged(appWidgetId, R.id.torrents_list); AppWidgetManager.getInstance(context).notifyAppWidgetViewDataChanged(appWidgetId, R.id.torrents_list);
}
return; return;
} }
@ -136,7 +138,7 @@ public class ListWidgetProvider extends AppWidgetProvider {
// Set up the START_SERVER intent for 'action bar' clicks to start Transdroid normally // Set up the START_SERVER intent for 'action bar' clicks to start Transdroid normally
Intent start = new Intent(context, TorrentsActivity_.class); Intent start = new Intent(context, TorrentsActivity_.class);
//start.setData(Uri.parse("intent://widget/" + appWidgetId + "/start/" + config.getServerId())); // start.setData(Uri.parse("intent://widget/" + appWidgetId + "/start/" + config.getServerId()));
start.setAction(INTENT_STARTSERVER); start.setAction(INTENT_STARTSERVER);
start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
start.putExtra(EXTRA_SERVER, config.getServerId()); start.putExtra(EXTRA_SERVER, config.getServerId());

Loading…
Cancel
Save