コード例 #1
0
  @Override
  public void onSortSelected(boolean always, int flags, int sort) {
    boolean manualSettingChanged =
        SortHelper.isManualSort(sortFlags) != SortHelper.isManualSort(flags);

    sortFlags = flags;
    sortSort = sort;

    if (always) {
      SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(ContextManager.getContext());
      if (publicPrefs != null) {
        Editor editor = publicPrefs.edit();
        if (editor != null) {
          editor.putInt(SortHelper.PREF_SORT_FLAGS, flags);
          editor.putInt(SortHelper.PREF_SORT_SORT, sort);
          editor.commit();
          TasksWidget.updateWidgets(ContextManager.getContext());
        }
      }
    }

    try {
      if (manualSettingChanged) toggleDragDrop(SortHelper.isManualSort(sortFlags));
      else setUpTaskList();
    } catch (IllegalStateException e) {
      // TODO: Fragment got detached somehow (rare)
    }
  }
コード例 #2
0
ファイル: TaskListFragment.java プロジェクト: kflux/tasks
  @Override
  public void onSortSelected(boolean always, int flags, int sort) {
    boolean manualSettingChanged =
        SortHelper.isManualSort(sortFlags) != SortHelper.isManualSort(flags);

    sortFlags = flags;
    sortSort = sort;

    if (always) {
      preferences.setSortFlags(flags);
      preferences.setSortMode(sort);
      TasksWidget.updateWidgets(context);
    }

    try {
      if (manualSettingChanged) {
        toggleDragDrop(SortHelper.isManualSort(sortFlags));
      } else {
        setUpTaskList();
      }
    } catch (IllegalStateException e) {
      log.error(e.getMessage(), e);
      // TODO: Fragment got detached somehow (rare)
    }
  }
コード例 #3
0
ファイル: ActFmSyncThread.java プロジェクト: jomNext/tasks
  private void setWidgetSuppression(boolean suppress) {
    long date = suppress ? DateUtilities.now() : 0;
    TasksWidget.suppressUpdateFlag = date;

    if (date == 0) {
      Context context = ContextManager.getContext();
      if (context != null) {
        TasksWidget.updateWidgets(context);
      }
    }
  }
コード例 #4
0
ファイル: TasksWidget.java プロジェクト: netrus/astrid
  @Override
  public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {

    try {
      ContextManager.setContext(context);
      super.onUpdate(context, appWidgetManager, appWidgetIds);

      // Start in service to prevent Application Not Responding timeout
      updateWidgets(context);
    } catch (Exception e) {
      Log.e("astrid-update-widget", "widget update error", e); // $NON-NLS-1$ //$NON-NLS-2$
    }
  }
コード例 #5
0
ファイル: TasksWidget.java プロジェクト: Jenyay/tasks
  @Override
  public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    try {
      super.onUpdate(context, appWidgetManager, appWidgetIds);

      if (preIceCreamSandwich()) {
        // Start in service to prevent Application Not Responding timeout
        updateWidgets(context);
      } else {
        ComponentName thisWidget = new ComponentName(context, TasksWidget.class);
        int[] ids = appWidgetManager.getAppWidgetIds(thisWidget);
        for (int id : ids) {
          appWidgetManager.updateAppWidget(id, widgetHelper.createScrollableWidget(context, id));
        }
      }
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }
コード例 #6
0
ファイル: TaskListFragment.java プロジェクト: junekai/astrid
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (quickAddBar.onActivityResult(requestCode, resultCode, data)) return;

    if (requestCode == ACTIVITY_SETTINGS) {
      if (resultCode == EditPreferences.RESULT_CODE_THEME_CHANGED
          || resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) {
        getActivity().finish();
        getActivity().startActivity(getActivity().getIntent());
        TasksWidget.updateWidgets(getActivity());
        return;
      } else if (resultCode == SyncProviderPreferences.RESULT_CODE_SYNCHRONIZE) {
        Preferences.setLong(
            SyncActionHelper.PREF_LAST_AUTO_SYNC, 0); // Forces autosync to occur after login
      }
    }

    super.onActivityResult(requestCode, resultCode, data);

    if (!Preferences.getBoolean(R.string.p_showed_add_task_help, false)) {
      if (!AstridPreferences.canShowPopover()) return;
      quickAddBar
          .getQuickAddBox()
          .postDelayed(
              new Runnable() {
                @Override
                public void run() {
                  Activity activity = getActivity();
                  if (activity != null) {
                    HelpInfoPopover.showPopover(
                        getActivity(),
                        quickAddBar.getQuickAddBox(),
                        R.string.help_popover_add_task,
                        null);
                    Preferences.setBoolean(R.string.p_showed_add_task_help, true);
                  }
                }
              },
              1000);
    }
  }
コード例 #7
0
ファイル: TaskListFragment.java プロジェクト: kflux/tasks
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (quickAddBar.onActivityResult(requestCode, resultCode, data)) {
      return;
    }

    if (requestCode == ACTIVITY_SETTINGS) {
      if (resultCode == EditPreferences.RESULT_CODE_THEME_CHANGED
          || resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) {
        getActivity().finish();
        getActivity().startActivity(getActivity().getIntent());
        TasksWidget.updateWidgets(getActivity());
        return;
      } else if (resultCode == GtasksPreferences.RESULT_CODE_SYNCHRONIZE) {
        preferences.setLong(
            SyncActionHelper.PREF_LAST_AUTO_SYNC, 0); // Forces autosync to occur after login
      }
    }

    super.onActivityResult(requestCode, resultCode, data);
  }
コード例 #8
0
ファイル: TasksWidget.java プロジェクト: Jenyay/tasks
  @Override
  public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);

    switch (intent.getAction()) {
      case COMPLETE_TASK:
        broadcaster.toggleCompletedState(intent.getLongExtra(TaskEditFragment.TOKEN_ID, 0));
        break;
      case EDIT_TASK:
        if (context.getResources().getBoolean(R.bool.two_pane_layout)) {
          intent.setClass(context, TaskListActivity.class);
        } else {
          intent.setClass(context, TaskEditActivity.class);
        }
        intent.setFlags(WidgetHelper.flags);
        intent.putExtra(TaskEditFragment.OVERRIDE_FINISH_ANIM, false);
        context.startActivity(intent);

        break;
      case BROADCAST_EVENT_REFRESH:
        updateWidgets(context);
        break;
    }
  }