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);
+    }
 }