Use vector images

pull/322/head
Alex Baker 9 years ago
parent b96a506cb9
commit d918cc73d4

@ -3,10 +3,10 @@ sudo: false
jdk: oraclejdk7
env:
matrix:
- ANDROID_SDKS=android-23,sysimg-19 ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a
- ANDROID_SDKS=android-22,sysimg-19 ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a
android:
components:
- android-23
- android-22
- platform-tools-23.0.1
- build-tools-23.0.1
- extra-android-m2repository

@ -7,10 +7,11 @@ task wrapper(type: Wrapper) {
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.android.tools.build:gradle:1.4.0-beta5'
}
}
@ -23,7 +24,7 @@ android {
lintConfig file("lint.xml")
}
compileSdkVersion 23
compileSdkVersion 22
buildToolsVersion "23.0.1"
defaultConfig {

@ -8,7 +8,9 @@ package com.todoroo.astrid.actfm;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
@ -25,6 +27,7 @@ import org.tasks.R;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.ui.MenuColorizer;
import javax.inject.Inject;
@ -59,7 +62,9 @@ public class FilterSettingsActivity extends InjectingAppCompatActivity {
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_close_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
supportActionBar.setHomeAsUpIndicator(drawable);
supportActionBar.setTitle(filter.listingTitle);
}
@ -95,6 +100,7 @@ public class FilterSettingsActivity extends InjectingAppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tag_settings_activity, menu);
MenuColorizer.colorMenu(this, menu, getResources().getColor(android.R.color.white));
return super.onCreateOptionsMenu(menu);
}

@ -8,7 +8,9 @@ package com.todoroo.astrid.actfm;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
@ -31,6 +33,7 @@ import org.tasks.R;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.ui.MenuColorizer;
import javax.inject.Inject;
@ -74,7 +77,9 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_close_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
supportActionBar.setHomeAsUpIndicator(drawable);
supportActionBar.setTitle(isNewTag ? getString(R.string.new_tag) : tagData.getName());
}
@ -133,6 +138,7 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tag_settings_activity, menu);
MenuColorizer.colorMenu(this, menu, getResources().getColor(android.R.color.white));
if (isNewTag) {
menu.findItem(R.id.delete).setVisible(false);
}

@ -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, preferences);
adapter = new FilterAdapter(filterProvider, filterCounter, this, getListView(), false);
setListAdapter(adapter);
Button button = (Button)findViewById(R.id.ok);

