From fea2f9b9cf3d3cfd55656d1833e8045f90a462f2 Mon Sep 17 00:00:00 2001 From: relan <relan@users.noreply.github.com> Date: Wed, 6 Jan 2016 15:58:59 +0300 Subject: [PATCH 1/3] Use proper theme for CrashReportActivity It's an activity, not a dialog. --- F-Droid/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/F-Droid/AndroidManifest.xml b/F-Droid/AndroidManifest.xml index 38e219799..cddf0b524 100644 --- a/F-Droid/AndroidManifest.xml +++ b/F-Droid/AndroidManifest.xml @@ -378,7 +378,7 @@ </activity> <activity android:name="org.fdroid.fdroid.CrashReportActivity" - android:theme="@style/AlertDialogThemeDark" + android:theme="@style/AppThemeDark" android:process=":error_report" android:launchMode="singleInstance" android:excludeFromRecents="true" From 16170c0901dc7d022127ad366795a6bbfa3f04f2 Mon Sep 17 00:00:00 2001 From: relan <relan@users.noreply.github.com> Date: Thu, 7 Jan 2016 11:21:49 +0300 Subject: [PATCH 2/3] Fix null pointer exception on crash report sending EditText with comment is in the dialog, not in the activity. --- F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java b/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java index 91f83b2b9..3547c60a2 100644 --- a/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java @@ -9,6 +9,8 @@ import org.acra.BaseCrashReportDialog; public class CrashReportActivity extends BaseCrashReportDialog implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener { + private EditText comment; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -23,6 +25,8 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog dialog.setCanceledOnTouchOutside(false); dialog.setOnDismissListener(this); dialog.show(); + + comment = (EditText) dialog.findViewById(android.R.id.input); } @Override @@ -33,12 +37,11 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { - final String comment = ((EditText) findViewById(android.R.id.input)).getText().toString(); - sendCrash(comment, ""); + sendCrash(comment.getText().toString(), ""); } else { cancelReports(); } finish(); } -} \ No newline at end of file +} From e09e1dba0af9d34d7bf52c4598a1576ee620c9da Mon Sep 17 00:00:00 2001 From: relan <relan@users.noreply.github.com> Date: Thu, 7 Jan 2016 11:45:49 +0300 Subject: [PATCH 3/3] Properly handle CrashReportActivity recreation Retain comment text on device rotation. --- F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java b/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java index 3547c60a2..9f41aefdc 100644 --- a/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java @@ -9,6 +9,7 @@ import org.acra.BaseCrashReportDialog; public class CrashReportActivity extends BaseCrashReportDialog implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener { + private static final String STATE_COMMENT = "comment"; private EditText comment; @Override @@ -27,6 +28,9 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog dialog.show(); comment = (EditText) dialog.findViewById(android.R.id.input); + if (savedInstanceState != null) { + comment.setText(savedInstanceState.getString(STATE_COMMENT)); + } } @Override @@ -44,4 +48,9 @@ public class CrashReportActivity extends BaseCrashReportDialog implements Dialog finish(); } + @Override + protected void onSaveInstanceState(Bundle outState) { + outState.putString(STATE_COMMENT, comment.getText().toString()); + super.onSaveInstanceState(outState); + } }