@Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); Log.d(TAG, "Received intent"); Log.d(TAG, intent.getAction()); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); int appWidgetIds[] = appWidgetManager.getAppWidgetIds(new ComponentName(context, MenuProvider.class)); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.menu_layout); switch (intent.getAction()) { case CLICK_UPDATE: Log.d(TAG, "Update intent"); remoteViews.setImageViewResource(R.id.update, R.drawable.refresh_active); appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.dish_list); break; case CLICK_PREVIOUS: { Log.d(TAG, "Previous date"); Calendar calendar = PreferenceManager.getCalendar(context); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1); PreferenceManager.setCalendar(context, calendar); updateDate(remoteViews, R.id.date_text, calendar); appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); break; } case CLICK_NEXT: { Log.d(TAG, "Next date"); Calendar calendar = PreferenceManager.getCalendar(context); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1); PreferenceManager.setCalendar(context, calendar); updateDate(remoteViews, R.id.date_text, calendar); appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); break; } } }
@Override public void onEnabled(Context context) { super.onEnabled(context); PreferenceManager.setCalendar(context, Calendar.getInstance()); }