deleting messages in messageView now preserves the direction the user was "travelling" in before the delete

This commit is contained in:
Jesse Vincent 2009-11-30 04:03:00 +00:00
parent 4f5c9c8b3c
commit da8ad69366
1 changed files with 23 additions and 1 deletions

View File

@ -124,6 +124,13 @@ public class MessageView extends K9Activity
private ArrayList<String> mMessageUids; private ArrayList<String> mMessageUids;
private Message mMessage; private Message mMessage;
private static final int PREVIOUS = 1;
private static final int NEXT = 1;
private int mLastDirection = PREVIOUS;
private String mNextMessageUid = null; private String mNextMessageUid = null;
private String mPreviousMessageUid = null; private String mPreviousMessageUid = null;
@ -763,7 +770,16 @@ public class MessageView extends K9Activity
folderForDelete, folderForDelete,
new Message[] { messageToDelete }, new Message[] { messageToDelete },
null); null);
if (mNextMessageUid != null)
if (mLastDirection == NEXT && mNextMessageUid != null)
{
onNext();
}
else if (mLastDirection == PREVIOUS && mPreviousMessageUid != null)
{
onPrevious();
}
else if (mNextMessageUid != null)
{ {
onNext(); onNext();
} }
@ -771,6 +787,9 @@ public class MessageView extends K9Activity
{ {
onPrevious(); onPrevious();
} }
else else
{ {
finish(); finish();
@ -949,6 +968,7 @@ public class MessageView extends K9Activity
Toast.makeText(this, getString(R.string.end_of_folder), Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.end_of_folder), Toast.LENGTH_SHORT).show();
return; return;
} }
mLastDirection = NEXT;
displayMessage(mNextMessageUid); displayMessage(mNextMessageUid);
mTopView.startAnimation(outToLeftAnimation()); mTopView.startAnimation(outToLeftAnimation());
next.requestFocus(); next.requestFocus();
@ -961,6 +981,8 @@ public class MessageView extends K9Activity
Toast.makeText(this, getString(R.string.end_of_folder), Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.end_of_folder), Toast.LENGTH_SHORT).show();
return; return;
} }
mLastDirection = PREVIOUS;
displayMessage(mPreviousMessageUid); displayMessage(mPreviousMessageUid);
mTopView.startAnimation(inFromRightAnimation()); mTopView.startAnimation(inFromRightAnimation());
previous.requestFocus(); previous.requestFocus();