From 84aca2e1829b9ce7eb512fb4fe08844b11acb1e1 Mon Sep 17 00:00:00 2001 From: artdeell Date: Fri, 3 May 2024 21:23:20 +0300 Subject: [PATCH] Fix[dialog]: clipboard copies are no longer empty text --- .../kdt/pojavlaunch/FatalErrorActivity.java | 20 +++++++++++++------ .../main/java/net/kdt/pojavlaunch/Tools.java | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java index 429d8e764..925f6639b 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java @@ -1,10 +1,13 @@ package net.kdt.pojavlaunch; -import android.content.*; -import android.os.*; -import androidx.appcompat.app.*; -import android.util.*; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; public class FatalErrorActivity extends AppCompatActivity { @@ -13,8 +16,13 @@ public class FatalErrorActivity extends AppCompatActivity { super.onCreate(savedInstanceState); Bundle extras = getIntent().getExtras(); - boolean storageAllow = extras.getBoolean("storageAllow"); - final String stackTrace = Log.getStackTraceString((Throwable) extras.getSerializable("throwable")); + if(extras == null) { + finish(); + return; + } + boolean storageAllow = extras.getBoolean("storageAllow", false); + Throwable throwable = (Throwable) extras.getSerializable("throwable"); + final String stackTrace = throwable != null ? Tools.printToString(throwable) : ""; String strSavePath = extras.getString("savePath"); String errHeader = storageAllow ? "Crash stack trace saved to " + strSavePath + "." : diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index a087c3092..00be246e8 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -600,7 +600,7 @@ public final class Tools { .setNegativeButton(showMore ? R.string.error_show_less : R.string.error_show_more, (p1, p2) -> showError(ctx, titleId, rolledMessage, e, exitIfOk, !showMore)) .setNeutralButton(android.R.string.copy, (p1, p2) -> { ClipboardManager mgr = (ClipboardManager) ctx.getSystemService(Context.CLIPBOARD_SERVICE); - mgr.setPrimaryClip(ClipData.newPlainText("error", Log.getStackTraceString(e))); + mgr.setPrimaryClip(ClipData.newPlainText("error", printToString(e))); if(exitIfOk) { if (ctx instanceof MainActivity) { MainActivity.fullyExit();