@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) } }
@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) } }