diff --git a/app/src/main/java/org/mozilla/fenix/crashes/CrashReporterFragment.kt b/app/src/main/java/org/mozilla/fenix/crashes/CrashReporterFragment.kt index 40a018858..709eded28 100644 --- a/app/src/main/java/org/mozilla/fenix/crashes/CrashReporterFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/crashes/CrashReporterFragment.kt @@ -8,12 +8,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView import androidx.fragment.app.Fragment import androidx.navigation.Navigation import kotlinx.android.synthetic.main.fragment_crash_reporter.* import mozilla.components.lib.crash.Crash import org.mozilla.fenix.R import org.mozilla.fenix.ext.requireComponents +import org.mozilla.fenix.utils.Settings class CrashReporterFragment : Fragment() { override fun onCreateView( @@ -24,20 +26,21 @@ class CrashReporterFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val crashIntent = CrashReporterFragmentArgs.fromBundle(arguments!!).crashIntent - val crash = Crash.fromIntent(CrashReporterFragmentArgs.fromBundle(arguments!!).crashIntent) + + view.findViewById(R.id.title).text = + getString(R.string.tab_crash_title, context!!.getString(R.string.app_name)) + // TODO TelemetryWrapper.crashReporterOpened() closeTabButton.setOnClickListener { - val wantsToSubmitCrashReport = sendCrashCheckbox.isChecked val selectedSession = requireComponents.core.sessionManager.selectedSession selectedSession?.let { session -> requireComponents.useCases.tabsUseCases.removeTab.invoke(session) } // TODO TelemetryWrapper.crashReporterClosed(wantsSubmitCrashReport) - if (wantsToSubmitCrashReport) { + if (Settings.getInstance(context!!).isCrashReportingEnabled) { requireComponents.analytics.crashReporter.submitReport(crash) } diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 25745399f..e3f9735ed 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -38,6 +38,9 @@ class Settings private constructor(context: Context) { val defaultSearchEngineName: String get() = preferences.getString(appContext.getPreferenceKey(R.string.pref_key_search_engine), "") ?: "" + val isCrashReportingEnabled: Boolean + get() = preferences.getBoolean(appContext.getPreferenceKey(R.string.pref_key_crash_reporter), true) + val isTelemetryEnabled: Boolean get() = preferences.getBoolean(appContext.getPreferenceKey(R.string.pref_key_telemetry), true) @@ -61,9 +64,4 @@ class Settings private constructor(context: Context) { appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions), true ) - - fun crashReportingEnabled(): Boolean = preferences.getBoolean( - appContext.getPreferenceKey(R.string.pref_key_crash_reporter), - true - ) } diff --git a/app/src/main/res/drawable/crash_reporter_button.xml b/app/src/main/res/drawable/crash_reporter_button.xml new file mode 100644 index 000000000..2e10eed67 --- /dev/null +++ b/app/src/main/res/drawable/crash_reporter_button.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/fenix_error_1.png b/app/src/main/res/drawable/fenix_error_1.png new file mode 100644 index 000000000..bc44f4535 Binary files /dev/null and b/app/src/main/res/drawable/fenix_error_1.png differ diff --git a/app/src/main/res/layout/fragment_crash_reporter.xml b/app/src/main/res/layout/fragment_crash_reporter.xml index 610e2e1aa..cc68c20cc 100644 --- a/app/src/main/res/layout/fragment_crash_reporter.xml +++ b/app/src/main/res/layout/fragment_crash_reporter.xml @@ -5,7 +5,6 @@ @@ -13,12 +12,11 @@ @@ -26,58 +24,31 @@ android:id="@+id/title" android:layout_width="300dp" android:layout_height="wrap_content" - android:layout_marginTop="12dp" + android:layout_marginTop="6dp" android:lineSpacingExtra="8sp" android:singleLine="false" - android:text="@string/tab_crash_title" - android:textAlignment="center" - android:textColor="@color/search_text" - android:textSize="20sp" + android:textColor="@color/light_mode_text_color" + android:textSize="24sp" + android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/crash_tab_image" /> - - - -