Fix a NPE in replyfragment, and restoring reply after suspend.

captchafix
Florens Douwes 11 years ago
parent 37dfd1c804
commit d22ea3deff
  1. 4
      Clover/app/src/main/java/org/floens/chan/ui/activity/ReplyActivity.java
  2. 22
      Clover/app/src/main/java/org/floens/chan/ui/fragment/ReplyFragment.java

@ -42,7 +42,7 @@ public class ReplyActivity extends Activity {
ThemeHelper.setTheme(this); ThemeHelper.setTheme(this);
if (loadable != null) { if (loadable != null && savedInstanceState == null) {
getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);
FragmentTransaction ft = getFragmentManager().beginTransaction(); FragmentTransaction ft = getFragmentManager().beginTransaction();
@ -50,7 +50,7 @@ public class ReplyActivity extends Activity {
ft.commitAllowingStateLoss(); ft.commitAllowingStateLoss();
loadable = null; loadable = null;
} else { } else if (savedInstanceState == null) {
Logger.e(TAG, "ThreadFragment was null, exiting!"); Logger.e(TAG, "ThreadFragment was null, exiting!");
finish(); finish();
} }

@ -112,6 +112,7 @@ public class ReplyFragment extends DialogFragment {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
loadable.writeToBundle(context, outState); loadable.writeToBundle(context, outState);
outState.putBoolean(context.getPackageName() + ".quickmode", quickMode);
} }
@Override @Override
@ -123,6 +124,7 @@ public class ReplyFragment extends DialogFragment {
if (loadable == null && savedInstanceState != null) { if (loadable == null && savedInstanceState != null) {
loadable = new Loadable(); loadable = new Loadable();
loadable.readFromBundle(context, savedInstanceState); loadable.readFromBundle(context, savedInstanceState);
quickMode = savedInstanceState.getBoolean(context.getPackageName() + ".quickmode");
} }
if (loadable != null) { if (loadable != null) {
@ -170,6 +172,16 @@ public class ReplyFragment extends DialogFragment {
Selection.setSelection(commentView.getText(), commentView.getText().length()); Selection.setSelection(commentView.getText(), commentView.getText().length());
setFile(draft.fileName, draft.file); setFile(draft.fileName, draft.file);
if (loadable.isThreadMode()) {
subjectView.setVisibility(View.GONE);
}
if (quickMode) {
nameView.setVisibility(View.GONE);
emailView.setVisibility(View.GONE);
subjectView.setVisibility(View.GONE);
}
getCaptcha(); getCaptcha();
} else { } else {
Logger.e(TAG, "Loadable in ReplyFragment was null"); Logger.e(TAG, "Loadable in ReplyFragment was null");
@ -239,16 +251,6 @@ public class ReplyFragment extends DialogFragment {
container.findViewById(R.id.reply_captcha).setVisibility(View.GONE); container.findViewById(R.id.reply_captcha).setVisibility(View.GONE);
} }
if (quickMode) {
nameView.setVisibility(View.GONE);
emailView.setVisibility(View.GONE);
subjectView.setVisibility(View.GONE);
}
if (loadable.isThreadMode()) {
subjectView.setVisibility(View.GONE);
}
cancelButton = (Button) container.findViewById(R.id.reply_cancel); cancelButton = (Button) container.findViewById(R.id.reply_cancel);
cancelButton.setOnClickListener(new OnClickListener() { cancelButton.setOnClickListener(new OnClickListener() {
@Override @Override

Loading…
Cancel
Save