Replace QuickAddBar with FloatingActionButton

pull/253/head
Alex Baker 11 years ago
parent b9920fd85d
commit cd50942141

@ -0,0 +1,99 @@
package com.faizmalkani.floatingactionbutton;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import org.tasks.R;
public class FloatingActionButton extends View {
private final Paint mButtonPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private final Paint mDrawablePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Bitmap mBitmap;
private int mColor;
public FloatingActionButton(Context context) {
this(context, null);
}
public FloatingActionButton(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public FloatingActionButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.FloatingActionButton);
mColor = a.getColor(R.styleable.FloatingActionButton_tint, Color.WHITE);
mButtonPaint.setStyle(Paint.Style.FILL);
mButtonPaint.setColor(mColor);
float radius, dx, dy;
radius = a.getFloat(R.styleable.FloatingActionButton_shadowRadius, 10.0f);
dx = a.getFloat(R.styleable.FloatingActionButton_shadowDx, 0.0f);
dy = a.getFloat(R.styleable.FloatingActionButton_shadowDy, 3.5f);
int color = a.getInteger(R.styleable.FloatingActionButton_shadowColor, Color.argb(100, 0, 0, 0));
mButtonPaint.setShadowLayer(radius, dx, dy, color);
Drawable drawable = a.getDrawable(R.styleable.FloatingActionButton_drawable);
if (null != drawable) {
mBitmap = ((BitmapDrawable) drawable).getBitmap();
}
setWillNotDraw(false);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
}
public static int darkenColor(int color) {
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] *= 0.8f;
return Color.HSVToColor(hsv);
}
public void setColor(int color) {
mColor = color;
mButtonPaint.setColor(mColor);
invalidate();
}
public void setDrawable(Drawable drawable) {
mBitmap = ((BitmapDrawable) drawable).getBitmap();
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawCircle(getWidth() / 2, getHeight() / 2, (float) (getWidth() / 2.6), mButtonPaint);
if (null != mBitmap) {
canvas.drawBitmap(mBitmap, (getWidth() - mBitmap.getWidth()) / 2,
(getHeight() - mBitmap.getHeight()) / 2, mDrawablePaint);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int color;
if (event.getAction() == MotionEvent.ACTION_UP) {
color = mColor;
} else {
color = darkenColor(mColor);
}
mButtonPaint.setColor(color);
invalidate();
return super.onTouchEvent(event);
}
}

@ -9,10 +9,7 @@ import android.app.Activity;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
@ -62,17 +59,6 @@ public class TagViewFragment extends TaskListFragment {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
getListView().setOnKeyListener(null); getListView().setOnKeyListener(null);
// allow for text field entry, needed for android bug #2516
OnTouchListener onTouch = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.requestFocusFromTouch();
return false;
}
};
getView().findViewById(R.id.quickAddText).setOnTouchListener(onTouch);
} }
// --- data loading // --- data loading

