From af4ae5e919af04d738150e5480794f04280104dc Mon Sep 17 00:00:00 2001 From: artdeell Date: Sun, 10 Dec 2023 14:51:27 +0300 Subject: [PATCH] Fix[msa]: handle PresentedExceptions without a set cause --- .../src/main/java/com/kdt/mcgui/mcAccountSpinner.java | 8 +++++++- .../authenticator/microsoft/MicrosoftBackgroundLogin.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app_pojavlauncher/src/main/java/com/kdt/mcgui/mcAccountSpinner.java b/app_pojavlauncher/src/main/java/com/kdt/mcgui/mcAccountSpinner.java index 43300ceb0..0cf849263 100644 --- a/app_pojavlauncher/src/main/java/com/kdt/mcgui/mcAccountSpinner.java +++ b/app_pojavlauncher/src/main/java/com/kdt/mcgui/mcAccountSpinner.java @@ -99,9 +99,15 @@ public class mcAccountSpinner extends AppCompatSpinner implements AdapterView.On private final ErrorListener mErrorListener = errorMessage -> { mLoginBarPaint.setColor(Color.RED); + Context context = getContext(); if(errorMessage instanceof PresentedException) { PresentedException exception = (PresentedException) errorMessage; - Tools.showError(getContext(), exception.toString(getContext()), exception.getCause()); + Throwable cause = exception.getCause(); + if(cause == null) { + Tools.dialog(context, context.getString(R.string.global_error), exception.toString(context)); + }else { + Tools.showError(context, exception.toString(context), exception.getCause()); + } }else { Tools.showError(getContext(), errorMessage); } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftBackgroundLogin.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftBackgroundLogin.java index b4191803b..b41e037a0 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftBackgroundLogin.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftBackgroundLogin.java @@ -104,7 +104,7 @@ public class MicrosoftBackgroundLogin { } }catch (Exception e){ - Log.e("MicroAuth", e.toString()); + Log.e("MicroAuth", "Exception thrown during authentication", e); if(errorListener != null) Tools.runOnUiThread(() -> errorListener.onLoginError(e)); }