summaryrefslogtreecommitdiff
path: root/android/android_studio_project/app
diff options
context:
space:
mode:
authorTriang3l <triang3l@yandex.ru>2022-01-30 18:36:11 +0300
committerTriang3l <triang3l@yandex.ru>2022-01-30 18:36:11 +0300
commitd2ef8d3300ea3d2633778df0248bbc8e99c484e1 (patch)
tree272002287f8857263bf20ca7f96fa0e049db2422 /android/android_studio_project/app
parentc5e33326404d32233498c14fa30fcb0252ff088c (diff)
[Base] Android error reporting via SIGABRT/RuntimeException
Diffstat (limited to 'android/android_studio_project/app')
-rw-r--r--android/android_studio_project/app/src/main/java/jp/xenia/XeniaRuntimeException.java21
-rw-r--r--android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java12
2 files changed, 27 insertions, 6 deletions
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);
}
}