1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-08-13 17:03:48 -04:00

Fix NPE when fragment detached from activity

This commit is contained in:
cketti 2013-04-02 02:17:28 +02:00
parent bc665bffe1
commit 0ba4bf6973

View File

@ -100,6 +100,8 @@ public class MessageViewFragment extends SherlockFragment implements OnClickList
*/ */
private boolean mInitialized = false; private boolean mInitialized = false;
private Context mContext;
class MessageViewHandler extends Handler { class MessageViewHandler extends Handler {
@ -165,6 +167,8 @@ public class MessageViewFragment extends SherlockFragment implements OnClickList
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);
mContext = activity.getApplicationContext();
try { try {
mFragmentListener = (MessageViewFragmentListener) activity; mFragmentListener = (MessageViewFragmentListener) activity;
} catch (ClassCastException e) { } catch (ClassCastException e) {
@ -558,13 +562,13 @@ public class MessageViewFragment extends SherlockFragment implements OnClickList
public void run() { public void run() {
if (!clonedMessage.isSet(Flag.X_DOWNLOADED_FULL) && if (!clonedMessage.isSet(Flag.X_DOWNLOADED_FULL) &&
!clonedMessage.isSet(Flag.X_DOWNLOADED_PARTIAL)) { !clonedMessage.isSet(Flag.X_DOWNLOADED_PARTIAL)) {
String text = getString(R.string.message_view_downloading); String text = mContext.getString(R.string.message_view_downloading);
mMessageView.showStatusMessage(text); mMessageView.showStatusMessage(text);
} }
mMessageView.setHeaders(clonedMessage, account); mMessageView.setHeaders(clonedMessage, account);
final String subject = clonedMessage.getSubject(); final String subject = clonedMessage.getSubject();
if (subject == null || subject.equals("")) { if (subject == null || subject.equals("")) {
displayMessageSubject(getString(R.string.general_no_subject)); displayMessageSubject(mContext.getString(R.string.general_no_subject));
} else { } else {
displayMessageSubject(clonedMessage.getSubject()); displayMessageSubject(clonedMessage.getSubject());
} }
@ -619,7 +623,8 @@ public class MessageViewFragment extends SherlockFragment implements OnClickList
mHandler.networkError(); mHandler.networkError();
} }
if (mMessage == null || mMessage.isSet(Flag.X_DOWNLOADED_PARTIAL)) { if (mMessage == null || mMessage.isSet(Flag.X_DOWNLOADED_PARTIAL)) {
mMessageView.showStatusMessage(getString(R.string.webview_empty_message)); mMessageView.showStatusMessage(
mContext.getString(R.string.webview_empty_message));
} }
} }
}); });