From ee8caac82f8276dd6585042850c76373dd36ed69 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 30 May 2023 20:50:09 -0700 Subject: android: Various fixes for CI. --- src/android/.gitignore | 3 ++ src/android/app/build.gradle.kts | 3 ++ src/android/app/proguard-rules.pro | 3 ++ src/android/app/src/main/AndroidManifest.xml | 6 +++ .../java/org/yuzu/yuzu_emu/model/HomeViewModel.kt | 3 ++ .../java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt | 6 +-- .../java/org/yuzu/yuzu_emu/utils/InputHandler.kt | 3 ++ .../java/org/yuzu/yuzu_emu/utils/InsetsHelper.kt | 3 ++ .../main/java/org/yuzu/yuzu_emu/utils/NfcReader.kt | 3 ++ .../org/yuzu/yuzu_emu/utils/SerializableHelper.kt | 3 ++ src/android/app/src/main/jni/CMakeLists.txt | 3 ++ .../app/src/main/jni/applets/software_keyboard.cpp | 6 +-- src/android/app/src/main/jni/config.cpp | 3 +- .../app/src/main/jni/emu_window/emu_window.cpp | 3 ++ .../app/src/main/jni/emu_window/emu_window.h | 3 ++ src/android/app/src/main/jni/id_cache.cpp | 2 +- src/android/app/src/main/jni/id_cache.h | 3 ++ src/android/app/src/main/jni/native.cpp | 58 +++++++++++----------- src/android/app/src/main/jni/native.h | 25 ++++++---- src/android/app/src/main/res/values/strings.xml | 4 +- src/android/build.gradle.kts | 3 ++ src/android/gradle.properties | 3 ++ src/android/gradlew | 3 ++ src/android/gradlew.bat | 3 ++ src/android/settings.gradle.kts | 3 ++ 25 files changed, 111 insertions(+), 50 deletions(-) (limited to 'src/android') diff --git a/src/android/.gitignore b/src/android/.gitignore index 40b6c5cd0..121cc8484 100644 --- a/src/android/.gitignore +++ b/src/android/.gitignore @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-License-Identifier: GPL-3.0-or-later + # Built application files *.apk *.ap_ diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 4aa19c91a..ec5f78746 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") diff --git a/src/android/app/proguard-rules.pro b/src/android/app/proguard-rules.pro index 13cfff1ba..691e08fd0 100644 --- a/src/android/app/proguard-rules.pro +++ b/src/android/app/proguard-rules.pro @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-License-Identifier: GPL-3.0-or-later + # To get usable stack traces -dontobfuscate diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml index aed7f9dc4..43087f2c0 100644 --- a/src/android/app/src/main/AndroidManifest.xml +++ b/src/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,10 @@ + + + GetStaticMethodID(s_software_keyboard_class, "executeInline", - "(Lorg/yuzu/yuzu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)V"); + s_swkbd_execute_inline = env->GetStaticMethodID( + s_software_keyboard_class, "executeInline", + "(Lorg/yuzu/yuzu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)V"); } void CleanupJNI(JNIEnv* env) { diff --git a/src/android/app/src/main/jni/config.cpp b/src/android/app/src/main/jni/config.cpp index 6b4c08145..2d622a048 100644 --- a/src/android/app/src/main/jni/config.cpp +++ b/src/android/app/src/main/jni/config.cpp @@ -232,7 +232,8 @@ void Config::ReadValues() { Settings::values.accelerate_astc = config->GetBoolean("Renderer", "accelerate_astc", false); // Enable asynchronous presentation by default on Android - Settings::values.async_presentation = config->GetBoolean("Renderer", "async_presentation", true); + Settings::values.async_presentation = + config->GetBoolean("Renderer", "async_presentation", true); // Enable force_max_clock by default on Android Settings::values.renderer_force_max_clock = diff --git a/src/android/app/src/main/jni/emu_window/emu_window.cpp b/src/android/app/src/main/jni/emu_window/emu_window.cpp index 926bb30e8..a890c6604 100644 --- a/src/android/app/src/main/jni/emu_window/emu_window.cpp +++ b/src/android/app/src/main/jni/emu_window/emu_window.cpp @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #include #include "common/logging/log.h" diff --git a/src/android/app/src/main/jni/emu_window/emu_window.h b/src/android/app/src/main/jni/emu_window/emu_window.h index 36d46eb51..b38087f73 100644 --- a/src/android/app/src/main/jni/emu_window/emu_window.h +++ b/src/android/app/src/main/jni/emu_window/emu_window.h @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #pragma once #include diff --git a/src/android/app/src/main/jni/id_cache.cpp b/src/android/app/src/main/jni/id_cache.cpp index 7edadb94a..9cbbf23a3 100644 --- a/src/android/app/src/main/jni/id_cache.cpp +++ b/src/android/app/src/main/jni/id_cache.cpp @@ -107,7 +107,7 @@ void JNI_OnUnload(JavaVM* vm, void* reserved) { env->DeleteGlobalRef(s_disk_cache_progress_class); env->DeleteGlobalRef(s_load_callback_stage_class); - // UnInitialze applets + // UnInitialize applets SoftwareKeyboard::CleanupJNI(env); } diff --git a/src/android/app/src/main/jni/id_cache.h b/src/android/app/src/main/jni/id_cache.h index 9337cd254..be535fe1e 100644 --- a/src/android/app/src/main/jni/id_cache.h +++ b/src/android/app/src/main/jni/id_cache.h @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #pragma once #include diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index a7321af2a..bbe6abdb0 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -37,8 +37,8 @@ #include "core/frontend/applets/profile_select.h" #include "core/frontend/applets/software_keyboard.h" #include "core/frontend/applets/web_browser.h" -#include "core/hid/hid_core.h" #include "core/hid/emulated_controller.h" +#include "core/hid/hid_core.h" #include "core/hid/hid_types.h" #include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/am/applet_ae.h" @@ -276,7 +276,7 @@ public: m_rom_metadata_cache.clear(); } - bool IsHandheldOnly(){ + bool IsHandheldOnly() { const auto npad_style_set = m_system.HIDCore().GetSupportedStyleTag(); if (npad_style_set.fullkey == 1) { @@ -290,42 +290,43 @@ public: return !Settings::values.use_docked_mode.GetValue(); } - void SetDeviceType(int index, int type){ + void SetDeviceType(int index, int type) { auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index); controller->SetNpadStyleIndex(static_cast(type)); } - void OnGamepadConnectEvent(int index){ + void OnGamepadConnectEvent(int index) { auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index); // Ensure that player1 is configured correctly and handheld disconnected - if(controller->GetNpadIdType() == Core::HID::NpadIdType::Player1){ - auto handheld = m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); - - if(controller->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::Handheld) { - handheld->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); - controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); - handheld->Disconnect(); - } + if (controller->GetNpadIdType() == Core::HID::NpadIdType::Player1) { + auto handheld = + m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); + + if (controller->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::Handheld) { + handheld->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); + controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); + handheld->Disconnect(); + } } // Ensure that handheld is configured correctly and player 1 disconnected - if(controller->GetNpadIdType() == Core::HID::NpadIdType::Handheld){ + if (controller->GetNpadIdType() == Core::HID::NpadIdType::Handheld) { auto player1 = m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); - if(controller->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::Handheld) { + if (controller->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::Handheld) { player1->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld); controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld); player1->Disconnect(); } } - if(!controller->IsConnected()){ + if (!controller->IsConnected()) { controller->Connect(); } } - void OnGamepadDisconnectEvent(int index){ + void OnGamepadDisconnectEvent(int index) { auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index); controller->Disconnect(); } @@ -497,14 +498,13 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning([[maybe_unused]] JNIEnv } jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly([[maybe_unused]] JNIEnv* env, - [[maybe_unused]] jclass clazz) { + [[maybe_unused]] jclass clazz) { return EmulationSession::GetInstance().IsHandheldOnly(); } jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, - jint j_device, - jint j_type) { + jint j_device, jint j_type) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().SetDeviceType(j_device, j_type); } @@ -512,17 +512,16 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType([[maybe_unused]] JN } jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent([[maybe_unused]] JNIEnv* env, - [[maybe_unused]] jclass clazz, - jint j_device) { + [[maybe_unused]] jclass clazz, + jint j_device) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().OnGamepadConnectEvent(j_device); } return static_cast(true); } -jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent([[maybe_unused]] JNIEnv* env, - [[maybe_unused]] jclass clazz, - jint j_device) { +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent( + [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint j_device) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().OnGamepadDisconnectEvent(j_device); } @@ -562,10 +561,11 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMotionEvent( return static_cast(true); } -jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag( - [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jbyteArray j_data) { +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag([[maybe_unused]] JNIEnv* env, + [[maybe_unused]] jclass clazz, + jbyteArray j_data) { jboolean isCopy{false}; - std::span data(reinterpret_cast(env->GetByteArrayElements(j_data, &isCopy)), + std::span data(reinterpret_cast(env->GetByteArrayElements(j_data, &isCopy)), static_cast(env->GetArrayLength(j_data))); if (EmulationSession::GetInstance().IsRunning()) { @@ -574,8 +574,8 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag( return static_cast(true); } -jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag( - [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) { +jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag([[maybe_unused]] JNIEnv* env, + [[maybe_unused]] jclass clazz) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().Window().OnRemoveNfcTag(); } diff --git a/src/android/app/src/main/jni/native.h b/src/android/app/src/main/jni/native.h index d1e382a33..24dcbbcb8 100644 --- a/src/android/app/src/main/jni/native.h +++ b/src/android/app/src/main/jni/native.h @@ -25,17 +25,19 @@ JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_ResetRomMetadata(JN JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_IsRunning(JNIEnv* env, jclass clazz); -JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly( - JNIEnv* env, jclass clazz); +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly(JNIEnv* env, + jclass clazz); -JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType( - JNIEnv* env, jclass clazz, jstring j_device, jstring j_type); +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType(JNIEnv* env, + jclass clazz, + jstring j_device, + jstring j_type); JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent( - JNIEnv* env, jclass clazz, jstring j_device); + JNIEnv* env, jclass clazz, jstring j_device); JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent( - JNIEnv* env, jclass clazz, jstring j_device); + JNIEnv* env, jclass clazz, jstring j_device); JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadEvent( JNIEnv* env, jclass clazz, jstring j_device, jint j_button, jint action); @@ -44,13 +46,14 @@ JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMoveEv JNIEnv* env, jclass clazz, jstring j_device, jint axis, jfloat x, jfloat y); JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadAxisEvent( - JNIEnv* env, jclass clazz, jstring j_device, jint axis_id, jfloat axis_val); + JNIEnv* env, jclass clazz, jstring j_device, jint axis_id, jfloat axis_val); -JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag( - JNIEnv* env, jclass clazz, jbyteArray j_data); +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag(JNIEnv* env, + jclass clazz, + jbyteArray j_data); -JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag( - JNIEnv* env, jclass clazz); +JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag(JNIEnv* env, + jclass clazz); JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchEvent(JNIEnv* env, jclass clazz, diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index dd1137b69..cffa3ff0b 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -78,7 +78,7 @@ Manage yuzu\'s internal files Modify the look of the app No file manager found - Couldn\'t open yuzu directory + Could not open yuzu directory Please locate the user folder with the file manager\'s side panel manually. @@ -249,7 +249,7 @@ Latin American Spanish (Español latinoamericano) Simplified Chinese (简体中文) Traditional Chinese (正體中文) - Brazilian Portuguese (Portugues do Brasil) + Brazilian Portuguese (Português do Brasil) Vulkan diff --git a/src/android/build.gradle.kts b/src/android/build.gradle.kts index 1ed9aed9a..e19e8ce58 100644 --- a/src/android/build.gradle.kts +++ b/src/android/build.gradle.kts @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id("com.android.application") version "8.0.2" apply false diff --git a/src/android/gradle.properties b/src/android/gradle.properties index bf63cfce7..653a35ce8 100644 --- a/src/android/gradle.properties +++ b/src/android/gradle.properties @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-License-Identifier: GPL-3.0-or-later + # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* diff --git a/src/android/gradlew b/src/android/gradlew index cccdd3d51..afa127966 100755 --- a/src/android/gradlew +++ b/src/android/gradlew @@ -1,5 +1,8 @@ #!/usr/bin/env sh +# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-License-Identifier: GPL-3.0-or-later + ############################################################################## ## ## Gradle start up script for UN*X diff --git a/src/android/gradlew.bat b/src/android/gradlew.bat index f9553162f..be152d108 100644 --- a/src/android/gradlew.bat +++ b/src/android/gradlew.bat @@ -1,3 +1,6 @@ +@rem SPDX-FileCopyrightText: 2023 yuzu Emulator Project +@rem SPDX-License-Identifier: GPL-3.0-or-later + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem diff --git a/src/android/settings.gradle.kts b/src/android/settings.gradle.kts index 1fb82df41..af910b906 100644 --- a/src/android/settings.gradle.kts +++ b/src/android/settings.gradle.kts @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + pluginManagement { repositories { gradlePluginPortal() -- cgit v1.2.3