skyline/app/src/main/cpp/skyline/common/android_settings.h
Dima 79683f7beb Add setting to enable internet
Co-authored-by: PabloG02 <tioo23000@gmail.com>
2023-05-02 16:01:36 +03:00

58 lines
2.6 KiB
C++

// SPDX-License-Identifier: MPL-2.0
// Copyright © 2022 Skyline Team and Contributors (https://github.com/skyline-emu/)
#pragma once
#include "settings.h"
#include "jvm.h"
namespace skyline {
/**
* @brief Handles settings on the android platform
* @note Lifetime of this class must not exceed the one of the JNIEnv contained inside ktSettings
*/
class AndroidSettings final : public Settings {
private:
KtSettings ktSettings;
public:
/**
* @note Will construct the underlying KtSettings object in-place
*/
AndroidSettings(JNIEnv *env, jobject settingsInstance) : ktSettings(env, settingsInstance) {
Update();
}
/**
* @note Will take ownership of the passed KtSettings object
*/
AndroidSettings(KtSettings &&ktSettings) : ktSettings(std::move(ktSettings)) {
Update();
}
void Update() override {
isDocked = ktSettings.GetBool("isDocked");
usernameValue = std::move(ktSettings.GetString("usernameValue"));
profilePictureValue = ktSettings.GetString("profilePictureValue");
systemLanguage = ktSettings.GetInt<skyline::language::SystemLanguage>("systemLanguage");
systemRegion = ktSettings.GetInt<skyline::region::RegionCode>("systemRegion");
isInternetEnabled = ktSettings.GetBool("isInternetEnabled");
forceTripleBuffering = ktSettings.GetBool("forceTripleBuffering");
disableFrameThrottling = ktSettings.GetBool("disableFrameThrottling");
gpuDriver = ktSettings.GetString("gpuDriver");
gpuDriverLibraryName = ktSettings.GetString("gpuDriverLibraryName");
executorSlotCountScale = ktSettings.GetInt<u32>("executorSlotCountScale");
executorFlushThreshold = ktSettings.GetInt<u32>("executorFlushThreshold");
useDirectMemoryImport = ktSettings.GetBool("useDirectMemoryImport");
forceMaxGpuClocks = ktSettings.GetBool("forceMaxGpuClocks");
disableShaderCache = ktSettings.GetBool("disableShaderCache");
freeGuestTextureMemory = ktSettings.GetBool("freeGuestTextureMemory");
enableFastGpuReadbackHack = ktSettings.GetBool("enableFastGpuReadbackHack");
enableFastReadbackWrites = ktSettings.GetBool("enableFastReadbackWrites");
disableSubgroupShuffle = ktSettings.GetBool("disableSubgroupShuffle");
isAudioOutputDisabled = ktSettings.GetBool("isAudioOutputDisabled");
validationLayer = ktSettings.GetBool("validationLayer");
};
};
}