Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 32 additions & 2 deletions src/org/wordpress/android/ui/posts/EditPostActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@
import java.util.Map;
import java.util.Random;
import java.util.Vector;
import java.util.zip.Checksum;
import java.util.zip.CRC32;

public class EditPostActivity extends SherlockFragmentActivity implements OnClickListener, OnTouchListener, TextWatcher,
WPEditText.OnSelectionChangedListener, OnFocusChangeListener, WPEditText.EditTextImeBackListener {
Expand Down Expand Up @@ -184,6 +186,7 @@ public class EditPostActivity extends SherlockFragmentActivity implements OnClic
private int mBlogID = -1;
private long mPostID = -1;
private long mCustomPubDate = 0;
private long mInitialPostCRC = 0;

private int mYear, mMonth, mDay, mHour, mMinute;
private int mStyleStart, mSelectionStart, mSelectionEnd;
Expand Down Expand Up @@ -499,6 +502,8 @@ else if (mQuickMediaType == Constants.QUICK_POST_VIDEO_LIBRARY)
mBquoteToggleButton.setOnClickListener(this);
mMoreButton.setOnClickListener(this);
softKeyboardHook();

mInitialPostCRC = computePostCRC();
}

private void prepareMediaGallery() {
Expand Down Expand Up @@ -968,9 +973,34 @@ public void onBackPressed() {
showCancelAlert(false);
}

private long computePostCRC() {
long crcValue = 0;
String textArray = "";
byte byteArray[] = null;
Checksum checksum = new CRC32();

Spinner postFormatSpinner = (Spinner) findViewById(R.id.postFormat);

textArray += mContentEditText.getText().toString();
textArray += mTitleEditText.getText().toString();
textArray += mPasswordEditText.getText().toString();
textArray += mLocationText.getText().toString();
textArray += mPubDateText.getText().toString();
textArray += mTagsEditText.getText().toString();
textArray += String.valueOf(mStatusSpinner.getSelectedItemPosition());
textArray += String.valueOf(postFormatSpinner.getSelectedItemPosition());

byteArray = textArray.getBytes();

checksum.update(byteArray,0,byteArray.length);
crcValue = checksum.getValue();

return crcValue;
}

private void showCancelAlert(final boolean isUpPress) {
// Empty post? Let's not prompt then.
if (mIsNew && mContentEditText.getText().toString().equals("") && mTitleEditText.getText().toString().equals("")) {
// Has the user not changed the post's content? Let's not prompt then.
if(mInitialPostCRC == computePostCRC()) {
finish();
return;
}
Expand Down