Set selected for filter selection activity

pull/645/head
Alex Baker 6 years ago
parent bfa445bb67
commit 49e30246fb

@ -67,7 +67,6 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
private final List<FilterListItem> items = new ArrayList<>();
private boolean navigationDrawer;
private boolean remoteListPicker;
private Filter selected;
private final LayoutInflater inflater;
@ -252,8 +251,6 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
public void populateRemoteListPicker() {
clear();
remoteListPicker = true;
for (Filter filter : filterProvider.getGoogleTaskFilters()) {
add(filter);
}
@ -329,7 +326,7 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
return;
}
if (!remoteListPicker && selected != null && selected.equals(filter)) {
if (selected != null && selected.equals(filter)) {
viewHolder.view.setBackgroundColor(getColor(activity, R.color.drawer_color_selected));
} else {
viewHolder.view.setBackgroundResource(0);

@ -111,6 +111,7 @@ public class ReminderPreferences extends InjectingPreferenceActivity {
badgePreference.setSummary(filter.listingTitle);
badgePreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(ReminderPreferences.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, defaultFilterProvider.getBadgeFilter());
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_BADGE_LIST);
return true;

@ -28,12 +28,14 @@ public class FilterSelectionActivity extends InjectingAppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean returnFilter = getIntent().getBooleanExtra(EXTRA_RETURN_FILTER, false);
Intent intent = getIntent();
Filter selected = intent.getParcelableExtra(EXTRA_FILTER);
boolean returnFilter = intent.getBooleanExtra(EXTRA_RETURN_FILTER, false);
filterAdapter.populateList();
dialogBuilder.newDialog()
.setSingleChoiceItems(filterAdapter, -1, (dialog, which) -> {
.setSingleChoiceItems(filterAdapter, filterAdapter.indexOf(selected), (dialog, which) -> {
final Filter selectedFilter = (Filter) filterAdapter.getItem(which);
Intent data = new Intent();
if (returnFilter) {

@ -43,6 +43,7 @@ public class DashClockSettings extends InjectingPreferenceActivity implements Pu
findPreference(getString(R.string.p_dashclock_filter)).setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(DashClockSettings.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, defaultFilterProvider.getDashclockFilter());
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_SELECT_FILTER);
return false;
@ -75,8 +76,7 @@ public class DashClockSettings extends InjectingPreferenceActivity implements Pu
if (requestCode == REQUEST_SELECT_FILTER) {
if (resultCode == Activity.RESULT_OK) {
Filter filter = data.getParcelableExtra(FilterSelectionActivity.EXTRA_FILTER);
String filterPreference = defaultFilterProvider.getFilterPreferenceValue(filter);
preferences.setString(R.string.p_dashclock_filter, filterPreference);
defaultFilterProvider.setDashclockFilter(filter);
refreshPreferences();
localBroadcastManager.broadcastRefresh();
}

@ -49,6 +49,7 @@ public final class TaskerSettingsActivity extends AbstractFragmentPluginPreferen
findPreference(R.string.filter).setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(TaskerSettingsActivity.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, filter);
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_SELECT_FILTER);
return false;

@ -81,6 +81,7 @@ public class AppearancePreferences extends InjectingPreferenceActivity implement
defaultList.setSummary(filter.listingTitle);
defaultList.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(AppearancePreferences.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, defaultFilterProvider.getDefaultFilter());
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_DEFAULT_LIST);
return true;

@ -62,6 +62,10 @@ public class DefaultFilterProvider {
this.gtasksFilterExposer = gtasksFilterExposer;
}
public Filter getDashclockFilter() {
return getFilterFromPreference(R.string.p_dashclock_filter);
}
public Filter getBadgeFilter() {
return getFilterFromPreference(R.string.p_badge_list);
}
@ -106,17 +110,22 @@ public class DefaultFilterProvider {
public void setDefaultFilter(Filter filter) {
tracker.reportEvent(Tracking.Events.SET_DEFAULT_LIST);
String filterPreferenceValue = getFilterPreferenceValue(filter);
if (!Strings.isNullOrEmpty(filterPreferenceValue)) {
preferences.setString(R.string.p_default_list, filterPreferenceValue);
}
setFilterPreference(filter, R.string.p_default_list);
}
public void setBadgeFilter(Filter filter) {
tracker.reportEvent(Tracking.Events.SET_BADGE_LIST);
setFilterPreference(filter, R.string.p_badge_list);
}
public void setDashclockFilter(Filter filter) {
setFilterPreference(filter, R.string.p_dashclock_filter);
}
private void setFilterPreference(Filter filter, int prefId) {
String filterPreferenceValue = getFilterPreferenceValue(filter);
if (!Strings.isNullOrEmpty(filterPreferenceValue)) {
preferences.setString(R.string.p_badge_list, filterPreferenceValue);
preferences.setString(prefId, filterPreferenceValue);
}
}

@ -77,6 +77,7 @@ public class WidgetConfigActivity extends InjectingPreferenceActivity implements
findPreference(R.string.p_widget_filter).setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(WidgetConfigActivity.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, getFilter());
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_FILTER);
return false;
@ -138,8 +139,11 @@ public class WidgetConfigActivity extends InjectingPreferenceActivity implements
}
private void updateFilter() {
Filter filter = defaultFilterProvider.getFilterFromPreference(widgetPreferences.getFilterId());
findPreference(R.string.p_widget_filter).setSummary(filter.listingTitle);
findPreference(R.string.p_widget_filter).setSummary(getFilter().listingTitle);
}
private Filter getFilter() {
return defaultFilterProvider.getFilterFromPreference(widgetPreferences.getFilterId());
}
private void updateTheme() {

Loading…
Cancel
Save