diff --git a/astrid/res/anim/slide_left_in.xml b/astrid/res/anim/slide_left_in.xml
index f3ef425d5..0f29133a3 100644
--- a/astrid/res/anim/slide_left_in.xml
+++ b/astrid/res/anim/slide_left_in.xml
@@ -15,5 +15,5 @@
-->
-
+
diff --git a/astrid/res/anim/slide_left_out.xml b/astrid/res/anim/slide_left_out.xml
index eb9a036ed..ce7753f01 100644
--- a/astrid/res/anim/slide_left_out.xml
+++ b/astrid/res/anim/slide_left_out.xml
@@ -15,5 +15,5 @@
-->
-
+
diff --git a/astrid/res/anim/slide_right_in.xml b/astrid/res/anim/slide_right_in.xml
index 4b235d16d..2bd0bb053 100644
--- a/astrid/res/anim/slide_right_in.xml
+++ b/astrid/res/anim/slide_right_in.xml
@@ -15,5 +15,5 @@
-->
-
+
diff --git a/astrid/res/anim/slide_right_out.xml b/astrid/res/anim/slide_right_out.xml
index e6f1d65e9..c84f929e4 100644
--- a/astrid/res/anim/slide_right_out.xml
+++ b/astrid/res/anim/slide_right_out.xml
@@ -15,5 +15,5 @@
-->
-
+
diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java
index f05107afc..ef66662ef 100644
--- a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java
@@ -150,15 +150,20 @@ public class FilterListActivity extends ExpandableListActivity {
@Override
public void onClick(View v) {
finish();
- AndroidUtilities.callApiMethod(5, FilterListActivity.this, "overridePendingTransition", //$NON-NLS-1$
- new Class>[] { Integer.TYPE, Integer.TYPE },
- R.anim.slide_none, R.anim.slide_bottom_out);
}
});
onNewIntent(getIntent());
}
+ @Override
+ public void finish() {
+ super.finish();
+ AndroidUtilities.callApiMethod(5, FilterListActivity.this, "overridePendingTransition", //$NON-NLS-1$
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_left_in, R.anim.slide_left_out);
+ }
+
/**
* Called when receiving a new intent. Intents this class handles:
*
@@ -285,6 +290,7 @@ public class FilterListActivity extends ExpandableListActivity {
} else {
Intent intent = new Intent(FilterListActivity.this, TaskListActivity.class);
intent.putExtra(TaskListActivity.TOKEN_FILTER, filter);
+ intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true);
startActivityForResult(intent, REQUEST_VIEW_TASKS);
}
AndroidUtilities.callApiMethod(5, this, "overridePendingTransition", //$NON-NLS-1$
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
index d0ac952e0..6e61025c0 100755
--- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
@@ -152,6 +152,8 @@ public final class TaskEditActivity extends Activity {
public static final String TAB_MORE = "more"; //$NON-NLS-1$
+ public static final String OVERRIDE_FINISH_ANIM = "finishAnim";
+
// --- services
@Autowired
@@ -206,6 +208,8 @@ public final class TaskEditActivity extends Activity {
private Dialog whenDialog;
+ private boolean overrideFinishAnim;
+
/* ======================================================================
* ======================================================= initialization
* ====================================================================== */
@@ -225,6 +229,7 @@ public final class TaskEditActivity extends Activity {
// disable keyboard until user requests it
AndroidUtilities.suppressVirtualKeyboard(title);
+ overrideFinishAnim = getIntent().getBooleanExtra(OVERRIDE_FINISH_ANIM, true);
// if we were editing a task already, restore it
if(savedInstanceState != null && savedInstanceState.containsKey(TASK_IN_PROGRESS)) {
@@ -641,6 +646,11 @@ public final class TaskEditActivity extends Activity {
// abandon editing and delete the newly created task if
// no title was entered
+ if (overrideFinishAnim) {
+ AndroidUtilities.callApiMethod(5, this, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_right_in, R.anim.slide_right_out);
+ }
if(title.getText().length() == 0 && isNewTask && model.isSaved()) {
taskService.delete(model);
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
index 6472bc498..567b3186e 100644
--- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
@@ -156,6 +156,8 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
/** token for indicating source of TLA launch */
public static final String TOKEN_SOURCE = "source"; //$NON-NLS-1$
+ public static final String TOKEN_OVERRIDE_ANIM = "finishAnim"; //$NON-NLS-1$
+
private static final String LAST_AUTOSYNC_ATTEMPT = "last-autosync"; //$NON-NLS-1$
// --- instance variables
@@ -187,6 +189,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
protected Filter filter;
protected int sortFlags;
protected int sortSort;
+ protected boolean overrideFinishAnim;
private ImageButton voiceAddButton;
private ImageButton quickAddButton;
@@ -273,6 +276,11 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
super.onNewIntent(intent);
Bundle extras = intent.getExtras();
+ if (extras != null) {
+ overrideFinishAnim = extras.getBoolean(TOKEN_OVERRIDE_ANIM);
+ } else {
+ overrideFinishAnim = false;
+ }
String intentAction = intent.getAction();
if (Intent.ACTION_SEARCH.equals(intentAction)) {
String query = intent.getStringExtra(SearchManager.QUERY).trim();
@@ -431,6 +439,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
if(task != null && task.getValue(Task.TITLE).length() == 0) {
Intent intent = getOnClickQuickAddIntent(task);
startActivityForResult(intent, ACTIVITY_EDIT_TASK);
+ transitionForTaskEdit();
}
}
});
@@ -452,6 +461,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
return true;
Intent intent = getOnLongClickQuickAddIntent(task);
startActivityForResult(intent, ACTIVITY_EDIT_TASK);
+ transitionForTaskEdit();
return true;
}
});
@@ -502,6 +512,12 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
return intent;
}
+ public void transitionForTaskEdit() {
+ AndroidUtilities.callApiMethod(5, this, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_left_in, R.anim.slide_left_out);
+ }
+
private void setUpBackgroundJobs() {
backgroundTimer = new Timer();
@@ -579,6 +595,16 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
backgroundTimer.cancel();
}
+ @Override
+ public void finish() {
+ super.finish();
+ if (overrideFinishAnim) {
+ AndroidUtilities.callApiMethod(5, this, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_right_in, R.anim.slide_right_out);
+ }
+ }
+
/**
* Receiver which receives refresh intents
*
@@ -1171,6 +1197,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
intent = new Intent(TaskListActivity.this, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, itemId);
startActivityForResult(intent, ACTIVITY_EDIT_TASK);
+ transitionForTaskEdit();
return true;
}
@@ -1193,6 +1220,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
intent = new Intent(TaskListActivity.this, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId());
startActivityForResult(intent, ACTIVITY_EDIT_TASK);
+ transitionForTaskEdit();
return true;
}
@@ -1253,7 +1281,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
startActivity(intent);
AndroidUtilities.callApiMethod(5, this, "overridePendingTransition",
new Class>[] { Integer.TYPE, Integer.TYPE },
- R.anim.slide_bottom_in, R.anim.slide_none);
+ R.anim.slide_right_in, R.anim.slide_right_out);
}
@Override
diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
index 4a57c9727..7250ac9a5 100644
--- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
+++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
@@ -916,6 +916,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
Intent intent = new Intent(activity, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK);
+ AndroidUtilities.callApiMethod(5, activity, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_left_in, R.anim.slide_left_out);
} else {
flushSpecific(taskId);
try {
@@ -975,6 +978,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
Intent intent = new Intent(activity, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK);
+ AndroidUtilities.callApiMethod(5, activity, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_left_in, R.anim.slide_left_out);
}
} else {
// Register a temporary receiver in case we clicked a task with no actions forthcoming and should start
@@ -1001,6 +1007,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
Intent editIntent = new Intent(activity, TaskEditActivity.class);
editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(editIntent, TaskListActivity.ACTIVITY_EDIT_TASK);
+ AndroidUtilities.callApiMethod(5, activity, "overridePendingTransition",
+ new Class>[] { Integer.TYPE, Integer.TYPE },
+ R.anim.slide_left_in, R.anim.slide_left_out);
}
}
activity.unregisterReceiver(this);
diff --git a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java
index 24e5c62b1..cad843476 100644
--- a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java
+++ b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java
@@ -230,6 +230,7 @@ public class TasksWidget extends AppWidgetProvider {
Intent editIntent = new Intent(context, TaskEditActivity.class);
editIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+ editIntent.putExtra(TaskEditActivity.OVERRIDE_FINISH_ANIM, false);
if(filter != null && filter.valuesForNewTasks != null) {
String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks);
values = PermaSql.replacePlaceholders(values);