mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-11-23 04:29:16 +01:00
Rename SettingsValues
to NativeSettings
The previous name was chosen as an afterthought and didn't clearly indicate what the purpose of the class is. We needed a separate, simple class without delegates members (like PreferenceSettings), so that its fields can be easily accessed via JNI to get settings values from native code.
This commit is contained in:
parent
f734c4d145
commit
5aa2a4cd1c
@ -231,13 +231,13 @@ extern "C" JNIEXPORT void JNICALL Java_emu_skyline_EmulationActivity_setTouchSta
|
|||||||
env->ReleaseIntArrayElements(pointsJni, reinterpret_cast<jint *>(points.data()), JNI_ABORT);
|
env->ReleaseIntArrayElements(pointsJni, reinterpret_cast<jint *>(points.data()), JNI_ABORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" JNIEXPORT void JNICALL Java_emu_skyline_utils_SettingsValues_updateNative(JNIEnv *env, jobject) {
|
extern "C" JNIEXPORT void JNICALL Java_emu_skyline_utils_NativeSettings_updateNative(JNIEnv *env, jobject) {
|
||||||
auto settings{SettingsWeak.lock()};
|
auto settings{SettingsWeak.lock()};
|
||||||
if (!settings)
|
if (!settings)
|
||||||
return; // We don't mind if we miss settings updates while settings haven't been initialized
|
return; // We don't mind if we miss settings updates while settings haven't been initialized
|
||||||
settings->Update();
|
settings->Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" JNIEXPORT void JNICALL Java_emu_skyline_utils_SettingsValues_00024Companion_setLogLevel(JNIEnv *, jobject, jint logLevel) {
|
extern "C" JNIEXPORT void JNICALL Java_emu_skyline_utils_NativeSettings_00024Companion_setLogLevel(JNIEnv *, jobject, jint logLevel) {
|
||||||
skyline::Logger::configLevel = static_cast<skyline::Logger::LogLevel>(logLevel);
|
skyline::Logger::configLevel = static_cast<skyline::Logger::LogLevel>(logLevel);
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ import emu.skyline.input.*
|
|||||||
import emu.skyline.loader.getRomFormat
|
import emu.skyline.loader.getRomFormat
|
||||||
import emu.skyline.utils.PreferenceSettings
|
import emu.skyline.utils.PreferenceSettings
|
||||||
import emu.skyline.utils.ByteBufferSerializable
|
import emu.skyline.utils.ByteBufferSerializable
|
||||||
import emu.skyline.utils.SettingsValues
|
import emu.skyline.utils.NativeSettings
|
||||||
import java.nio.ByteBuffer
|
import java.nio.ByteBuffer
|
||||||
import java.nio.ByteOrder
|
import java.nio.ByteOrder
|
||||||
import java.util.concurrent.FutureTask
|
import java.util.concurrent.FutureTask
|
||||||
@ -85,13 +85,13 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
|
|||||||
* @param romUri The URI of the ROM as a string, used to print out in the logs
|
* @param romUri The URI of the ROM as a string, used to print out in the logs
|
||||||
* @param romType The type of the ROM as an enum value
|
* @param romType The type of the ROM as an enum value
|
||||||
* @param romFd The file descriptor of the ROM object
|
* @param romFd The file descriptor of the ROM object
|
||||||
* @param settingsValues The SettingsValues instance
|
* @param nativeSettings The settings to be used by libskyline
|
||||||
* @param publicAppFilesPath The full path to the public app files directory
|
* @param publicAppFilesPath The full path to the public app files directory
|
||||||
* @param privateAppFilesPath The full path to the private app files directory
|
* @param privateAppFilesPath The full path to the private app files directory
|
||||||
* @param nativeLibraryPath The full path to the app native library directory
|
* @param nativeLibraryPath The full path to the app native library directory
|
||||||
* @param assetManager The asset manager used for accessing app assets
|
* @param assetManager The asset manager used for accessing app assets
|
||||||
*/
|
*/
|
||||||
private external fun executeApplication(romUri : String, romType : Int, romFd : Int, settingsValues : SettingsValues, publicAppFilesPath : String, privateAppFilesPath : String, nativeLibraryPath : String, assetManager : AssetManager)
|
private external fun executeApplication(romUri : String, romType : Int, romFd : Int, nativeSettings : NativeSettings, publicAppFilesPath : String, privateAppFilesPath : String, nativeLibraryPath : String, assetManager : AssetManager)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param join If the function should only return after all the threads join or immediately
|
* @param join If the function should only return after all the threads join or immediately
|
||||||
@ -249,7 +249,7 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
|
|||||||
val romFd = contentResolver.openFileDescriptor(rom, "r")!!
|
val romFd = contentResolver.openFileDescriptor(rom, "r")!!
|
||||||
|
|
||||||
emulationThread = Thread {
|
emulationThread = Thread {
|
||||||
executeApplication(rom.toString(), romType, romFd.detachFd(), SettingsValues(preferenceSettings), applicationContext.getPublicFilesDir().canonicalPath + "/", applicationContext.filesDir.canonicalPath + "/", applicationInfo.nativeLibraryDir + "/", assets)
|
executeApplication(rom.toString(), romType, romFd.detachFd(), NativeSettings(preferenceSettings), applicationContext.getPublicFilesDir().canonicalPath + "/", applicationContext.filesDir.canonicalPath + "/", applicationInfo.nativeLibraryDir + "/", assets)
|
||||||
returnFromEmulation()
|
returnFromEmulation()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@ package emu.skyline.preference
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import androidx.preference.R
|
import androidx.preference.R
|
||||||
import emu.skyline.utils.SettingsValues
|
import emu.skyline.utils.NativeSettings
|
||||||
|
|
||||||
class LogLevelPreference @JvmOverloads constructor(context : Context, attrs : AttributeSet? = null, defStyleAttr : Int = R.attr.dialogPreferenceStyle) : IntegerListPreference(context, attrs, defStyleAttr) {
|
class LogLevelPreference @JvmOverloads constructor(context : Context, attrs : AttributeSet? = null, defStyleAttr : Int = R.attr.dialogPreferenceStyle) : IntegerListPreference(context, attrs, defStyleAttr) {
|
||||||
init {
|
init {
|
||||||
setOnPreferenceChangeListener { _, newValue ->
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
SettingsValues.setLogLevel(newValue as Int)
|
NativeSettings.setLogLevel(newValue as Int)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@
|
|||||||
|
|
||||||
package emu.skyline.utils
|
package emu.skyline.utils
|
||||||
|
|
||||||
import java.io.Serializable
|
/**
|
||||||
|
* The settings that will be passed to libskyline when running and executable
|
||||||
class SettingsValues(pref: PreferenceSettings) : Serializable {
|
*/
|
||||||
|
class NativeSettings(pref: PreferenceSettings) {
|
||||||
var isDocked : Boolean = pref.isDocked
|
var isDocked : Boolean = pref.isDocked
|
||||||
var usernameValue : String = pref.usernameValue
|
var usernameValue : String = pref.usernameValue
|
||||||
var systemLanguage : Int = pref.systemLanguage
|
var systemLanguage : Int = pref.systemLanguage
|
||||||
@ -21,7 +22,7 @@ class SettingsValues(pref: PreferenceSettings) : Serializable {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
/**
|
/**
|
||||||
* Setter for native log level
|
* Sets libskyline logger level to the given one
|
||||||
*/
|
*/
|
||||||
external fun setLogLevel(logLevel : Int)
|
external fun setLogLevel(logLevel : Int)
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user