Set selected for filter selection activity

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

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

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

@ -28,12 +28,14 @@ public class FilterSelectionActivity extends InjectingAppCompatActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(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(); filterAdapter.populateList();
dialogBuilder.newDialog() dialogBuilder.newDialog()
.setSingleChoiceItems(filterAdapter, -1, (dialog, which) -> { .setSingleChoiceItems(filterAdapter, filterAdapter.indexOf(selected), (dialog, which) -> {
final Filter selectedFilter = (Filter) filterAdapter.getItem(which); final Filter selectedFilter = (Filter) filterAdapter.getItem(which);
Intent data = new Intent(); Intent data = new Intent();
if (returnFilter) { if (returnFilter) {

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

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

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

@ -62,6 +62,10 @@ public class DefaultFilterProvider {
this.gtasksFilterExposer = gtasksFilterExposer; this.gtasksFilterExposer = gtasksFilterExposer;
} }
public Filter getDashclockFilter() {
return getFilterFromPreference(R.string.p_dashclock_filter);
}
public Filter getBadgeFilter() { public Filter getBadgeFilter() {
return getFilterFromPreference(R.string.p_badge_list); return getFilterFromPreference(R.string.p_badge_list);
} }
@ -106,17 +110,22 @@ public class DefaultFilterProvider {
public void setDefaultFilter(Filter filter) { public void setDefaultFilter(Filter filter) {
tracker.reportEvent(Tracking.Events.SET_DEFAULT_LIST); tracker.reportEvent(Tracking.Events.SET_DEFAULT_LIST);
String filterPreferenceValue = getFilterPreferenceValue(filter); setFilterPreference(filter, R.string.p_default_list);
if (!Strings.isNullOrEmpty(filterPreferenceValue)) {
preferences.setString(R.string.p_default_list, filterPreferenceValue);
}
} }
public void setBadgeFilter(Filter filter) { public void setBadgeFilter(Filter filter) {
tracker.reportEvent(Tracking.Events.SET_BADGE_LIST); 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); String filterPreferenceValue = getFilterPreferenceValue(filter);
if (!Strings.isNullOrEmpty(filterPreferenceValue)) { 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 -> { findPreference(R.string.p_widget_filter).setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(WidgetConfigActivity.this, FilterSelectionActivity.class); Intent intent = new Intent(WidgetConfigActivity.this, FilterSelectionActivity.class);
intent.putExtra(FilterSelectionActivity.EXTRA_FILTER, getFilter());
intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true); intent.putExtra(FilterSelectionActivity.EXTRA_RETURN_FILTER, true);
startActivityForResult(intent, REQUEST_FILTER); startActivityForResult(intent, REQUEST_FILTER);
return false; return false;
@ -138,8 +139,11 @@ public class WidgetConfigActivity extends InjectingPreferenceActivity implements
} }
private void updateFilter() { private void updateFilter() {
Filter filter = defaultFilterProvider.getFilterFromPreference(widgetPreferences.getFilterId()); findPreference(R.string.p_widget_filter).setSummary(getFilter().listingTitle);
findPreference(R.string.p_widget_filter).setSummary(filter.listingTitle); }
private Filter getFilter() {
return defaultFilterProvider.getFilterFromPreference(widgetPreferences.getFilterId());
} }
private void updateTheme() { private void updateTheme() {

Loading…
Cancel
Save