From d2ef8d3300ea3d2633778df0248bbc8e99c484e1 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Sun, 30 Jan 2022 18:36:11 +0300 Subject: [Base] Android error reporting via SIGABRT/RuntimeException --- .../main/java/jp/xenia/XeniaRuntimeException.java | 21 +++++++++++++++++++++ .../java/jp/xenia/emulator/WindowedAppActivity.java | 12 ++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 android/android_studio_project/app/src/main/java/jp/xenia/XeniaRuntimeException.java (limited to 'android/android_studio_project/app/src/main/java') diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/XeniaRuntimeException.java b/android/android_studio_project/app/src/main/java/jp/xenia/XeniaRuntimeException.java new file mode 100644 index 000000000..93a046dfb --- /dev/null +++ b/android/android_studio_project/app/src/main/java/jp/xenia/XeniaRuntimeException.java @@ -0,0 +1,21 @@ +package jp.xenia; + +/** + * Base class for all unchecked exceptions thrown by the Xenia project components. + */ +public class XeniaRuntimeException extends RuntimeException { + public XeniaRuntimeException() { + } + + public XeniaRuntimeException(String name) { + super(name); + } + + public XeniaRuntimeException(String name, Throwable cause) { + super(name, cause); + } + + public XeniaRuntimeException(Exception cause) { + super(cause); + } +} diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java index dd89881c3..9deb60358 100644 --- a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java +++ b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java @@ -3,11 +3,10 @@ package jp.xenia.emulator; import android.app.Activity; import android.content.res.AssetManager; import android.os.Bundle; -import android.util.Log; -public abstract class WindowedAppActivity extends Activity { - private static final String TAG = "WindowedAppActivity"; +import jp.xenia.XeniaRuntimeException; +public abstract class WindowedAppActivity extends Activity { static { // TODO(Triang3l): Move all demos to libxenia.so. System.loadLibrary("xenia-ui-window-vulkan-demo"); @@ -26,11 +25,12 @@ public abstract class WindowedAppActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mAppContext = initializeWindowedAppOnCreateNative(getWindowedAppIdentifier(), getAssets()); + final String windowedAppIdentifier = getWindowedAppIdentifier(); + mAppContext = initializeWindowedAppOnCreateNative(windowedAppIdentifier, getAssets()); if (mAppContext == 0) { - Log.e(TAG, "Error initializing the windowed app"); finish(); - return; + throw new XeniaRuntimeException( + "Error initializing the windowed app " + windowedAppIdentifier); } } -- cgit v1.2.3