diff --git a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java
index cce2ea880..f3e766400 100755
--- a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java
+++ b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java
@@ -680,7 +680,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
// abandon editing in this case
if (title.getText().toString().trim().length() == 0 || TextUtils.isEmpty(model.getTitle())) {
if (isNewTask) {
- TimerPlugin.updateTimer(notificationManager, taskService, getActivity(), model, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, getActivity(), model);
taskDeleter.delete(model);
if (getActivity() instanceof TaskListActivity) {
TaskListActivity tla = (TaskListActivity) getActivity();
@@ -698,7 +698,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- TimerPlugin.updateTimer(notificationManager, taskService, getActivity(), model, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, getActivity(), model);
taskDeleter.delete(model);
shouldSaveState = false;
diff --git a/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java
index f08b561ac..375af39de 100644
--- a/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java
+++ b/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java
@@ -795,7 +795,7 @@ public class TaskListFragment extends InjectingListFragment implements SwipeRefr
}
}
}
- TimerPlugin.updateTimer(notificationManager, taskService, context, task, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, context, task);
}
public void refreshFilterCount() {
@@ -853,7 +853,7 @@ public class TaskListFragment extends InjectingListFragment implements SwipeRefr
itemId = item.getGroupId();
Task task = new Task();
task.setId(itemId);
- TimerPlugin.updateTimer(notificationManager, taskService, getActivity(), task, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, getActivity(), task);
taskDeleter.purge(itemId);
loadTaskListContent();
return true;
diff --git a/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java b/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java
index 0883e0074..e174ab534 100644
--- a/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java
+++ b/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java
@@ -6,7 +6,9 @@
package com.todoroo.astrid.timers;
import android.app.Activity;
+import android.graphics.drawable.Drawable;
import android.os.SystemClock;
+import android.support.v4.graphics.drawable.DrawableCompat;
import android.text.format.DateFormat;
import android.view.View;
import android.view.View.OnClickListener;
@@ -42,14 +44,14 @@ public class TimerActionControlSet extends TaskEditControlSetBase {
@Override
public void onClick(View v) {
if (timerActive) {
- TimerPlugin.updateTimer(notificationManager, taskService, activity, model, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, activity, model);
for (TimerActionListener listener : listeners) {
listener.timerStopped(model);
}
chronometer.stop();
} else {
- TimerPlugin.updateTimer(notificationManager, taskService, activity, model, true);
+ TimerPlugin.startTimer(notificationManager, taskService, activity, model);
for (TimerActionListener listener : listeners) {
listener.timerStarted(model);
}
@@ -81,14 +83,10 @@ public class TimerActionControlSet extends TaskEditControlSetBase {
}
private void updateDisplay() {
- final int drawable;
- if(timerActive) {
- drawable = R.drawable.icn_timer_stop;
- } else {
- drawable = R.drawable.icn_edit_timer;
- }
- timerButton.setImageResource(drawable);
-
+ int drawableRes = timerActive ? R.drawable.ic_pause_24dp : R.drawable.ic_play_arrow_24dp;
+ final Drawable drawable = DrawableCompat.wrap(activity.getResources().getDrawable(drawableRes));
+ DrawableCompat.setTint(drawable, activity.getResources().getColor(android.R.color.white));
+ timerButton.setImageDrawable(drawable);
long elapsed = model.getElapsedSeconds() * 1000L;
if (timerActive) {
diff --git a/src/main/java/com/todoroo/astrid/timers/TimerPlugin.java b/src/main/java/com/todoroo/astrid/timers/TimerPlugin.java
index 8dda9bdad..c5df3935d 100644
--- a/src/main/java/com/todoroo/astrid/timers/TimerPlugin.java
+++ b/src/main/java/com/todoroo/astrid/timers/TimerPlugin.java
@@ -27,16 +27,19 @@ import static org.tasks.time.DateTimeUtils.currentTimeMillis;
public class TimerPlugin {
+ public static void startTimer(NotificationManager notificationManager, TaskService taskService, Context context, Task task) {
+ updateTimer(notificationManager, taskService, context, task, true);
+ }
+
+ public static void stopTimer(NotificationManager notificationManager, TaskService taskService, Context context, Task task) {
+ updateTimer(notificationManager, taskService, context, task, false);
+ }
+
/**
* toggles timer and updates elapsed time.
* @param start if true, start timer. else, stop it
*/
- public static void updateTimer(NotificationManager notificationManager, TaskService taskService, Context context, Task task, boolean start) {
- // if this call comes from tasklist, then we need to fill in the gaps to handle this correctly
- // this is needed just for stopping a task
- if (!task.containsNonNullValue(Task.TIMER_START)) {
- task = taskService.fetchById(task.getId(), Task.ID, Task.TIMER_START, Task.ELAPSED_SECONDS);
- }
+ private static void updateTimer(NotificationManager notificationManager, TaskService taskService, Context context, Task task, boolean start) {
if (task == null) {
return;
}
@@ -46,6 +49,15 @@ public class TimerPlugin {
task.setTimerStart(DateUtilities.now());
}
} else {
+ // if this call comes from tasklist, then we need to fill in the gaps to handle this correctly
+ // this is needed just for stopping a task
+ if (!task.containsNonNullValue(Task.TIMER_START)) {
+ task = taskService.fetchById(task.getId(), Task.ID, Task.TIMER_START, Task.ELAPSED_SECONDS);
+ }
+ if (task == null) {
+ return;
+ }
+
if(task.getTimerStart() > 0) {
int newElapsed = (int)((DateUtilities.now() - task.getTimerStart()) / 1000L);
task.setTimerStart(0L);
@@ -80,7 +92,7 @@ public class TimerPlugin {
.setContentTitle(appName)
.setContentText(text)
.setWhen(currentTimeMillis())
- .setSmallIcon(R.drawable.timers_notification)
+ .setSmallIcon(R.drawable.ic_timer_white_24dp)
.setAutoCancel(false)
.setOngoing(true)
.build();
diff --git a/src/main/java/com/todoroo/astrid/timers/TimerTaskCompleteListener.java b/src/main/java/com/todoroo/astrid/timers/TimerTaskCompleteListener.java
index 6e1fbc0df..58760ff42 100644
--- a/src/main/java/com/todoroo/astrid/timers/TimerTaskCompleteListener.java
+++ b/src/main/java/com/todoroo/astrid/timers/TimerTaskCompleteListener.java
@@ -37,6 +37,6 @@ public class TimerTaskCompleteListener extends InjectingBroadcastReceiver {
return;
}
- TimerPlugin.updateTimer(notificationManager, taskService, context, task, false);
+ TimerPlugin.stopTimer(notificationManager, taskService, context, task);
}
}
diff --git a/src/main/res/drawable-hdpi/ic_timer_white_24dp.png b/src/main/res/drawable-hdpi/ic_timer_white_24dp.png
new file mode 100644
index 000000000..10619fc8c
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_timer_white_24dp.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_timer_white_24dp.png b/src/main/res/drawable-xhdpi/ic_timer_white_24dp.png
new file mode 100644
index 000000000..9d239966f
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_timer_white_24dp.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_timer_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_timer_white_24dp.png
new file mode 100644
index 000000000..bb6f9a63b
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_timer_white_24dp.png differ
diff --git a/src/main/res/drawable/ic_pause_24dp.xml b/src/main/res/drawable/ic_pause_24dp.xml
new file mode 100644
index 000000000..b2ff04582
--- /dev/null
+++ b/src/main/res/drawable/ic_pause_24dp.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/main/res/drawable/ic_play_arrow_24dp.xml b/src/main/res/drawable/ic_play_arrow_24dp.xml
new file mode 100644
index 000000000..3100224e2
--- /dev/null
+++ b/src/main/res/drawable/ic_play_arrow_24dp.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/main/res/drawable/ic_timer_white_24dp.png b/src/main/res/drawable/ic_timer_white_24dp.png
new file mode 100644
index 000000000..72e1320c4
Binary files /dev/null and b/src/main/res/drawable/ic_timer_white_24dp.png differ
diff --git a/src/main/res/drawable/icn_edit_timer.png b/src/main/res/drawable/icn_edit_timer.png
deleted file mode 100644
index da6ce4548..000000000
Binary files a/src/main/res/drawable/icn_edit_timer.png and /dev/null differ
diff --git a/src/main/res/drawable/icn_timer_stop.png b/src/main/res/drawable/icn_timer_stop.png
deleted file mode 100644
index aa6bea14c..000000000
Binary files a/src/main/res/drawable/icn_timer_stop.png and /dev/null differ
diff --git a/src/main/res/drawable/timers_notification.png b/src/main/res/drawable/timers_notification.png
deleted file mode 100644
index 6484e6e7d..000000000
Binary files a/src/main/res/drawable/timers_notification.png and /dev/null differ
diff --git a/src/main/res/layout/task_edit_activity.xml b/src/main/res/layout/task_edit_activity.xml
index af3fcb624..3c72ec89c 100644
--- a/src/main/res/layout/task_edit_activity.xml
+++ b/src/main/res/layout/task_edit_activity.xml
@@ -118,7 +118,6 @@
android:layout_width="fill_parent"
android:layout_height="25dip"
android:layout_weight="1"
- android:background="#00000000"
android:gravity="center_vertical|center_horizontal"
android:paddingRight="5dip"
android:paddingLeft="5dip"
@@ -130,7 +129,7 @@
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center_horizontal"
- android:textColor="?attr/asThemeTextColor"
+ android:textColor="@android:color/white"
android:textSize="10sp"
android:visibility="visible" />