@ -9,19 +9,14 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.speech.SpeechRecognizer;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.view.View; import android.view.View;
import android.view.WindowManager.BadTokenException; import android.view.WindowManager.BadTokenException;
import android.widget.EditText;
import android.widget.Toast;
import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -33,10 +28,6 @@ import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.SubtasksHelper; import com.todoroo.astrid.subtasks.SubtasksHelper;
import com.todoroo.astrid.ui.DateChangedAlerts; import com.todoroo.astrid.ui.DateChangedAlerts;
import com.todoroo.astrid.ui.QuickAddBar;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.voice.RecognizerApi.RecognizerApiListener;
import com.todoroo.astrid.voice.VoiceRecognizer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -260,13 +251,6 @@ public class AstridActivity extends InjectingActionBarActivity
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
} }
/**
* @return LAYOUT_SINGLE or LAYOUT_DOUBLE
*/
public int getFragmentLayout() {
return fragmentLayout;
}
private class RepeatConfirmationReceiver extends BroadcastReceiver { private class RepeatConfirmationReceiver extends BroadcastReceiver {
private final Property<?>[] REPEAT_RESCHEDULED_PROPERTIES = private final Property<?>[] REPEAT_RESCHEDULED_PROPERTIES =
new Property<?>[] { new Property<?>[] {

@ -5,14 +5,11 @@
*/ */
package com.todoroo.astrid.activity; package com.todoroo.astrid.activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener; import android.preference.Preference.OnPreferenceClickListener;
@ -24,7 +21,6 @@ import android.text.TextUtils;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.TaskAttachment; import com.todoroo.astrid.data.TaskAttachment;
import com.todoroo.astrid.files.FileExplore; import com.todoroo.astrid.files.FileExplore;
@ -33,12 +29,9 @@ import com.todoroo.astrid.gtasks.GtasksPreferences;
import com.todoroo.astrid.helper.MetadataHelper; import com.todoroo.astrid.helper.MetadataHelper;
import com.todoroo.astrid.service.MarketStrategy.AmazonMarketStrategy; import com.todoroo.astrid.service.MarketStrategy.AmazonMarketStrategy;
import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.TodorooPreferenceActivity; import com.todoroo.astrid.utility.TodorooPreferenceActivity;
import com.todoroo.astrid.voice.VoiceInputAssistant;
import com.todoroo.astrid.voice.VoiceOutputAssistant; import com.todoroo.astrid.voice.VoiceOutputAssistant;
import com.todoroo.astrid.voice.VoiceRecognizer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -73,13 +66,10 @@ public class EditPreferences extends TodorooPreferenceActivity {
// --- instance variables // --- instance variables
@Inject StartupService startupService; @Inject StartupService startupService;
@Inject TaskService taskService;
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject CalendarAlarmScheduler calendarAlarmScheduler; @Inject CalendarAlarmScheduler calendarAlarmScheduler;
@Inject VoiceOutputAssistant voiceOutputAssistant; @Inject VoiceOutputAssistant voiceOutputAssistant;
private VoiceInputAssistant voiceInputAssistant;
private class SetResultOnPreferenceChangeListener implements OnPreferenceChangeListener { private class SetResultOnPreferenceChangeListener implements OnPreferenceChangeListener {
private final int resultCode; private final int resultCode;
public SetResultOnPreferenceChangeListener(int resultCode) { public SetResultOnPreferenceChangeListener(int resultCode) {
@ -106,7 +96,6 @@ public class EditPreferences extends TodorooPreferenceActivity {
ContextManager.setContext(this); ContextManager.setContext(this);
PreferenceScreen screen = getPreferenceScreen(); PreferenceScreen screen = getPreferenceScreen();
voiceInputAssistant = new VoiceInputAssistant(this);
addPluginPreferences(screen); addPluginPreferences(screen);
@ -359,8 +348,6 @@ public class EditPreferences extends TodorooPreferenceActivity {
findPreference(getString(R.string.p_fontSize)).setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED)); findPreference(getString(R.string.p_fontSize)).setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED));
findPreference(getString(R.string.p_hide_plus_button)).setOnPreferenceChangeListener(new SetResultOnPreferenceChangeListener(RESULT_CODE_PERFORMANCE_PREF_CHANGED));
findPreference(getString(R.string.p_use_dark_theme_widget)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { findPreference(getString(R.string.p_use_dark_theme_widget)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {

@ -147,7 +147,6 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
// --- request codes // --- request codes
private static final int REQUEST_VOICE_RECOG = 10; private static final int REQUEST_VOICE_RECOG = 10;
public static final int REQUEST_CODE_CONTACT = 20;
public static final int REQUEST_CODE_RECORD = 30; public static final int REQUEST_CODE_RECORD = 30;
public static final int REQUEST_CODE_ATTACH_FILE = 40; public static final int REQUEST_CODE_ATTACH_FILE = 40;
public static final int REQUEST_CODE_BEAST_MODE = 50; public static final int REQUEST_CODE_BEAST_MODE = 50;

@ -513,17 +513,6 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
} }
} }
public void hideKeyboard() {
TaskListFragment tlf = getTaskListFragment();
if (tlf == null)
return;
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
QuickAddBar qab = tlf.quickAddBar;
if (qab != null)
imm.hideSoftInputFromWindow(qab.getQuickAddBox().getWindowToken(), 0);
}
@Override @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (keyCode == KeyEvent.KEYCODE_BACK) {

@ -25,17 +25,16 @@ import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.View.OnKeyListener; import android.view.View.OnKeyListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView; import android.widget.ListView;
import com.faizmalkani.floatingactionbutton.FloatingActionButton;
import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
@ -151,7 +150,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
protected Filter filter; protected Filter filter;
protected int sortFlags; protected int sortFlags;
protected int sortSort; protected int sortSort;
protected QuickAddBar quickAddBar; protected QuickAddBar quickAddBar = new QuickAddBar();
private Timer backgroundTimer; private Timer backgroundTimer;
protected Bundle extras; protected Bundle extras;
@ -281,6 +280,14 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
Bundle savedInstanceState) { Bundle savedInstanceState) {
ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate( ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate(
R.layout.task_list_activity, container, false); R.layout.task_list_activity, container, false);
FloatingActionButton fab = (FloatingActionButton) parent.findViewById(R.id.fab);
fab.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Task task = quickAddBar.quickAddTask("", true);
}
});
View body = getListBody(parent); View body = getListBody(parent);
listView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout); listView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout);
emptyView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout_empty); emptyView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout_empty);
@ -309,7 +316,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
syncActionHelper = new SyncActionHelper(gtasksPreferenceService, syncService, getActivity(), preferences); syncActionHelper = new SyncActionHelper(gtasksPreferenceService, syncService, getActivity(), preferences);
setUpUiComponents(); setUpUiComponents();
initializeData(); initializeData();
setupQuickAddBar(); quickAddBar.initialize(injector, (TaskListActivity) getActivity(), this);
Fragment filterlistFrame = getFragmentManager().findFragmentById( Fragment filterlistFrame = getFragmentManager().findFragmentById(
NavigationDrawerFragment.FRAGMENT_NAVIGATION_DRAWER); NavigationDrawerFragment.FRAGMENT_NAVIGATION_DRAWER);
@ -453,27 +460,6 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
sortFlags = SortHelper.setManualSort(sortFlags, isDraggable()); sortFlags = SortHelper.setManualSort(sortFlags, isDraggable());
} }
protected void setupQuickAddBar() {
quickAddBar = (QuickAddBar) getView().findViewById(R.id.taskListFooter);
quickAddBar.initialize(injector, (TaskListActivity) getActivity(), this, mListener);
// set listener for astrid icon
emptyView.findViewById(R.id.empty_text).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
quickAddBar.performButtonClick();
}
});
getListView().setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
quickAddBar.clearFocus();
return false;
}
});
}
public void transitionForTaskEdit() { public void transitionForTaskEdit() {
AndroidUtilities.callOverridePendingTransition(getActivity(), AndroidUtilities.callOverridePendingTransition(getActivity(),
R.anim.slide_left_in, R.anim.slide_left_out); R.anim.slide_left_in, R.anim.slide_left_out);
@ -645,10 +631,6 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(quickAddBar.onActivityResult(requestCode, resultCode, data)) {
return;
}
if (requestCode == ACTIVITY_SETTINGS) { if (requestCode == ACTIVITY_SETTINGS) {
if (resultCode == EditPreferences.RESULT_CODE_THEME_CHANGED || resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) { if (resultCode == EditPreferences.RESULT_CODE_THEME_CHANGED || resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) {
getActivity().finish(); getActivity().finish();

@ -45,9 +45,6 @@ public class NotificationFragment extends TaskListFragment {
* Set up the UI for this activity * Set up the UI for this activity
*/ */
private void displayNotificationPopup() { private void displayNotificationPopup() {
// hide quick add
getView().findViewById(R.id.taskListFooter).setVisibility(View.GONE);
String title = extras.getString(Notifications.EXTRAS_TEXT); String title = extras.getString(Notifications.EXTRAS_TEXT);
long taskId = extras.getLong(TOKEN_ID); long taskId = extras.getLong(TOKEN_ID);
new ReminderDialog(preferences, taskService, (AstridActivity) getActivity(), taskId, title).show(); new ReminderDialog(preferences, taskService, (AstridActivity) getActivity(), taskId, title).show();

@ -5,35 +5,14 @@
*/ */
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.content.Context;
import android.content.Intent;
import android.text.Editable;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskEditFragment;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.activity.TaskListFragment.OnTaskListItemClickedListener;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalControlSet;
import com.todoroo.astrid.gcal.GCalHelper;
import com.todoroo.astrid.repeats.RepeatControlSet;
import com.todoroo.astrid.service.TaskCreator; import com.todoroo.astrid.service.TaskCreator;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
@ -53,150 +32,23 @@ import javax.inject.Inject;
* @author Tim Su <tim@astrid.com> * @author Tim Su <tim@astrid.com>
* *
*/ */
public class QuickAddBar extends LinearLayout { public class QuickAddBar {
private static final Logger log = LoggerFactory.getLogger(QuickAddBar.class); private static final Logger log = LoggerFactory.getLogger(QuickAddBar.class);
private ImageButton quickAddButton;
private EditText quickAddBox;
private LinearLayout quickAddControls;
private View quickAddControlsContainer;
private DeadlineControlSet deadlineControl;
private RepeatControlSet repeatControl;
private GCalControlSet gcalControl;
@Inject TaskService taskService; @Inject TaskService taskService;
@Inject TaskCreator taskCreator; @Inject TaskCreator taskCreator;
@Inject GCalHelper gcalHelper;
@Inject ActivityPreferences preferences; @Inject ActivityPreferences preferences;
@Inject DateChangedAlerts dateChangedAlerts; @Inject DateChangedAlerts dateChangedAlerts;
private TaskListActivity activity; private TaskListActivity activity;
private TaskListFragment fragment; private TaskListFragment fragment;
public QuickAddBar(Context context) { public void initialize(Injector injector, TaskListActivity myActivity, TaskListFragment myFragment) {
super(context);
}
public QuickAddBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public QuickAddBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void initialize(Injector injector, TaskListActivity myActivity, TaskListFragment myFragment,
final OnTaskListItemClickedListener mListener) {
injector.inject(this); // TODO: get rid of this injector.inject(this); // TODO: get rid of this
activity = myActivity; activity = myActivity;
fragment = myFragment; fragment = myFragment;
LayoutInflater.from(activity).inflate(R.layout.quick_add_bar, this);
quickAddControls = (LinearLayout) findViewById(R.id.taskListQuickaddControls);
quickAddControlsContainer = findViewById(R.id.taskListQuickaddControlsContainer);
// set listener for pressing enter in quick-add box
quickAddBox = (EditText) findViewById(R.id.quickAddText);
quickAddBox.setOnEditorActionListener(new OnEditorActionListener() {
/**
* When user presses enter, quick-add the task
*/
@Override
public boolean onEditorAction(TextView view, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_NULL
&& !TextUtils.isEmpty(quickAddBox.getText().toString().trim())) {
quickAddTask(quickAddBox.getText().toString(), true);
return true;
}
return false;
}
});
quickAddBox.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
final boolean controlsVisible = !TextUtils.isEmpty(s) && quickAddBox.hasFocus();
final boolean showControls = preferences.getBoolean(R.string.p_show_quickadd_controls, true);
final boolean plusVisible = !TextUtils.isEmpty(s);
final boolean hidePlus = preferences.getBoolean(R.string.p_hide_plus_button, false);
quickAddControlsContainer.postDelayed(new Runnable() {
@Override
public void run() {
quickAddButton.setVisibility((plusVisible || !hidePlus) ? View.VISIBLE : View.GONE);
quickAddControlsContainer.setVisibility((showControls && controlsVisible) ? View.VISIBLE : View.GONE);
}
}, 10);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {/**/}
@Override
public void afterTextChanged(Editable s) {/**/}
});
int fontSize = preferences.getIntegerFromString(R.string.p_fontSize, 18);
quickAddBox.setTextSize(Math.min(fontSize, 22));
quickAddButton = ((ImageButton) findViewById(
R.id.quickAddButton));
quickAddButton.setVisibility(preferences.getBoolean(R.string.p_hide_plus_button, false) ? View.GONE : View.VISIBLE);
// set listener for quick add button
quickAddButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Task task = quickAddTask(quickAddBox.getText().toString(), true);
if (task != null && task.getTitle().length() == 0) {
mListener.onTaskListItemClicked(task.getId());
}
}
});
// set listener for extended addbutton
quickAddButton.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Task task = quickAddTask(quickAddBox.getText().toString(),
false);
if (task == null) {
return true;
}
mListener.onTaskListItemClicked(task.getId());
return true;
}
});
setUpQuickAddControlSets();
}
private void setUpQuickAddControlSets() {
repeatControl = new RepeatControlSet(preferences, activity);
gcalControl = new GCalControlSet(preferences, gcalHelper, activity);
deadlineControl = new DeadlineControlSet(preferences, activity,
R.layout.control_set_default_display, null,
repeatControl.getDisplayView(), gcalControl.getDisplayView());
deadlineControl.setIsQuickadd();
resetControlSets(); resetControlSets();
LayoutParams lp = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1.0f);
View deadlineDisplay = deadlineControl.getDisplayView();
quickAddControls.addView(deadlineDisplay, 0, lp);
TextView tv = (TextView) deadlineDisplay.findViewById(R.id.display_row_edit);
tv.setGravity(Gravity.LEFT);
} }
private void resetControlSets() { private void resetControlSets() {
@ -207,10 +59,6 @@ public class QuickAddBar extends LinearLayout {
tagsTransitory.add(tagData.getName()); tagsTransitory.add(tagData.getName());
empty.putTransitory(TaskService.TRANS_TAGS, tagsTransitory); empty.putTransitory(TaskService.TRANS_TAGS, tagsTransitory);
} }
repeatControl.readFromTask(empty);
gcalControl.readFromTask(empty);
gcalControl.resetCalendarSelector();
deadlineControl.readFromTask(empty);
} }
// --- quick add task logic // --- quick add task logic
@ -236,25 +84,12 @@ public class QuickAddBar extends LinearLayout {
task.setTitle(title); // need this for calendar task.setTitle(title); // need this for calendar
} }
if (repeatControl.isRecurrenceSet()) {
repeatControl.writeToModel(task);
}
if (deadlineControl.isDeadlineSet()) {
task.clearValue(Task.HIDE_UNTIL);
deadlineControl.writeToModel(task);
TaskDao.createDefaultHideUntil(preferences, task);
}
gcalControl.writeToModel(task);
taskService.createWithValues(task, fragment.getFilter().valuesForNewTasks, title); taskService.createWithValues(task, fragment.getFilter().valuesForNewTasks, title);
resetControlSets(); resetControlSets();
taskCreator.addToCalendar(task, title); taskCreator.addToCalendar(task, title);
TextView quickAdd = (TextView) findViewById(R.id.quickAddText);
quickAdd.setText(""); //$NON-NLS-1$
if (selectNewTask) { if (selectNewTask) {
fragment.loadTaskListContent(); fragment.loadTaskListContent();
fragment.selectCustomId(task.getId()); fragment.selectCustomId(task.getId());
@ -263,6 +98,7 @@ public class QuickAddBar extends LinearLayout {
} else if (!TextUtils.isEmpty(task.getRecurrence())) { } else if (!TextUtils.isEmpty(task.getRecurrence())) {
showAlertForRepeatingTask(activity, task); showAlertForRepeatingTask(activity, task);
} }
activity.onTaskListItemClicked(task.getId());
} }
fragment.onTaskCreated(task); fragment.onTaskCreated(task);
@ -281,28 +117,4 @@ public class QuickAddBar extends LinearLayout {
private void showAlertForRepeatingTask(AstridActivity activity, Task task) { private void showAlertForRepeatingTask(AstridActivity activity, Task task) {
dateChangedAlerts.showRepeatChangedDialog(activity, task); dateChangedAlerts.showRepeatChangedDialog(activity, task);
} }
// --- instance methods
public EditText getQuickAddBox() {
return quickAddBox;
}
@Override
public void clearFocus() {
super.clearFocus();
quickAddBox.clearFocus();
}
public void performButtonClick() {
quickAddButton.performClick();
}
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == TaskEditFragment.REQUEST_CODE_CONTACT) {
return true;
}
return false;
}
} }

