diff options
| author | Triang3l <triang3l@yandex.ru> | 2021-09-18 20:32:24 +0300 |
|---|---|---|
| committer | Triang3l <triang3l@yandex.ru> | 2021-09-18 20:32:24 +0300 |
| commit | 26a2d814da8da553b736ac630f2807cbf0c47942 (patch) | |
| tree | 6b77981db89ef42b13a89fbb5213b29ffc811fe6 /android/android_studio_project/app/src/main/java | |
| parent | 347c9f01fdc6d87159a98e754717c3423a801d2a (diff) | |
[UI] android.app.NativeActivity > WindowedAppActivity + code style
Diffstat (limited to 'android/android_studio_project/app/src/main/java')
3 files changed, 53 insertions, 12 deletions
diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/DemoActivity.java b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/DemoActivity.java deleted file mode 100644 index 970bd9b03..000000000 --- a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/DemoActivity.java +++ /dev/null @@ -1,12 +0,0 @@ -package jp.xenia.emulator; - -import android.app.Activity; -import android.os.Bundle; - -public class DemoActivity extends Activity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_demo); - } -}
\ No newline at end of file diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowDemoActivity.java b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowDemoActivity.java new file mode 100644 index 000000000..a0dd36f0e --- /dev/null +++ b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowDemoActivity.java @@ -0,0 +1,8 @@ +package jp.xenia.emulator; + +public class WindowDemoActivity extends WindowedAppActivity { + @Override + protected String getWindowedAppIdentifier() { + return "xenia_ui_window_vulkan_demo"; + } +} 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 new file mode 100644 index 000000000..dd89881c3 --- /dev/null +++ b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/WindowedAppActivity.java @@ -0,0 +1,45 @@ +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"; + + static { + // TODO(Triang3l): Move all demos to libxenia.so. + System.loadLibrary("xenia-ui-window-vulkan-demo"); + } + + private long mAppContext; + + private native long initializeWindowedAppOnCreateNative( + String windowedAppIdentifier, AssetManager assetManager); + + private native void onDestroyNative(long appContext); + + protected abstract String getWindowedAppIdentifier(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mAppContext = initializeWindowedAppOnCreateNative(getWindowedAppIdentifier(), getAssets()); + if (mAppContext == 0) { + Log.e(TAG, "Error initializing the windowed app"); + finish(); + return; + } + } + + @Override + protected void onDestroy() { + if (mAppContext != 0) { + onDestroyNative(mAppContext); + } + mAppContext = 0; + super.onDestroy(); + } +} |
