コード例 #1
0
  @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;
        }
    }
  }
コード例 #2
0
 @Override
 public void onEnabled(Context context) {
   super.onEnabled(context);
   PreferenceManager.setCalendar(context, Calendar.getInstance());
 }