@ -48,14 +48,10 @@ public class AstridDefaultPreferenceSpec {
setPreference(prefs, editor, r, R.string.p_use_dark_theme, false); setPreference(prefs, editor, r, R.string.p_use_dark_theme, false);
setPreference(prefs, editor, r, R.string.p_show_quickadd_controls, true);
setPreference(prefs, editor, r, R.string.p_show_task_edit_comments, true); setPreference(prefs, editor, r, R.string.p_show_task_edit_comments, true);
setPreference(prefs, editor, r, R.string.p_use_date_shortcuts, false); setPreference(prefs, editor, r, R.string.p_use_date_shortcuts, false);
setPreference(prefs, editor, r, R.string.p_hide_plus_button, true);
setPreference(prefs, editor, r, R.string.p_rmd_quietStart_old, 22); // enable quiet hours by default setPreference(prefs, editor, r, R.string.p_rmd_quietStart_old, 22); // enable quiet hours by default
setIntIfUnset(prefs, editor, r, R.string.p_rmd_quietStart, r.getInteger(R.integer.default_quiet_hours_start)); setIntIfUnset(prefs, editor, r, R.string.p_rmd_quietStart, r.getInteger(R.integer.default_quiet_hours_start));

@ -195,11 +195,11 @@ public class WidgetUpdateService extends InjectingService {
if (preferences.isDarkWidgetTheme()) { if (preferences.isDarkWidgetTheme()) {
layout = R.layout.widget_initialized_dark; layout = R.layout.widget_initialized_dark;
titleColor = r.getColor(R.color.widget_text_color_dark); titleColor = r.getColor(R.color.widget_text_color_dark);
buttonDrawable = R.drawable.ic_action_new_light; buttonDrawable = R.drawable.ic_action_add_light;
} else { } else {
layout = R.layout.widget_initialized; layout = R.layout.widget_initialized;
titleColor = r.getColor(R.color.widget_text_color_light); titleColor = r.getColor(R.color.widget_text_color_light);
buttonDrawable = R.drawable.ic_action_new; buttonDrawable = R.drawable.ic_action_add;
} }
views = new RemoteViews(packageName, layout); views = new RemoteViews(packageName, layout);

@ -263,7 +263,6 @@ public class NavigationDrawerFragment extends InjectingFragment {
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) { if (mDrawerToggle.onOptionsItemSelected(item)) {
((TaskListActivity) getActivity()).hideKeyboard();
return true; return true;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 B

@ -1,87 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?attr/asQuickaddBackgroundColor"
android:orientation="vertical">
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="?attr/asThemeTextColor"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="49dip"
android:padding="3dip"
android:paddingBottom="0dip"
android:gravity="center_vertical"
android:orientation="horizontal">
<!-- Quick Add Task -->
<EditText android:id="@+id/quickAddText"
android:layout_width="wrap_content"
android:layout_height="39dip"
android:layout_marginRight="8dip"
android:layout_marginLeft="5dip"
android:layout_marginBottom="2dip"
android:layout_marginTop="2dip"
android:layout_weight="100"
android:paddingLeft="5dip"
android:background="?attr/asEditTextBackground"
android:textColor="?attr/asTextColor"
android:hint="@string/TLA_quick_add_hint"
android:textSize="16sp"
android:autoText="true"
android:capitalize="sentences"/>
<!-- Extended Add Button -->
<ImageButton android:id="@+id/quickAddButton"
android:layout_width="39dip"
android:layout_height="39dip"
android:layout_marginRight="5dip"
android:layout_weight="1"
android:background="@android:color/transparent"
android:src="?attr/ic_action_new"
android:scaleType="center"/>
</LinearLayout>
<LinearLayout
android:id="@+id/taskListQuickaddControlsContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="5dip"
android:background="#22000000"
android:visibility="gone">
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="?attr/asSeparatorBackground"/>
<LinearLayout
android:id="@+id/taskListQuickaddControls"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:orientation="horizontal">
<View
android:layout_height="fill_parent"
android:layout_width="1px"
android:background="?attr/asSeparatorBackground"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</merge>

@ -41,7 +41,7 @@
android:layout_height="39dip" android:layout_height="39dip"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="@drawable/ic_action_new_light" android:src="@drawable/ic_action_add_light"
android:scaleType="fitCenter"/> android:scaleType="fitCenter"/>
</LinearLayout> </LinearLayout>

@ -41,7 +41,7 @@
android:layout_height="39dip" android:layout_height="39dip"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="@drawable/ic_action_new" android:src="@drawable/ic_action_add"
android:scaleType="fitCenter"/> android:scaleType="fitCenter"/>
</LinearLayout> </LinearLayout>

@ -151,7 +151,7 @@
android:layout_marginLeft="3dip" android:layout_marginLeft="3dip"
android:layout_weight="1" android:layout_weight="1"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="?attr/ic_action_new" android:src="?attr/ic_action_add"
android:scaleType="center" android:scaleType="center"
android:visibility="gone" /> android:visibility="gone" />
</LinearLayout> </LinearLayout>

@ -1,27 +1,30 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--
<!--
** Copyright (c) 2012 Todoroo Inc ** Copyright (c) 2012 Todoroo Inc
** **
** See the file "LICENSE" for the full license governing this code. ** See the file "LICENSE" for the full license governing this code.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tasks="http://schemas.android.com/apk/res-auto"
android:id="@+id/taskListParent" android:id="@+id/taskListParent"
android:layout_width="fill_parent" style="@style/Content"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:descendantFocusability="beforeDescendants"
android:focusable="true" android:focusable="true"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:descendantFocusability="beforeDescendants"
style="@style/Content"
android:orientation="vertical"> android:orientation="vertical">
<!-- Body goes here --> <!-- Body goes here -->
<!-- Footer --> <com.faizmalkani.floatingactionbutton.FloatingActionButton
<com.todoroo.astrid.ui.QuickAddBar android:id="@+id/fab"
android:id="@+id/taskListFooter" android:layout_width="72dp"
android:layout_width="fill_parent" android:layout_height="72dp"
android:layout_height="wrap_content" android:layout_gravity="end|bottom"
android:orientation="vertical" android:layout_marginBottom="16dp"
style="@style/Content" /> android:layout_marginRight="16dp"
tasks:drawable="?attr/ic_action_add"
</LinearLayout> tasks:tint="?attr/asAbBackgroundColor"/>
</FrameLayout>

@ -12,7 +12,9 @@
android:id="@android:id/list" android:id="@android:id/list"
style="@style/ListView" style="@style/ListView"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" /> android:layout_height="fill_parent"
android:paddingBottom="104dp"
android:clipToPadding="false"/>
</android.support.v4.widget.SwipeRefreshLayout> </android.support.v4.widget.SwipeRefreshLayout>

@ -13,7 +13,9 @@
style="@style/ListView" style="@style/ListView"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:drawSelectorOnTop="false" /> android:drawSelectorOnTop="false"
android:paddingBottom="104dp"
android:clipToPadding="false" />
</android.support.v4.widget.SwipeRefreshLayout> </android.support.v4.widget.SwipeRefreshLayout>

@ -41,7 +41,7 @@
android:layout_height="39dip" android:layout_height="39dip"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="@drawable/ic_action_new" android:src="@drawable/ic_action_add"
android:scaleType="fitCenter"/> android:scaleType="fitCenter"/>
</LinearLayout> </LinearLayout>

@ -41,7 +41,7 @@
android:layout_height="39dip" android:layout_height="39dip"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="@drawable/ic_action_new" android:src="@drawable/ic_action_add"
android:scaleType="fitCenter"/> android:scaleType="fitCenter"/>
</LinearLayout> </LinearLayout>

@ -39,7 +39,7 @@
android:layout_height="39dip" android:layout_height="39dip"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:src="@drawable/ic_action_new" android:src="@drawable/ic_action_add"
android:scaleType="fitCenter"/> android:scaleType="fitCenter"/>
</LinearLayout> </LinearLayout>

@ -21,15 +21,14 @@
<attr name="asThemeTextColor" format="color"/> <attr name="asThemeTextColor" format="color"/>
<attr name="asEditTextBackground" format="reference"/> <attr name="asEditTextBackground" format="reference"/>
<attr name="asAbBackgroundColor" format="color"/> <attr name="asAbBackgroundColor" format="color"/>
<attr name="asQuickaddBackgroundColor" format="color" />
<attr name="asFilterSelectedIcon" format="reference"/> <attr name="asFilterSelectedIcon" format="reference"/>
<attr name="asTaskRowSelector" format="reference" /> <attr name="asTaskRowSelector" format="reference" />
<attr name="ic_action_add" format="reference" />
<attr name="ic_action_new_attachment" format="reference"/> <attr name="ic_action_new_attachment" format="reference"/>
<attr name="ic_action_discard" format="reference"/> <attr name="ic_action_discard" format="reference"/>
<attr name="ic_action_save" format="reference"/> <attr name="ic_action_save" format="reference"/>
<attr name="ic_action_cancel" format="reference"/> <attr name="ic_action_cancel" format="reference"/>
<attr name="ic_action_camera" format="reference"/> <attr name="ic_action_camera" format="reference"/>
<attr name="ic_action_new" format="reference"/>
<attr name="ic_action_mic" format="reference" /> <attr name="ic_action_mic" format="reference" />
<attr name="ic_action_search" format="reference"/> <attr name="ic_action_search" format="reference"/>
<attr name="ic_drawer" format="reference"/> <attr name="ic_drawer" format="reference"/>
@ -52,4 +51,12 @@
<attr name="shortcutLabels" format="reference"/> <attr name="shortcutLabels" format="reference"/>
</declare-styleable> </declare-styleable>
<declare-styleable name="FloatingActionButton">
<attr name="drawable" format="integer"/>
<attr name="tint" format="color"/>
<attr name="shadowRadius" format="float"/>
<attr name="shadowDx" format="float"/>
<attr name="shadowDy" format="float"/>
<attr name="shadowColor" format="integer"/>
</declare-styleable>
</resources> </resources>

@ -60,9 +60,6 @@
<!-- calendar reminders preference --> <!-- calendar reminders preference -->
<string name="p_calendar_reminders">p_calendar_reminder</string> <string name="p_calendar_reminders">p_calendar_reminder</string>
<!-- list view section key -->
<string name="p_list_view">p_list_view</string>
<!-- filters to show --> <!-- filters to show -->
<string name="p_filters_to_show">p_filters_to_show</string> <string name="p_filters_to_show">p_filters_to_show</string>
<string name="p_show_my_tasks_filter">p_show_my_tasks_f</string> <string name="p_show_my_tasks_filter">p_show_my_tasks_f</string>
@ -70,9 +67,6 @@
<string name="p_show_recently_modified_filter">p_show_recently_modified_f</string> <string name="p_show_recently_modified_filter">p_show_recently_modified_f</string>
<string name="p_show_not_in_list_filter">p_show_no_list_f</string> <string name="p_show_not_in_list_filter">p_show_no_list_f</string>
<!-- show quickadd controls -->
<string name="p_show_quickadd_controls">p_show_quickadd_controls</string>
<!-- show comments in task edit --> <!-- show comments in task edit -->
<string name="p_show_task_edit_comments">p_show_task_edit_comments</string> <string name="p_show_task_edit_comments">p_show_task_edit_comments</string>
@ -135,8 +129,6 @@
<string name="p_use_date_shortcuts">p_use_date_shortcuts</string> <string name="p_use_date_shortcuts">p_use_date_shortcuts</string>
<string name="p_hide_plus_button">p_hide_plus_button</string>
<string name="p_show_timer_shortcut">p_show_timer_shortcut</string> <string name="p_show_timer_shortcut">p_show_timer_shortcut</string>
<!-- ========================================================= DEFAULTS == --> <!-- ========================================================= DEFAULTS == -->

@ -66,9 +66,6 @@
<!-- Window title for displaying Custom Filter --> <!-- Window title for displaying Custom Filter -->
<string name="TLA_custom">Custom</string> <string name="TLA_custom">Custom</string>
<!-- slide 8d: Quick Add Edit Box Hint-->
<string name="TLA_quick_add_hint">Add a task</string>
<!-- Notification Volumne notification--> <!-- Notification Volumne notification-->
<string name="TLA_notification_volume_low">Notifications are muted. You won\'t be able to hear Tasks!</string> <string name="TLA_notification_volume_low">Notifications are muted. You won\'t be able to hear Tasks!</string>
@ -475,12 +472,6 @@
<!-- slide 34h --> <!-- slide 34h -->
<string name="EPr_fullTask_desc_disabled">First two lines of task title will be shown</string> <string name="EPr_fullTask_desc_disabled">First two lines of task title will be shown</string>
<!-- Preference: simple input box style -->
<string name="EPr_show_quickadd_controls">Advanced quickadd controls</string>
<!-- Preference: don't show plus button until input present -->
<string name="EPr_hide_plus_button">Hide plus button</string>
<!-- Preference: list view --> <!-- Preference: list view -->
<string name="EPr_list_view">List view</string> <string name="EPr_list_view">List view</string>

@ -24,16 +24,15 @@
<item name="asEditRowBackground">@drawable/task_edit_background</item> <item name="asEditRowBackground">@drawable/task_edit_background</item>
<item name="asThemeTextColor">@color/blue_theme_color</item> <item name="asThemeTextColor">@color/blue_theme_color</item>
<item name="asAbBackgroundColor">#000000</item> <item name="asAbBackgroundColor">#000000</item>
<item name="asQuickaddBackgroundColor">?attr/asAbBackgroundColor</item>
<item name="asFilterSelectedIcon">@drawable/filter_selected_icon</item> <item name="asFilterSelectedIcon">@drawable/filter_selected_icon</item>
<item name="asTaskRowSelector">@drawable/task_row_bg_dark</item> <item name="asTaskRowSelector">@drawable/task_row_bg_dark</item>
<item name="ic_action_add">@drawable/ic_action_add_light</item>
<item name="ic_action_new_attachment">@drawable/ic_action_new_attachment_light</item> <item name="ic_action_new_attachment">@drawable/ic_action_new_attachment_light</item>
<item name="ic_action_discard">@drawable/ic_action_discard_light</item> <item name="ic_action_discard">@drawable/ic_action_discard_light</item>
<item name="ic_action_save">@drawable/ic_action_save_light</item> <item name="ic_action_save">@drawable/ic_action_save_light</item>
<item name="ic_action_cancel">@drawable/ic_action_cancel_light</item> <item name="ic_action_cancel">@drawable/ic_action_cancel_light</item>
<item name="ic_action_camera">@drawable/ic_action_camera_light</item> <item name="ic_action_camera">@drawable/ic_action_camera_light</item>
<item name="ic_action_mic">@drawable/ic_action_mic_light</item> <item name="ic_action_mic">@drawable/ic_action_mic_light</item>
<item name="ic_action_new">@drawable/ic_action_new_light</item>
<item name="ic_action_search">@drawable/ic_action_search_light</item> <item name="ic_action_search">@drawable/ic_action_search_light</item>
<item name="ic_drawer">@drawable/ic_drawer_light</item> <item name="ic_drawer">@drawable/ic_drawer_light</item>
<item name="task_edit_theme_color">@color/blue_theme_color</item> <item name="task_edit_theme_color">@color/blue_theme_color</item>
@ -84,13 +83,13 @@
<item name="asTaskRowSelector">@drawable/task_row_bg_white</item> <item name="asTaskRowSelector">@drawable/task_row_bg_white</item>
<item name="asThemeTextColor">@color/dark_blue_theme_color</item> <item name="asThemeTextColor">@color/dark_blue_theme_color</item>
<item name="asAbBackgroundColor">#e9e9e9</item> <item name="asAbBackgroundColor">#e9e9e9</item>
<item name="ic_action_add">@drawable/ic_action_add</item>
<item name="ic_action_new_attachment">@drawable/ic_action_new_attachment</item> <item name="ic_action_new_attachment">@drawable/ic_action_new_attachment</item>
<item name="ic_action_discard">@drawable/ic_action_discard</item> <item name="ic_action_discard">@drawable/ic_action_discard</item>
<item name="ic_action_save">@drawable/ic_action_save</item> <item name="ic_action_save">@drawable/ic_action_save</item>
<item name="ic_action_cancel">@drawable/ic_action_cancel</item> <item name="ic_action_cancel">@drawable/ic_action_cancel</item>
<item name="ic_action_camera">@drawable/ic_action_camera</item> <item name="ic_action_camera">@drawable/ic_action_camera</item>
<item name="ic_action_mic">@drawable/ic_action_mic</item> <item name="ic_action_mic">@drawable/ic_action_mic</item>
<item name="ic_action_new">@drawable/ic_action_new</item>
<item name="ic_action_search">@drawable/ic_action_search</item> <item name="ic_action_search">@drawable/ic_action_search</item>
<item name="ic_drawer">@drawable/ic_drawer</item> <item name="ic_drawer">@drawable/ic_drawer</item>
<item name="task_edit_theme_color">@color/task_edit_selected</item> <item name="task_edit_theme_color">@color/task_edit_selected</item>

@ -66,38 +66,26 @@
</PreferenceScreen> </PreferenceScreen>
<PreferenceScreen android:title="@string/EPr_list_view" android:key="@string/p_list_view"> <PreferenceScreen android:title="@string/EPr_filters_to_show_title" android:key="@string/p_filters_to_show">
<PreferenceScreen android:title="@string/EPr_filters_to_show_title" android:key="@string/p_filters_to_show"> <com.todoroo.astrid.ui.MultilineCheckboxPreference
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:key="@string/p_show_my_tasks_filter"
android:key="@string/p_show_my_tasks_filter" android:title="@string/BFE_Active"
android:title="@string/BFE_Active" android:defaultValue="true"
android:defaultValue="true" android:enabled="false" />
android:enabled="false" /> <com.todoroo.astrid.ui.MultilineCheckboxPreference
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:key="@string/p_show_today_filter"
android:key="@string/p_show_today_filter" android:title="@string/today"
android:title="@string/today" android:defaultValue="true"/>
android:defaultValue="true"/> <com.todoroo.astrid.ui.MultilineCheckboxPreference
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:key="@string/p_show_recently_modified_filter"
android:key="@string/p_show_recently_modified_filter" android:title="@string/BFE_Recent"
android:title="@string/BFE_Recent" android:defaultValue="true"/>
android:defaultValue="true"/> <com.todoroo.astrid.ui.MultilineCheckboxPreference
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:key="@string/p_show_not_in_list_filter"
android:key="@string/p_show_not_in_list_filter" android:title="@string/tag_FEx_untagged"
android:title="@string/tag_FEx_untagged" android:defaultValue="true"/>
android:defaultValue="true"/>
</PreferenceScreen>
<com.todoroo.astrid.ui.MultilineCheckboxPreference
android:key="@string/p_show_quickadd_controls"
android:title="@string/EPr_show_quickadd_controls"
android:defaultValue="true" />
<com.todoroo.astrid.ui.MultilineCheckboxPreference
android:key="@string/p_hide_plus_button"
android:title="@string/EPr_hide_plus_button"
android:defaultValue="false"/>
</PreferenceScreen> </PreferenceScreen>
<com.todoroo.astrid.ui.MultilineCheckboxPreference <com.todoroo.astrid.ui.MultilineCheckboxPreference
android:key="@string/p_showSmartConfirmation_key" android:key="@string/p_showSmartConfirmation_key"
android:title="@string/EPr_showSmartConfirmation_title" android:title="@string/EPr_showSmartConfirmation_title"

Loading…
Cancel
Save