diff options
| author | Triang3l <triang3l@yandex.ru> | 2022-07-17 16:58:19 +0300 |
|---|---|---|
| committer | Triang3l <triang3l@yandex.ru> | 2022-07-17 16:58:25 +0300 |
| commit | 8948b2b557179893d84bc88b055ebeafabe058b9 (patch) | |
| tree | f46a324ba22ac0ed6f4e59fc2c201311d89297d2 /android | |
| parent | 421c9a80c5ed5e3bfe4af87e3b4e802f1db911ad (diff) | |
[Android] GPU trace viewer and launcher activities
Diffstat (limited to 'android')
6 files changed, 114 insertions, 3 deletions
diff --git a/android/android_studio_project/app/src/main/AndroidManifest.xml b/android/android_studio_project/app/src/main/AndroidManifest.xml index 25bf5a95f..ae06f2f11 100644 --- a/android/android_studio_project/app/src/main/AndroidManifest.xml +++ b/android/android_studio_project/app/src/main/AndroidManifest.xml @@ -30,14 +30,27 @@ android:theme="@android:style/Theme.Material.Light"> <activity - android:name="jp.xenia.emulator.WindowDemoActivity" - android:label="@string/activity_label_window_demo"> + android:name="jp.xenia.emulator.LauncherActivity" + android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity + android:name="jp.xenia.emulator.GpuTraceViewerActivity" + android:exported="true" + android:label="@string/activity_label_gpu_trace_viewer" + android:screenOrientation="sensorLandscape" + android:theme="@android:style/Theme.Material.Light.NoActionBar" /> + + <activity + android:name="jp.xenia.emulator.WindowDemoActivity" + android:exported="true" + android:label="@string/activity_label_window_demo" + android:theme="@android:style/Theme.Material.Light.NoActionBar" /> + </application> </manifest>
\ No newline at end of file diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/GpuTraceViewerActivity.java b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/GpuTraceViewerActivity.java new file mode 100644 index 000000000..f1fe8a306 --- /dev/null +++ b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/GpuTraceViewerActivity.java @@ -0,0 +1,18 @@ +package jp.xenia.emulator; + +import android.os.Bundle; + +public class GpuTraceViewerActivity extends WindowedAppActivity { + @Override + protected String getWindowedAppIdentifier() { + return "xenia_gpu_vulkan_trace_viewer"; + } + + @Override + protected void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_gpu_trace_viewer); + setWindowSurfaceView(findViewById(R.id.gpu_trace_viewer_surface_view)); + } +} diff --git a/android/android_studio_project/app/src/main/java/jp/xenia/emulator/LauncherActivity.java b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/LauncherActivity.java new file mode 100644 index 000000000..0c977f0e8 --- /dev/null +++ b/android/android_studio_project/app/src/main/java/jp/xenia/emulator/LauncherActivity.java @@ -0,0 +1,45 @@ +package jp.xenia.emulator; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.view.View; + +public class LauncherActivity extends Activity { + private static final int REQUEST_OPEN_GPU_TRACE_VIEWER = 0; + + @Override + protected void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_launcher); + } + + @Override + protected void onActivityResult( + final int requestCode, final int resultCode, final Intent data) { + if (requestCode == REQUEST_OPEN_GPU_TRACE_VIEWER && resultCode == RESULT_OK) { + final Uri uri = data.getData(); + if (uri != null) { + final Intent gpuTraceViewerIntent = new Intent(this, GpuTraceViewerActivity.class); + final Bundle gpuTraceViewerLaunchArguments = new Bundle(); + gpuTraceViewerLaunchArguments.putString("target_trace_file", uri.toString()); + gpuTraceViewerIntent.putExtra( + WindowedAppActivity.EXTRA_CVARS, gpuTraceViewerLaunchArguments); + startActivity(gpuTraceViewerIntent); + } + } + } + + public void onLaunchGpuTraceViewerClick(final View view) { + final Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("application/octet-stream"); + startActivityForResult(intent, REQUEST_OPEN_GPU_TRACE_VIEWER); + } + + public void onLaunchWindowDemoClick(final View view) { + startActivity(new Intent(this, WindowDemoActivity.class)); + } +} diff --git a/android/android_studio_project/app/src/main/res/layout/activity_gpu_trace_viewer.xml b/android/android_studio_project/app/src/main/res/layout/activity_gpu_trace_viewer.xml new file mode 100644 index 000000000..8e407ecdf --- /dev/null +++ b/android/android_studio_project/app/src/main/res/layout/activity_gpu_trace_viewer.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<jp.xenia.emulator.WindowSurfaceView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/gpu_trace_viewer_surface_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="jp.xenia.emulator.GpuTraceViewerActivity" /> diff --git a/android/android_studio_project/app/src/main/res/layout/activity_launcher.xml b/android/android_studio_project/app/src/main/res/layout/activity_launcher.xml new file mode 100644 index 000000000..15c5c3cc6 --- /dev/null +++ b/android/android_studio_project/app/src/main/res/layout/activity_launcher.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="jp.xenia.emulator.LauncherActivity"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <Button + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:onClick="onLaunchGpuTraceViewerClick" + android:text="@string/activity_label_gpu_trace_viewer" /> + + <Button + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:onClick="onLaunchWindowDemoClick" + android:text="@string/activity_label_window_demo" /> + + </LinearLayout> + +</ScrollView> diff --git a/android/android_studio_project/app/src/main/res/values/strings.xml b/android/android_studio_project/app/src/main/res/values/strings.xml index ed3f21a79..e32f55bfc 100644 --- a/android/android_studio_project/app/src/main/res/values/strings.xml +++ b/android/android_studio_project/app/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ <resources> <string name="app_name">Xenia</string> - <string name="activity_label_window_demo">Xenia Window Demo</string> + <string name="activity_label_gpu_trace_viewer">GPU Trace Viewer</string> + <string name="activity_label_window_demo">Window Demo</string> </resources>
\ No newline at end of file |
