Android: Hook up settings interface

This commit is contained in:
Connor McLaughlin
2020-07-11 03:29:15 +10:00
parent 79841d13e2
commit f9cbc3acfb
12 changed files with 334 additions and 42 deletions

View File

@ -1,5 +1,6 @@
package com.github.stenzek.duckstation;
import android.content.Context;
import android.view.Surface;
public class AndroidHostInterface
@ -10,7 +11,7 @@ public class AndroidHostInterface
System.loadLibrary("duckstation-native");
}
static public native AndroidHostInterface create();
static public native AndroidHostInterface create(Context context);
public AndroidHostInterface(long nativePointer)
{

View File

@ -142,7 +142,7 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
}
});
mHostInterface = AndroidHostInterface.create();
mHostInterface = AndroidHostInterface.create(this);
if (mHostInterface == null)
throw new InstantiationError("Failed to create host interface");

View File

@ -6,7 +6,7 @@
<!-- Preference Titles -->
<string name="settings_console_header">Console</string>
<string name="settings_behavior_header">Behavior</string>
<string name="settings_host_synchronization_header">Host Synchronization</string>
<string name="settings_osd_header">On-Screen Display</string>
<string name="settings_cpu_header">CPU</string>
<string name="settings_gpu_header">GPU</string>
@ -20,18 +20,21 @@
<!-- Behavior Preferences -->
<string name="settings_behavior_enable_speed_limiter">Enable Speed Limiter</string>
<string name="settings_behavior_pause_on_start">Pause On Start</string>
<!-- Host Synchronization Preferences -->
<string name="settings_host_synchronization_sync_to_audio">Sync To Audio</string>
<string name="settings_host_synchronization_sync_to_video">Sync To Video</string>
<!-- OSD Preferences -->
<string name="settings_osd_show_messages">Show Messages</string>
<string name="settings_osd_show_speed">Show Emulation Speed</string>
<string name="settings_osd_show_show_fps">Show FPS</string>
<string name="settings_osd_show_show_vps">Show VPS</string>
<!-- CPU Preferences -->
<string name="settings_cpu_execution_mode">Execution Mode</string>
<string name="settings_cpu_execution_mode_default">Interpreter</string>
<!-- GPU Preferences -->
<string name="settings_gpu_renderer">Renderer</string>
<string name="settings_gpu_renderer_default">OpenGL</string>
<string name="settings_gpu_display_linear_filtering">Display Linear Filtering</string>
<string name="settings_gpu_resolution_scale">Resolution Scale</string>
<string name="settings_gpu_true_color">True 24-Bit Color (Disables Dithering)</string>

View File

@ -49,11 +49,13 @@
<SwitchPreferenceCompat
app:key="BIOS/PatchTTYEnable"
app:title="@string/settings_console_tty_output"
app:defaultValue="false"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="BIOS/PatchFastBoot"
app:title="@string/settings_console_fast_boot"
app:defaultValue="false"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
@ -62,6 +64,7 @@
<SwitchPreferenceCompat
app:key="General/SpeedLimiterEnabled"
app:title="@string/settings_behavior_enable_speed_limiter"
app:defaultValue="true"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="General/StartPaused"
@ -79,13 +82,36 @@
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_osd_header">
<SwitchPreferenceCompat
app:key="Display/ShowOSDMessages"
app:title="@string/settings_osd_show_messages"
app:defaultValue="true"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="Display/ShowSpeed"
app:title="@string/settings_osd_show_speed"
app:defaultValue="false"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="Display/ShowFPS"
app:title="@string/settings_osd_show_show_fps"
app:defaultValue="false"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="Display/ShowVPS"
app:title="@string/settings_osd_show_show_vps"
app:defaultValue="false"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_cpu_header">
<ListPreference
app:key="CPU/ExecutionMode"
app:title="@string/settings_cpu_execution_mode"
app:entries="@array/settings_cpu_execution_mode_entries"
app:entryValues="@array/settings_cpu_execution_mode_values"
app:defaultValue="@string/settings_cpu_execution_mode_default"
app:defaultValue="Recompiler"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_gpu_header">
@ -95,7 +121,7 @@
app:title="@string/settings_gpu_renderer"
app:entries="@array/gpu_renderer_entries"
app:entryValues="@array/gpu_renderer_values"
app:defaultValue="@string/settings_gpu_renderer_default"
app:defaultValue="OpenGL"
app:useSimpleSummaryProvider="true" />
<ListPreference
@ -103,12 +129,13 @@
app:title="@string/settings_gpu_resolution_scale"
app:entries="@array/settings_gpu_resolution_scale_entries"
app:entryValues="@array/settings_gpu_resolution_scale_values"
app:defaultValue="@string/settings_gpu_renderer_default"
app:defaultValue="1"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:key="GPU/TrueColor"
app:title="@string/settings_gpu_true_color"
app:defaultValue="true"/>
app:defaultValue="false"/>
<SwitchPreferenceCompat
app:key="Display/LinearFiltering"