Use custom layout for ACRA report dialog, not default one.
Styling the default dialog was difficult and it doesn't obey some of the guidelines provided by the Android design docs: https://www.google.com/design/spec/components/dialogs.html#dialogs-specs (see "Content Guidelines") This change introduces a custom dialog extending the base ACRA reporting activity. Specifically, it introduces a padding of 24dp around the dialog contents.
This commit is contained in:
parent
e29b6cbdaf
commit
49d01e0ca3
@ -376,7 +376,8 @@
|
|||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value=".FDroid" />
|
android:value=".FDroid" />
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="org.acra.CrashReportDialog"
|
<activity
|
||||||
|
android:name="org.fdroid.fdroid.CrashReportActivity"
|
||||||
android:theme="@style/AlertDialogThemeDark"
|
android:theme="@style/AlertDialogThemeDark"
|
||||||
android:process=":error_report"
|
android:process=":error_report"
|
||||||
android:launchMode="singleInstance"
|
android:launchMode="singleInstance"
|
||||||
|
36
F-Droid/res/layout/crash_report_dialog.xml
Normal file
36
F-Droid/res/layout/crash_report_dialog.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:paddingLeft="24dp"
|
||||||
|
android:paddingRight="24dp"
|
||||||
|
android:paddingBottom="24dp"
|
||||||
|
android:paddingTop="20dp"
|
||||||
|
>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@android:id/text1"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/crash_dialog_text"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@android:id/text2"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:text="@string/crash_dialog_comment_prompt"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@android:id/input"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="textMultiLine"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
45
F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java
Normal file
45
F-Droid/src/org/fdroid/fdroid/CrashReportActivity.java
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package org.fdroid.fdroid;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.app.AlertDialog;
|
||||||
|
import android.widget.EditText;
|
||||||
|
|
||||||
|
import org.acra.BaseCrashReportDialog;
|
||||||
|
|
||||||
|
public class CrashReportActivity extends BaseCrashReportDialog implements DialogInterface.OnDismissListener, DialogInterface.OnClickListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
final AlertDialog dialog = new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.crash_dialog_title)
|
||||||
|
.setIcon(android.R.drawable.ic_dialog_alert)
|
||||||
|
.setView(R.layout.crash_report_dialog)
|
||||||
|
.setPositiveButton(R.string.ok, this)
|
||||||
|
.setNegativeButton(R.string.cancel, this)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
dialog.setCanceledOnTouchOutside(false);
|
||||||
|
dialog.setOnDismissListener(this);
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(DialogInterface dialog) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@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, "");
|
||||||
|
} else {
|
||||||
|
cancelReports();
|
||||||
|
}
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -67,9 +67,7 @@ import sun.net.www.protocol.bluetooth.Handler;
|
|||||||
|
|
||||||
@ReportsCrashes(mailTo = "reports@f-droid.org",
|
@ReportsCrashes(mailTo = "reports@f-droid.org",
|
||||||
mode = ReportingInteractionMode.DIALOG,
|
mode = ReportingInteractionMode.DIALOG,
|
||||||
resDialogTitle = R.string.crash_dialog_title,
|
reportDialogClass = CrashReportActivity.class
|
||||||
resDialogText = R.string.crash_dialog_text,
|
|
||||||
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt
|
|
||||||
)
|
)
|
||||||
public class FDroidApp extends Application {
|
public class FDroidApp extends Application {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user