Match animations to those on iphone

pull/14/head
Sam Bosley 13 years ago
parent f7465d78c2
commit b546dc86e8

@ -15,5 +15,5 @@
--> -->
<set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="100"/> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="250"/>
</set> </set>

@ -15,5 +15,5 @@
--> -->
<set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="100"/> <translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="250"/>
</set> </set>

@ -15,5 +15,5 @@
--> -->
<set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="100"/> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="250"/>
</set> </set>

@ -15,5 +15,5 @@
--> -->
<set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="100"/> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="250"/>
</set> </set>

@ -150,15 +150,20 @@ public class FilterListActivity extends ExpandableListActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
finish(); 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()); 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: * Called when receiving a new intent. Intents this class handles:
* <ul> * <ul>
@ -285,6 +290,7 @@ public class FilterListActivity extends ExpandableListActivity {
} else { } else {
Intent intent = new Intent(FilterListActivity.this, TaskListActivity.class); Intent intent = new Intent(FilterListActivity.this, TaskListActivity.class);
intent.putExtra(TaskListActivity.TOKEN_FILTER, filter); intent.putExtra(TaskListActivity.TOKEN_FILTER, filter);
intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true);
startActivityForResult(intent, REQUEST_VIEW_TASKS); startActivityForResult(intent, REQUEST_VIEW_TASKS);
} }
AndroidUtilities.callApiMethod(5, this, "overridePendingTransition", //$NON-NLS-1$ AndroidUtilities.callApiMethod(5, this, "overridePendingTransition", //$NON-NLS-1$

@ -152,6 +152,8 @@ public final class TaskEditActivity extends Activity {
public static final String TAB_MORE = "more"; //$NON-NLS-1$ public static final String TAB_MORE = "more"; //$NON-NLS-1$
public static final String OVERRIDE_FINISH_ANIM = "finishAnim";
// --- services // --- services
@Autowired @Autowired
@ -206,6 +208,8 @@ public final class TaskEditActivity extends Activity {
private Dialog whenDialog; private Dialog whenDialog;
private boolean overrideFinishAnim;
/* ====================================================================== /* ======================================================================
* ======================================================= initialization * ======================================================= initialization
* ====================================================================== */ * ====================================================================== */
@ -225,6 +229,7 @@ public final class TaskEditActivity extends Activity {
// disable keyboard until user requests it // disable keyboard until user requests it
AndroidUtilities.suppressVirtualKeyboard(title); AndroidUtilities.suppressVirtualKeyboard(title);
overrideFinishAnim = getIntent().getBooleanExtra(OVERRIDE_FINISH_ANIM, true);
// if we were editing a task already, restore it // if we were editing a task already, restore it
if(savedInstanceState != null && savedInstanceState.containsKey(TASK_IN_PROGRESS)) { 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 // abandon editing and delete the newly created task if
// no title was entered // 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()) { if(title.getText().length() == 0 && isNewTask && model.isSaved()) {
taskService.delete(model); taskService.delete(model);

@ -156,6 +156,8 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
/** token for indicating source of TLA launch */ /** token for indicating source of TLA launch */
public static final String TOKEN_SOURCE = "source"; //$NON-NLS-1$ 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$ private static final String LAST_AUTOSYNC_ATTEMPT = "last-autosync"; //$NON-NLS-1$
// --- instance variables // --- instance variables
@ -187,6 +189,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
protected Filter filter; protected Filter filter;
protected int sortFlags; protected int sortFlags;
protected int sortSort; protected int sortSort;
protected boolean overrideFinishAnim;
private ImageButton voiceAddButton; private ImageButton voiceAddButton;
private ImageButton quickAddButton; private ImageButton quickAddButton;
@ -273,6 +276,11 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
super.onNewIntent(intent); super.onNewIntent(intent);
Bundle extras = intent.getExtras(); Bundle extras = intent.getExtras();
if (extras != null) {
overrideFinishAnim = extras.getBoolean(TOKEN_OVERRIDE_ANIM);
} else {
overrideFinishAnim = false;
}
String intentAction = intent.getAction(); String intentAction = intent.getAction();
if (Intent.ACTION_SEARCH.equals(intentAction)) { if (Intent.ACTION_SEARCH.equals(intentAction)) {
String query = intent.getStringExtra(SearchManager.QUERY).trim(); 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) { if(task != null && task.getValue(Task.TITLE).length() == 0) {
Intent intent = getOnClickQuickAddIntent(task); Intent intent = getOnClickQuickAddIntent(task);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit();
} }
} }
}); });
@ -452,6 +461,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
return true; return true;
Intent intent = getOnLongClickQuickAddIntent(task); Intent intent = getOnLongClickQuickAddIntent(task);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit();
return true; return true;
} }
}); });
@ -502,6 +512,12 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
return intent; 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() { private void setUpBackgroundJobs() {
backgroundTimer = new Timer(); backgroundTimer = new Timer();
@ -579,6 +595,16 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
backgroundTimer.cancel(); 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 * Receiver which receives refresh intents
* *
@ -1171,6 +1197,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
intent = new Intent(TaskListActivity.this, TaskEditActivity.class); intent = new Intent(TaskListActivity.this, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, itemId); intent.putExtra(TaskEditActivity.TOKEN_ID, itemId);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit();
return true; return true;
} }
@ -1193,6 +1220,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
intent = new Intent(TaskListActivity.this, TaskEditActivity.class); intent = new Intent(TaskListActivity.this, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId()); intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId());
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit();
return true; return true;
} }
@ -1253,7 +1281,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
startActivity(intent); startActivity(intent);
AndroidUtilities.callApiMethod(5, this, "overridePendingTransition", AndroidUtilities.callApiMethod(5, this, "overridePendingTransition",
new Class<?>[] { Integer.TYPE, Integer.TYPE }, 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 @Override

@ -916,6 +916,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
Intent intent = new Intent(activity, TaskEditActivity.class); Intent intent = new Intent(activity, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); 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 { } else {
flushSpecific(taskId); flushSpecific(taskId);
try { try {
@ -975,6 +978,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
Intent intent = new Intent(activity, TaskEditActivity.class); Intent intent = new Intent(activity, TaskEditActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); 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 { } else {
// Register a temporary receiver in case we clicked a task with no actions forthcoming and should start // 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); Intent editIntent = new Intent(activity, TaskEditActivity.class);
editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId); editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
activity.startActivityForResult(editIntent, TaskListActivity.ACTIVITY_EDIT_TASK); 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); activity.unregisterReceiver(this);

@ -230,6 +230,7 @@ public class TasksWidget extends AppWidgetProvider {
Intent editIntent = new Intent(context, TaskEditActivity.class); Intent editIntent = new Intent(context, TaskEditActivity.class);
editIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); 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) { if(filter != null && filter.valuesForNewTasks != null) {
String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks); String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks);
values = PermaSql.replacePlaceholders(values); values = PermaSql.replacePlaceholders(values);

Loading…
Cancel
Save