@ -5,8 +5,10 @@
*/
package com.todoroo.astrid.activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.KeyEvent;
@ -18,10 +20,15 @@ import org.tasks.preferences.ActivityPreferences;
import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.InjectView;
public class TaskEditActivity extends AstridActivity {
@Inject ActivityPreferences preferences;
@InjectView(R.id.toolbar) Toolbar toolbar;
/**
* @see android.app.Activity#onCreate(Bundle)
*/
@ -31,15 +38,16 @@ public class TaskEditActivity extends AstridActivity {
preferences.applyThemeAndStatusBarColor();
setContentView(R.layout.task_edit_wrapper_activity);
ButterKnife.inject(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
setSupportActionBar(toolbar);
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setDisplayShowTitleEnabled(false);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_arrow_back_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
supportActionBar.setHomeAsUpIndicator(drawable);
}
}

@ -10,11 +10,9 @@ import android.app.Dialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.view.ViewPager;
import android.text.TextUtils;
import android.view.KeyEvent;
@ -87,6 +85,7 @@ import org.tasks.notifications.NotificationManager;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.preferences.DeviceInfo;
import org.tasks.ui.DeadlineControlSet;
import org.tasks.ui.MenuColorizer;
import java.io.File;
import java.util.ArrayList;
@ -446,11 +445,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
if (controlSet != null) {
ImageView icon = (ImageView) controlSet.findViewById(R.id.icon);
if (icon != null) {
Drawable drawable = getResources().getDrawable(curr.getIcon());
if (preferences.isDarkTheme()) {
drawable = whiteTint(drawable);
}
icon.setImageDrawable(drawable);
icon.setImageResource(curr.getIcon());
}
basicControls.addView(controlSet);
}
@ -464,12 +459,6 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
getActivity().getIntent().removeExtra(TOKEN_OPEN_CONTROL);
}
private Drawable whiteTint(Drawable drawable) {
Drawable wrapDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrapDrawable, getResources().getColor(android.R.color.white));
return wrapDrawable;
}
/**
* Initialize task edit page in the background
*
@ -877,6 +866,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.task_edit_fragment, menu);
MenuColorizer.colorMenu(getActivity(), menu, getResources().getColor(android.R.color.white));
if (preGingerbreadMR1()) {
// media recorder aac support requires api level 10
// approximately 1% of current installs are using api level 7-9

@ -8,9 +8,11 @@ package com.todoroo.astrid.activity;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.view.MenuItemCompat;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v4.widget.DrawerLayout;
@ -53,6 +55,7 @@ import org.tasks.R;
import org.tasks.activities.SortActivity;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.receivers.RepeatConfirmationReceiver;
import org.tasks.ui.MenuColorizer;
import org.tasks.ui.NavigationDrawerFragment;
import javax.inject.Inject;
@ -99,7 +102,9 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_menu_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
toolbar.setNavigationIcon(drawable);
}
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
@ -182,6 +187,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.task_list_activity, menu);
MenuColorizer.colorMenu(this, menu, getResources().getColor(android.R.color.white));
TaskListFragment tlf = getTaskListFragment();
MenuItem hidden = menu.findItem(R.id.menu_show_hidden);
if (preferences.getBoolean(R.string.p_show_hidden_tasks, false)) {

@ -10,8 +10,6 @@ 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;
@ -35,7 +33,6 @@ import org.tasks.filters.FilterProvider;
import org.tasks.filters.NavigationDrawerAction;
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;
@ -57,21 +54,19 @@ 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, ActivityPreferences activityPreferences) {
ListView listView, boolean navigationDrawer) {
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);
}
@ -261,13 +256,13 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.new_tag),
R.drawable.ic_add_black_24dp,
R.drawable.ic_add_24dp,
new Intent(activity, TagSettingsActivity.class),
NavigationDrawerFragment.REQUEST_NEW_LIST));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.FLA_new_filter),
R.drawable.ic_add_black_24dp,
R.drawable.ic_add_24dp,
new Intent(activity, CustomFilterActivity.class),
TaskListFragment.ACTIVITY_REQUEST_NEW_FILTER));
@ -275,17 +270,17 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.TLA_menu_settings),
R.drawable.ic_settings_black_24dp,
R.drawable.ic_settings_24dp,
new Intent(activity, BasicPreferences.class),
REQUEST_SETTINGS));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.help_and_feedback),
R.drawable.ic_help_black_24dp,
R.drawable.ic_help_24dp,
new Intent(activity, HelpAndFeedbackActivity.class),
0));
add(new NavigationDrawerAction(
activity.getResources().getString(R.string.TLA_menu_donate),
R.drawable.ic_attach_money_black_24dp,
R.drawable.ic_attach_money_24dp,
new Intent(activity, DonationActivity.class),
0));
}
@ -330,18 +325,8 @@ public class FilterAdapter extends ArrayAdapter<FilterListItem> {
viewHolder.view.setBackgroundResource(0);
int icon = filter.icon;
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);
}
viewHolder.icon.setImageResource(icon);
viewHolder.icon.setVisibility(icon == 0 ? View.INVISIBLE : View.VISIBLE);
String title = filter.listingTitle;
if(!title.equals(viewHolder.name.getText())) {

@ -51,7 +51,7 @@ public final class BuiltInFilterExposer {
public Filter getMyTasksFilter() {
Filter myTasksFilter = getMyTasksFilter(context.getResources());
myTasksFilter.icon = R.drawable.ic_inbox_black_24dp;
myTasksFilter.icon = R.drawable.ic_inbox_24dp;
return myTasksFilter;
}
@ -62,17 +62,17 @@ public final class BuiltInFilterExposer {
if (preferences.getBoolean(R.string.p_show_today_filter, true)) {
Filter todayFilter = getTodayFilter(r);
todayFilter.icon = R.drawable.ic_today_black_24dp;
todayFilter.icon = R.drawable.ic_today_24dp;
filters.add(todayFilter);
}
if (preferences.getBoolean(R.string.p_show_recently_modified_filter, true)) {
Filter recentlyModifiedFilter = getRecentlyModifiedFilter(r);
recentlyModifiedFilter.icon = R.drawable.ic_history_black_24dp;
recentlyModifiedFilter.icon = R.drawable.ic_history_24dp;
filters.add(recentlyModifiedFilter);
}
if (preferences.getBoolean(R.string.p_show_not_in_list_filter, true)) {
Filter uncategorizedFilter = getUncategorizedFilter(r);
uncategorizedFilter.icon = R.drawable.ic_label_outline_black_24dp;
uncategorizedFilter.icon = R.drawable.ic_label_outline_24dp;
filters.add(uncategorizedFilter);
}
// transmit filter list

@ -10,7 +10,9 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.ContextMenu;
@ -45,6 +47,7 @@ import org.tasks.dialogs.DialogBuilder;
import org.tasks.filters.FilterCriteriaProvider;
import org.tasks.injection.InjectingAppCompatActivity;
import org.tasks.preferences.ActivityPreferences;
import org.tasks.ui.MenuColorizer;
import java.util.ArrayList;
import java.util.List;
@ -156,7 +159,9 @@ public class CustomFilterActivity extends InjectingAppCompatActivity {
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_close_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
supportActionBar.setHomeAsUpIndicator(drawable);
supportActionBar.setTitle(R.string.FLA_new_filter);
}
@ -348,6 +353,7 @@ public class CustomFilterActivity extends InjectingAppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tag_settings_activity, menu);
MenuColorizer.colorMenu(this, menu, getResources().getColor(android.R.color.white));
menu.findItem(R.id.delete).setVisible(false);
return super.onCreateOptionsMenu(menu);
}

@ -30,7 +30,7 @@ public final class CustomFilterExposer {
public List<Filter> getFilters() {
final List<Filter> list = new ArrayList<>();
final int filter = R.drawable.ic_filter_list_black_24dp;
final int filter = R.drawable.ic_filter_list_24dp;
storeObjectDao.getSavedFilters(new Callback<StoreObject>() {
@Override

@ -107,21 +107,21 @@ public class FileExplore extends InjectingAppCompatActivity {
String[] fList = path.list(filter);
fileList = new Item[fList.length];
for (int i = 0; i < fList.length; i++) {
fileList[i] = new Item(fList[i], R.drawable.ic_insert_drive_file_black_24dp);
fileList[i] = new Item(fList[i], R.drawable.ic_insert_drive_file_24dp);
// Convert into file path
File sel = new File(path, fList[i]);
// Set drawables
if (sel.isDirectory()) {
fileList[i].icon = R.drawable.ic_folder_black_24dp;
fileList[i].icon = R.drawable.ic_folder_24dp;
}
}
if (!firstLvl) {
Item temp[] = new Item[fileList.length + 1];
System.arraycopy(fileList, 0, temp, 1, fileList.length);
temp[0] = new Item(upString, R.drawable.ic_arrow_back_black_24dp);
temp[0] = new Item(upString, R.drawable.ic_arrow_back_24dp);
fileList = temp;
}
} else {
@ -140,7 +140,7 @@ public class FileExplore extends InjectingAppCompatActivity {
// put the image on the text view
int icon = fileList[position].icon;
Drawable drawable = getResources().getDrawable(icon, getTheme());
Drawable drawable = getResources().getDrawable(icon);
if (activityPreferences.isDarkTheme()) {
Drawable wrapDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrapDrawable, getResources().getColor(android.R.color.white));

@ -80,7 +80,7 @@ public class FilesControlSet extends PopupControlSet {
@Override
public int getIcon() {
return R.drawable.ic_attachment_black_24dp;
return R.drawable.ic_attachment_24dp;
}
public void refreshMetadata() {

@ -247,6 +247,6 @@ public class GCalControlSet extends TaskEditControlSetBase {
@Override
public int getIcon() {
return R.drawable.ic_event_black_24dp;
return R.drawable.ic_event_24dp;
}
}

@ -62,7 +62,7 @@ public class GtasksFilterExposer {
return emptyList();
}
int cloud = R.drawable.ic_cloud_queue_black_24dp;
int cloud = R.drawable.ic_cloud_queue_24dp;
List<Filter> listFilters = newArrayList();
for (GtasksList list : gtasksListService.getLists()) {

@ -201,7 +201,7 @@ public class RepeatControlSet extends PopupControlSet {
@Override
public int getIcon() {
return R.drawable.ic_repeat_black_24dp;
return R.drawable.ic_repeat_24dp;
}
@Override

@ -89,7 +89,7 @@ public class TagFilterExposer {
List<Filter> filters = new ArrayList<>();
int label = R.drawable.ic_label_black_24dp;
int label = R.drawable.ic_label_24dp;
for (TagData tag : tags) {
Filter f = constructFilter(context, tag);

@ -5,16 +5,13 @@
*/
package com.todoroo.astrid.tags;
import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
@ -252,7 +249,7 @@ public final class TagsControlSet extends PopupControlSet {
@Override
public int getIcon() {
return R.drawable.ic_label_black_24dp;
return R.drawable.ic_label_24dp;
}
@Override

@ -67,7 +67,7 @@ public class TimerControlSet extends PopupControlSet implements TimerActionListe
@Override
public int getIcon() {
return R.drawable.ic_timer_black_24dp;
return R.drawable.ic_timer_24dp;
}
// --- TimeDurationTaskEditControlSet

@ -38,6 +38,6 @@ public class DescriptionControlSet extends TaskEditControlSetBase {
@Override
public int getIcon() {
return R.drawable.ic_event_note_black_24dp;
return R.drawable.ic_event_note_24dp;
}
}

@ -232,7 +232,7 @@ public class HideUntilControlSet extends TaskEditControlSetBase implements OnIte
@Override
public int getIcon() {
return R.drawable.ic_visibility_off_black_24dp;
return R.drawable.ic_visibility_off_24dp;
}
@Override

@ -133,7 +133,7 @@ public class ImportanceControlSet extends TaskEditControlSetBase {
@Override
public int getIcon() {
return R.drawable.ic_flag_black_24dp;
return R.drawable.ic_flag_24dp;
}
// Same as above because we need the setImportance listeners to fire even in

@ -394,6 +394,6 @@ public class ReminderControlSet extends TaskEditControlSetBase implements Adapte
@Override
public int getIcon() {
return R.drawable.ic_notifications_black_24dp;
return R.drawable.ic_notifications_24dp;
}
}

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

@ -11,7 +11,6 @@ import android.graphics.Color;
import android.net.Uri;
import android.provider.ContactsContract;
import android.support.v4.app.NotificationCompat;
import android.support.v4.media.MediaDescriptionCompatApi21;
import android.text.TextUtils;
import com.todoroo.andlib.data.TodorooCursor;

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

@ -1,6 +1,8 @@
package org.tasks.injection;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
@ -42,7 +44,9 @@ public abstract class InjectingPreferenceActivity extends AppCompatPreferenceAct
toolbar = (Toolbar) toolbarContainer.findViewById(R.id.toolbar);
toolbar.setTitle(getTitle());
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_arrow_back_24dp));
DrawableCompat.setTint(drawable, getResources().getColor(android.R.color.white));
toolbar.setNavigationIcon(drawable);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

