Merge branch 'simplify-crash-activity' into 'master'

Fix crash report activity theme and behavior

Use proper theme, fix crash on sending and comment loss on device rotation.

See merge request 
This commit is contained in:
Peter Serwylo 2016-01-08 02:44:31 +00:00
commit 9aca7da375
2 changed files with 16 additions and 4 deletions

@ -378,7 +378,7 @@
</activity> </activity>
<activity <activity
android:name="org.fdroid.fdroid.CrashReportActivity" android:name="org.fdroid.fdroid.CrashReportActivity"
android:theme="@style/AlertDialogThemeDark" android:theme="@style/AppThemeDark"
android:process=":error_report" android:process=":error_report"
android:launchMode="singleInstance" android:launchMode="singleInstance"
android:excludeFromRecents="true" android:excludeFromRecents="true"

@ -9,6 +9,9 @@ import org.acra.BaseCrashReportDialog;
public class CrashReportActivity extends BaseCrashReportDialog implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener { public class CrashReportActivity extends BaseCrashReportDialog implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener {
private static final String STATE_COMMENT = "comment";
private EditText comment;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -23,6 +26,11 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog
dialog.setCanceledOnTouchOutside(false); dialog.setCanceledOnTouchOutside(false);
dialog.setOnDismissListener(this); dialog.setOnDismissListener(this);
dialog.show(); dialog.show();
comment = (EditText) dialog.findViewById(android.R.id.input);
if (savedInstanceState != null) {
comment.setText(savedInstanceState.getString(STATE_COMMENT));
}
} }
@Override @Override
@ -33,12 +41,16 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) { if (which == DialogInterface.BUTTON_POSITIVE) {
final String comment = ((EditText) findViewById(android.R.id.input)).getText().toString(); sendCrash(comment.getText().toString(), "");
sendCrash(comment, "");
} else { } else {
cancelReports(); cancelReports();
} }
finish(); finish();
} }
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString(STATE_COMMENT, comment.getText().toString());
super.onSaveInstanceState(outState);
}
} }