Use drawable compat tint for nav drawer icons

pull/322/head
Alex Baker 10 years ago
parent abd3645b4b
commit 0183a7a8a0

@ -47,7 +47,7 @@ public class FilterShortcutActivity extends InjectingListActivity {
setContentView(R.layout.filter_shortcut_activity);
// set up ui
adapter = new FilterAdapter(filterProvider, filterCounter, this, getListView(), false);
adapter = new FilterAdapter(filterProvider, filterCounter, this, getListView(), false, preferences);
setListAdapter(adapter);
Button button = (Button)findViewById(R.id.ok);

@ -10,6 +10,8 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Drawable;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -31,8 +33,9 @@ import org.tasks.activities.DonationActivity;
import org.tasks.filters.FilterCounter;
import org.tasks.filters.FilterProvider;
import org.tasks.filters.NavigationDrawerAction;
import org.tasks.filters.NavigationDrawerSubheader;
import org.tasks.filters.NavigationDrawerSeparator;
import org.tasks.filters.NavigationDrawerSubheader;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.preferences.BasicPreferences;
import org.tasks.preferences.HelpAndFeedbackActivity;
import org.tasks.ui.NavigationDrawerFragment;
@ -40,7 +43,6 @@ import org.tasks.ui.NavigationDrawerFragment;
import java.util.List;
import static org.tasks.preferences.ResourceResolver.getData;
import static org.tasks.preferences.ResourceResolver.getResource;
public class FilterAdapter extends ArrayAdapter<FilterListItem> {
@ -55,18 +57,21 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
private final Activity activity;
private final ListView listView;
private boolean navigationDrawer;
private ActivityPreferences activityPreferences;
private final FilterListUpdateReceiver filterListUpdateReceiver = new FilterListUpdateReceiver();
/** layout inflater */
private final LayoutInflater inflater;
public FilterAdapter(FilterProvider filterProvider, FilterCounter filterCounter, Activity activity, ListView listView, boolean navigationDrawer) {
public FilterAdapter(FilterProvider filterProvider, FilterCounter filterCounter, Activity activity,
ListView listView, boolean navigationDrawer, ActivityPreferences activityPreferences) {
super(activity, 0);
this.filterProvider = filterProvider;
this.filterCounter = filterCounter;
this.activity = activity;
this.listView = listView;
this.navigationDrawer = navigationDrawer;
this.activityPreferences = activityPreferences;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@ -256,13 +261,13 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.new_tag),
getResource(activity, R.attr.ic_action_new_tag),
R.drawable.ic_add_black_24dp,
new Intent(activity, TagSettingsActivity.class),
NavigationDrawerFragment.REQUEST_NEW_LIST));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.FLA_new_filter),
getResource(activity, R.attr.ic_action_new_tag),
R.drawable.ic_add_black_24dp,
new Intent(activity, CustomFilterActivity.class),
TaskListFragment.ACTIVITY_REQUEST_NEW_FILTER));
@ -270,17 +275,17 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.TLA_menu_settings),
getResource(activity, R.attr.ic_action_settings),
R.drawable.ic_settings_black_24dp,
new Intent(activity, BasicPreferences.class),
REQUEST_SETTINGS));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.help_and_feedback),
getResource(activity, R.attr.ic_action_help),
R.drawable.ic_help_black_24dp,
new Intent(activity, HelpAndFeedbackActivity.class),
0));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.TLA_menu_donate),
getResource(activity, R.attr.ic_action_donate),
R.drawable.ic_attach_money_black_24dp,
new Intent(activity, DonationActivity.class),
0));
}
@ -325,8 +330,18 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
viewHolder.view.setBackgroundResource(0);
int icon = filter.icon;
viewHolder.icon.setImageResource(icon);
viewHolder.icon.setVisibility(icon == 0 ? View.INVISIBLE : View.VISIBLE);
if (icon == 0) {
viewHolder.icon.setVisibility(View.INVISIBLE);
} else {
Drawable drawable = activity.getResources().getDrawable(icon, activity.getTheme());
if (activityPreferences.isDarkTheme()) {
Drawable wrapDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrapDrawable, activity.getResources().getColor(android.R.color.white));
drawable = wrapDrawable;
}
viewHolder.icon.setImageDrawable(drawable);
viewHolder.icon.setVisibility(View.VISIBLE);
}
String title = filter.listingTitle;
if(!title.equals(viewHolder.name.getText())) {

@ -26,7 +26,6 @@ import com.todoroo.astrid.tags.TaskToTagMetadata;
import org.tasks.R;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.Preferences;
import org.tasks.preferences.ResourceResolver;
import java.util.ArrayList;
import java.util.List;
@ -42,19 +41,17 @@ import javax.inject.Inject;
public final class BuiltInFilterExposer {
private final Preferences preferences;
private ResourceResolver resourceResolver;
private final Context context;
@Inject
public BuiltInFilterExposer(ResourceResolver resourceResolver, @ForApplication Context context, Preferences preferences) {
this.resourceResolver = resourceResolver;
public BuiltInFilterExposer(@ForApplication Context context, Preferences preferences) {
this.context = context;
this.preferences = preferences;
}
public Filter getMyTasksFilter() {
Filter myTasksFilter = getMyTasksFilter(context.getResources());
myTasksFilter.icon = resourceResolver.getResource(R.attr.ic_action_inbox);
myTasksFilter.icon = R.drawable.ic_inbox_black_24dp;
return myTasksFilter;
}
@ -65,17 +62,17 @@ public final class BuiltInFilterExposer {
if (preferences.getBoolean(R.string.p_show_today_filter, true)) {
Filter todayFilter = getTodayFilter(r);
todayFilter.icon = resourceResolver.getResource(R.attr.ic_action_calendar_today);
todayFilter.icon = R.drawable.ic_today_black_24dp;
filters.add(todayFilter);
}
if (preferences.getBoolean(R.string.p_show_recently_modified_filter, true)) {
Filter recentlyModifiedFilter = getRecentlyModifiedFilter(r);
recentlyModifiedFilter.icon = resourceResolver.getResource(R.attr.ic_action_history);
recentlyModifiedFilter.icon = R.drawable.ic_history_black_24dp;
filters.add(recentlyModifiedFilter);
}
if (preferences.getBoolean(R.string.p_show_not_in_list_filter, true)) {
Filter uncategorizedFilter = getUncategorizedFilter(r);
uncategorizedFilter.icon = resourceResolver.getResource(R.attr.ic_action_uncategorized);
uncategorizedFilter.icon = R.drawable.ic_label_outline_black_24dp;
filters.add(uncategorizedFilter);
}
// transmit filter list

@ -12,7 +12,6 @@ import com.todoroo.astrid.dao.StoreObjectDao;
import com.todoroo.astrid.data.StoreObject;
import org.tasks.R;
import org.tasks.preferences.ResourceResolver;
import java.util.ArrayList;
import java.util.List;
@ -22,18 +21,16 @@ import javax.inject.Inject;
public final class CustomFilterExposer {
private final StoreObjectDao storeObjectDao;
private ResourceResolver resourceResolver;
@Inject
public CustomFilterExposer(ResourceResolver resourceResolver, StoreObjectDao storeObjectDao) {
this.resourceResolver = resourceResolver;
public CustomFilterExposer(StoreObjectDao storeObjectDao) {
this.storeObjectDao = storeObjectDao;
}
public List<Filter> getFilters() {
final List<Filter> list = new ArrayList<>();
final int filter = resourceResolver.getResource(R.attr.ic_action_filter);
final int filter = R.drawable.ic_filter_list_black_24dp;
storeObjectDao.getSavedFilters(new Callback<StoreObject>() {
@Override

@ -26,14 +26,13 @@ import com.todoroo.astrid.data.Task;
import org.tasks.R;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.ResourceResolver;
import java.util.List;
import javax.inject.Inject;
import static com.google.common.collect.Lists.newArrayList;
import static java.util.Collections.*;
import static java.util.Collections.emptyList;
/**
* Exposes filters based on lists
@ -45,14 +44,12 @@ public class GtasksFilterExposer {
private final GtasksListService gtasksListService;
private final GtasksPreferenceService gtasksPreferenceService;
private ResourceResolver resourceResolver;
private final Context context;
private final GtasksMetadata gtasksMetadata;
@Inject
public GtasksFilterExposer(ResourceResolver resourceResolver, @ForApplication Context context, GtasksListService gtasksListService,
public GtasksFilterExposer(@ForApplication Context context, GtasksListService gtasksListService,
GtasksPreferenceService gtasksPreferenceService, GtasksMetadata gtasksMetadata) {
this.resourceResolver = resourceResolver;
this.context = context;
this.gtasksListService = gtasksListService;
this.gtasksPreferenceService = gtasksPreferenceService;
@ -65,7 +62,7 @@ public class GtasksFilterExposer {
return emptyList();
}
int cloud = resourceResolver.getResource(R.attr.ic_action_cloud);
int cloud = R.drawable.ic_cloud_queue_black_24dp;
List<Filter> listFilters = newArrayList();
for (GtasksList list : gtasksListService.getLists()) {

@ -25,7 +25,6 @@ import com.todoroo.astrid.data.Task;
import org.tasks.R;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.ResourceResolver;
import java.util.ArrayList;
import java.util.List;
@ -40,15 +39,11 @@ import javax.inject.Inject;
*/
public class TagFilterExposer {
public static final String TAG = "tag"; //$NON-NLS-1$
private final TagService tagService;
private ResourceResolver resourceResolver;
private final Context context;
@Inject
public TagFilterExposer(ResourceResolver resourceResolver, @ForApplication Context context, TagService tagService) {
this.resourceResolver = resourceResolver;
public TagFilterExposer(@ForApplication Context context, TagService tagService) {
this.context = context;
this.tagService = tagService;
}
@ -94,7 +89,7 @@ public class TagFilterExposer {
List<Filter> filters = new ArrayList<>();
int label = resourceResolver.getResource(R.attr.ic_action_label);
int label = R.drawable.ic_label_black_24dp;
for (TagData tag : tags) {
Filter f = constructFilter(context, tag);

@ -95,7 +95,7 @@ public class WidgetConfigActivity extends InjectingListActivity {
}
// set up ui
adapter = new FilterAdapter(filterProvider, filterCounter, this, getListView(), false);
adapter = new FilterAdapter(filterProvider, filterCounter, this, getListView(), false, preferences);
setListAdapter(adapter);
Button button = (Button) findViewById(R.id.ok);

@ -33,7 +33,7 @@ public class FilterSelectionActivity extends InjectingAppCompatActivity {
activityPreferences.applyTheme();
final FilterAdapter filterAdapter = new FilterAdapter(filterProvider, filterCounter, this, null, false);
final FilterAdapter filterAdapter = new FilterAdapter(filterProvider, filterCounter, this, null, false, activityPreferences);
filterAdapter.populateList();
dialogBuilder.newDialog()

@ -33,8 +33,8 @@ import org.tasks.filters.FilterProvider;
import org.tasks.filters.NavigationDrawerAction;
import org.tasks.injection.InjectingFragment;
import org.tasks.location.GeofenceService;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.preferences.AppearancePreferences;
import org.tasks.preferences.Preferences;
import javax.inject.Inject;
@ -68,7 +68,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
@Inject FilterCounter filterCounter;
@Inject FilterProvider filterProvider;
@Inject GeofenceService geofenceService;
@Inject Preferences preferences;
@Inject ActivityPreferences preferences;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -108,6 +108,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
data.getBooleanExtra(OldTaskPreferences.TOGGLE_DELETED, false)) {
getActivity().finish();
getActivity().startActivity(getActivity().getIntent());
refresh();
}
} else if ((requestCode == NavigationDrawerFragment.REQUEST_NEW_LIST ||
requestCode == TaskListFragment.ACTIVITY_REQUEST_NEW_FILTER) &&
@ -150,7 +151,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
private void setUpList() {
adapter = new FilterAdapter(filterProvider, filterCounter, getActivity(), mDrawerListView, true);
adapter = new FilterAdapter(filterProvider, filterCounter, getActivity(), mDrawerListView, true, preferences);
mDrawerListView.setAdapter(adapter);
registerForContextMenu(mDrawerListView);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 842 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

@ -27,21 +27,10 @@
<attr name="asAbBackgroundColor" format="color" />
<attr name="asTaskRowSelector" format="reference" />
<attr name="ic_action_cancel" format="reference" />
<attr name="ic_action_settings" format="reference" />
<attr name="ic_action_calendar_today" format="reference" />
<attr name="ic_action_history" format="reference" />
<attr name="ic_action_uncategorized" format="reference" />
<attr name="ic_action_label" format="reference" />
<attr name="ic_action_help" format="reference" />
<attr name="ic_action_inbox" format="reference" />
<attr name="ic_action_donate" format="reference" />
<attr name="importance_background_selected" format="reference" />
<attr name="fab_icon" format="reference" />
<attr name="toolbarSeparatorHeight" format="dimension" />
<attr name="separatorHeight" format="dimension" />
<attr name="ic_action_filter" format="reference"/>
<attr name="ic_action_cloud" format="reference"/>
<attr name="ic_action_new_tag" format="reference"/>
<attr name="ic_action_discard" format="reference" />
<attr name="popup_theme" format="reference" />
<attr name="ic_arrow_back" format="reference" />

@ -24,21 +24,10 @@
<item name="asTextColorHint">@android:color/darker_gray</item>
<item name="asTextColorInverse">@android:color/black</item>
<item name="asAbBackgroundColor">@android:color/black</item>
<item name="ic_action_settings">@drawable/ic_settings_white_24dp</item>
<item name="task_edit_divider">@color/task_edit_divider_dark</item>
<item name="ic_action_cancel">@drawable/ic_close_white_24dp</item>
<item name="asDueDateColor">#c3c3c3</item>
<item name="fab_icon">@drawable/ic_add_black_24dp</item>
<item name="ic_action_inbox">@drawable/ic_inbox_white_24dp</item>
<item name="ic_action_help">@drawable/ic_help_white_24dp</item>
<item name="ic_action_donate">@drawable/ic_attach_money_white_24dp</item>
<item name="ic_action_calendar_today">@drawable/ic_today_white_24dp</item>
<item name="ic_action_history">@drawable/ic_history_white_24dp</item>
<item name="ic_action_uncategorized">@drawable/ic_label_outline_white_24dp</item>
<item name="ic_action_label">@drawable/ic_label_white_24dp</item>
<item name="ic_action_filter">@drawable/ic_filter_list_white_24dp</item>
<item name="ic_action_cloud">@drawable/ic_cloud_queue_white_24dp</item>
<item name="ic_action_new_tag">@drawable/ic_add_white_24dp</item>
<item name="asEditTextBackground">@null</item>
<item name="windowActionModeOverlay">true</item>
@ -68,13 +57,6 @@
<item name="asThemeTextColor">@color/dark_blue_theme_color</item>
<item name="asTextColor">@android:color/white</item>
<item name="asListDividerColor">#dddddd</item>
<item name="ic_action_inbox">@drawable/ic_inbox_white_24dp</item>
<item name="ic_action_calendar_today">@drawable/ic_today_white_24dp</item>
<item name="ic_action_history">@drawable/ic_history_white_24dp</item>
<item name="ic_action_uncategorized">@drawable/ic_label_outline_white_24dp</item>
<item name="ic_action_label">@drawable/ic_label_white_24dp</item>
<item name="ic_action_filter">@drawable/ic_filter_list_white_24dp</item>
<item name="ic_action_cloud">@drawable/ic_cloud_queue_white_24dp</item>
<item name="ic_arrow_back">@drawable/ic_arrow_back_white_24dp</item>
<item name="ic_folder">@drawable/ic_folder_white_24dp</item>
<item name="ic_file">@drawable/ic_insert_drive_file_white_24dp</item>

@ -16,7 +16,6 @@
<item name="windowActionModeOverlay">true</item>
<item name="ic_action_cancel">@drawable/ic_close_black_24dp</item>
<item name="ic_action_settings">@drawable/ic_settings_black_24dp</item>
<item name="drawer_background">@color/drawer_background</item>
<item name="drawer_background_selected">@color/drawer_background_selected</item>
@ -43,16 +42,6 @@
<item name="importance_background_selected">@drawable/importance_background_selected</item>
<item name="task_edit_divider">@color/task_edit_divider</item>
<item name="fab_icon">@drawable/ic_add_white_24dp</item>
<item name="ic_action_inbox">@drawable/ic_inbox_black_24dp</item>
<item name="ic_action_help">@drawable/ic_help_black_24dp</item>
<item name="ic_action_donate">@drawable/ic_attach_money_black_24dp</item>
<item name="ic_action_calendar_today">@drawable/ic_today_black_24dp</item>
<item name="ic_action_history">@drawable/ic_history_black_24dp</item>
<item name="ic_action_uncategorized">@drawable/ic_label_outline_black_24dp</item>
<item name="ic_action_label">@drawable/ic_label_black_24dp</item>
<item name="ic_action_filter">@drawable/ic_filter_list_black_24dp</item>
<item name="ic_action_cloud">@drawable/ic_cloud_queue_black_24dp</item>
<item name="ic_action_new_tag">@drawable/ic_add_black_24dp</item>
<item name="ic_action_discard">@drawable/ic_close_white_24dp</item>
<item name="textfield_underline">@drawable/textfield_underline_black</item>
<item name="android:spinnerItemStyle">@style/SpinnerNoPadding</item>
@ -68,13 +57,6 @@
<item name="asThemeTextColor">@color/dark_blue_theme_color</item>
<item name="asTextColor">@android:color/black</item>
<item name="asListDividerColor">#dddddd</item>
<item name="ic_action_inbox">@drawable/ic_inbox_black_24dp</item>
<item name="ic_action_calendar_today">@drawable/ic_today_black_24dp</item>
<item name="ic_action_history">@drawable/ic_history_black_24dp</item>
<item name="ic_action_uncategorized">@drawable/ic_label_outline_black_24dp</item>
<item name="ic_action_label">@drawable/ic_label_black_24dp</item>
<item name="ic_action_filter">@drawable/ic_filter_list_black_24dp</item>
<item name="ic_action_cloud">@drawable/ic_cloud_queue_black_24dp</item>
<item name="ic_arrow_back">@drawable/ic_arrow_back_black_24dp</item>
<item name="ic_folder">@drawable/ic_folder_black_24dp</item>
<item name="ic_file">@drawable/ic_insert_drive_file_black_24dp</item>

Loading…
Cancel
Save