@ -7,6 +7,7 @@ import javax.inject.Inject;
import javax.inject.Singleton;
@Singleton
@Deprecated
public class ResourceResolver {
private final Activity activity;

@ -451,6 +451,6 @@ public class DeadlineControlSet extends TaskEditControlSetBase {
@Override
public int getIcon() {
return R.drawable.ic_schedule_black_24dp;
return R.drawable.ic_schedule_24dp;
}
}

@ -0,0 +1,156 @@
/*
* Copyright (C) 2014 Jared Rummler <jared.rummler@gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.tasks.ui;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
/**
* Helper class to set the color and transparency for menu icons in an ActionBar/Toolbar.</p>
*
* Example usage:
*
* <pre>
* <code>
* public boolean onCreateOptionsMenu(Menu menu) {
* ...
* int color = getResources().getColor(R.color.your_awesome_color);
* int alpha = 204; // 80% alpha
* MenuColorizer.colorMenu(this, menu, color, alpha);
* ...
* }
* </code>
* </pre>
*
* @author Jared Rummler <jared.rummler@gmail.com>
* @since Dec 11, 2014
*/
public class MenuColorizer {
private MenuColorizer() {
}
/** Sets a color filter on all menu icons, including the overflow button (if it exists) */
public static void colorMenu(final Activity activity, final Menu menu, final int color) {
colorMenu(activity, menu, color, 0);
}
/** Sets a color filter on all menu icons, including the overflow button (if it exists) */
public static void colorMenu(final Activity activity, final Menu menu, final int color,
final int alpha) {
for (int i = 0, size = menu.size(); i < size; i++) {
final MenuItem menuItem = menu.getItem(i);
colorMenuItem(menuItem, color, alpha);
if (menuItem.hasSubMenu()) {
final SubMenu subMenu = menuItem.getSubMenu();
for (int j = 0; j < subMenu.size(); j++) {
colorMenuItem(subMenu.getItem(j), color, alpha);
}
}
}
final View home = activity.findViewById(android.R.id.home);
if (home != null) {
home.post(new Runnable() {
@Override
public void run() {
colorOverflow(activity, color, alpha);
}
});
}
}
/** Sets a color filter on a {@link MenuItem} */
public static void colorMenuItem(final MenuItem menuItem, final int color) {
colorMenuItem(menuItem, color, 0);
}
/** Sets a color filter on a {@link MenuItem} */
public static void colorMenuItem(final MenuItem menuItem, final int color, final int alpha) {
final Drawable drawable = menuItem.getIcon();
if (drawable != null) {
// If we don't mutate the drawable, then all drawable's with this id will have a color
// filter applied to it.
drawable.mutate();
drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
if (alpha > 0) {
drawable.setAlpha(alpha);
}
}
}
/** Sets a color filter on the OverflowMenuButton in an ActionBar or Toolbar */
public static void colorOverflow(final Activity activity, final int color) {
colorOverflow(activity, color, 0);
}
/** Sets a color filter on the OverflowMenuButton in an ActionBar or Toolbar */
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
public static void colorOverflow(final Activity activity, final int color, final int alpha) {
final ImageButton overflow = getOverflowMenu(activity);
if (overflow != null) {
overflow.setColorFilter(color);
if (alpha > 0) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
overflow.setImageAlpha(alpha);
} else {
overflow.setAlpha(alpha);
}
}
}
}
/* Find that OverflowMenuButton */
private static ImageButton getOverflowMenu(final Activity activity,
final ViewGroup... viewGroup) {
final ViewGroup group;
if (viewGroup == null || viewGroup.length == 0) {
final int resId = activity.getResources().getIdentifier("action_bar", "id", "android");
if (resId != 0) {
group = (ViewGroup) activity.findViewById(resId);
} else {
group = (ViewGroup) activity.findViewById(android.R.id.content).getRootView();
}
} else {
group = viewGroup[0];
}
ImageButton overflow = null;
for (int i = 0, l = group.getChildCount(); i < l; i++) {
final View v = group.getChildAt(i);
if (v instanceof ImageButton
&& v.getClass().getSimpleName().equals("OverflowMenuButton")) {
overflow = (ImageButton) v;
} else if (v instanceof ViewGroup) {
overflow = getOverflowMenu(activity, (ViewGroup) v);
}
if (overflow != null) {
break;
}
}
return overflow;
}
}

@ -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 ActivityPreferences preferences;
@Inject Preferences preferences;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -151,7 +151,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
}
private void setUpList() {
adapter = new FilterAdapter(filterProvider, filterCounter, getActivity(), mDrawerListView, true, preferences);
adapter = new FilterAdapter(filterProvider, filterCounter, getActivity(), mDrawerListView, true);
mDrawerListView.setAdapter(adapter);
registerForContextMenu(mDrawerListView);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save