Skip to content

Commit

Permalink
Merge pull request #3416 from wordpress-mobile/issue/2.8.1-fix-notifi…
Browse files Browse the repository at this point in the history
…cation-maxint-crash

Issue/2.8.1 fix notification maxint crash
  • Loading branch information
tonyr59h committed Dec 2, 2015
2 parents bddfa71 + 164222b commit 73d0141
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/org/wordpress/android/WordPressDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -1785,7 +1785,7 @@ public void saveNotes(List<Note> notes, boolean clearBeforeSaving) {
}
}

public Note getNoteById(int id) {
public Note getNoteById(long id) {
Cursor cursor = db.query(NOTES_TABLE, new String[] {"raw_note_data"}, "id=" + id, null, null, null, null);
cursor.moveToFirst();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ public class NotificationsActivity extends WPActionBarActivity
private static final String KEY_SELECTED_COMMENT_ID = "selected_comment_id";
private static final String KEY_SELECTED_POST_ID = "selected_post_id";

private static final int UNSPECIFIED_NOTE_ID = -1;
private static final long UNSPECIFIED_NOTE_ID = -1;

private NotificationsListFragment mNotesList;
private boolean mLoadingMore = false;
private boolean mFirstLoadComplete = false;
private BroadcastReceiver mBroadcastReceiver;
private boolean mDualPane;
private int mSelectedNoteId;
private long mSelectedNoteId;
private boolean mHasPerformedInitialUpdate;
private BlogPairId mTmpSelectedComment;
private BlogPairId mTmpSelectedReaderPost;
Expand Down Expand Up @@ -110,7 +110,7 @@ public void onCreate(Bundle savedInstanceState) {
private void restoreSavedInstance(final Bundle savedInstanceState) {
if (savedInstanceState != null) {
mHasPerformedInitialUpdate = savedInstanceState.getBoolean(KEY_INITIAL_UPDATE);
int noteId = savedInstanceState.getInt(NOTE_ID_EXTRA, UNSPECIFIED_NOTE_ID);
long noteId = savedInstanceState.getLong(NOTE_ID_EXTRA, UNSPECIFIED_NOTE_ID);

LoadNotesCallback notesLoadedCallback = new LoadNotesCallback() {
@Override
Expand Down Expand Up @@ -143,7 +143,7 @@ public void notesLoaded() {
}
}

private void loadNotes(final boolean launchWithNoteId, final int noteId, final LoadNotesCallback callback) {
private void loadNotes(final boolean launchWithNoteId, final long noteId, final LoadNotesCallback callback) {
new Thread() {
@Override
public void run() {
Expand Down Expand Up @@ -226,11 +226,11 @@ public void onBackStackChanged() {
/**
* Detect if Intent has a noteId extra and display that specific note detail fragment
*/
private void launchWithNoteId(int noteId) {
private void launchWithNoteId(long noteId) {
final Intent intent = getIntent();
if (noteId == UNSPECIFIED_NOTE_ID) {
if (intent.hasExtra(NOTE_ID_EXTRA)) {
noteId = Integer.valueOf(intent.getStringExtra(NOTE_ID_EXTRA));
noteId = Long.valueOf(intent.getStringExtra(NOTE_ID_EXTRA));
}
}
if (noteId != UNSPECIFIED_NOTE_ID) {
Expand All @@ -240,7 +240,7 @@ private void launchWithNoteId(int noteId) {
} else {
// find it/load it etc
Map<String, String> params = new HashMap<String, String>();
params.put("ids", Integer.toString(noteId));
params.put("ids", Long.toString(noteId));
NotesResponseHandler handler = new NotesResponseHandler() {
@Override
public void onNotes(List<Note> notes) {
Expand Down Expand Up @@ -364,8 +364,8 @@ private void openNote(final Note note, boolean scrollToNote) {
if (note == null || isFinishing() || isActivityDestroyed()) {
return;
}
mSelectedNoteId = StringUtils.stringToInt(note.getId());

mSelectedNoteId = StringUtils.stringToLong(note.getId());
mNotesList.setNoteSelected(note, scrollToNote);

// mark the note as read if it's unread
Expand Down Expand Up @@ -587,7 +587,7 @@ public void onSaveInstanceState(Bundle outState) {
outState.putBoolean("bug_19917_fix", true);
}
outState.putBoolean(KEY_INITIAL_UPDATE, mHasPerformedInitialUpdate);
outState.putInt(NOTE_ID_EXTRA, mSelectedNoteId);
outState.putLong(NOTE_ID_EXTRA, mSelectedNoteId);
if (mSelectedReaderPost != null) {
outState.putSerializable(KEY_SELECTED_POST_ID, mSelectedReaderPost);
}
Expand Down
15 changes: 14 additions & 1 deletion src/org/wordpress/android/util/StringUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -277,4 +277,17 @@ public static int stringToInt(String s, int defaultValue) {
return defaultValue;
}
}
}

public static long stringToLong(String s) {
return stringToLong(s, 0);
}
public static long stringToLong(String s, long defaultValue) {
if (s == null)
return defaultValue;
try {
return Long.valueOf(s);
} catch (NumberFormatException e) {
return defaultValue;
}
}
}

0 comments on commit 73d0141

Please sign in to comment.