From 2e4d452aa823fd4703297be725004c5c41280437 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Fri, 17 Nov 2023 13:36:38 +0900 Subject: [PATCH] Android/Windows: Upgrade SDL to 2.28.5 --- .github/workflows/android.yml | 2 +- android/app/build.gradle | 16 ++++----- android/app/jni/CMakeLists.txt | 4 +-- android/app/src/main/AndroidManifest.xml | 1 - .../java/org/libsdl/app/HIDDeviceManager.java | 1 + .../main/java/org/libsdl/app/SDLActivity.java | 34 +++++++++---------- android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- src/CMakeLists.txt | 4 +-- 9 files changed, 32 insertions(+), 34 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 92c9999..9e0cac2 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -17,7 +17,7 @@ jobs: run: | cd android echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore.jks - ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk-bundle ./gradlew assembleRelease + JAVA_HOME=$JAVA_HOME_17_X64 ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk-bundle ./gradlew assembleRelease env: KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} diff --git a/android/app/build.gradle b/android/app/build.gradle index 19fff24..34b09b2 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -9,18 +9,18 @@ else { apply plugin: 'kotlin-android' android { - compileSdkVersion 31 + if (buildAsApplication) { + namespace "io.github.kichikuou.system3" + } + compileSdkVersion 34 defaultConfig { - if (buildAsApplication) { - applicationId "io.github.kichikuou.system3" - } minSdkVersion 19 - targetSdkVersion 31 + targetSdkVersion 34 versionCode 9 versionName "1.0.0" + gitRevision() externalNativeBuild { cmake { - arguments "-DANDROID_APP_PLATFORM=android-16", "-DANDROID_STL=c++_static" + arguments "-DANDROID_APP_PLATFORM=android-19", "-DANDROID_STL=c++_static" // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' abiFilters 'armeabi-v7a', 'arm64-v8a' } @@ -65,10 +65,10 @@ android { } } - lintOptions { + lint { abortOnError false } - + if (buildAsLibrary) { libraryVariants.all { variant -> variant.outputs.each { output -> diff --git a/android/app/jni/CMakeLists.txt b/android/app/jni/CMakeLists.txt index e710350..3ae0415 100644 --- a/android/app/jni/CMakeLists.txt +++ b/android/app/jni/CMakeLists.txt @@ -6,8 +6,8 @@ set(PROJECT_ROOT_DIR ../../..) include(FetchContent) FetchContent_Declare( SDL - URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.2/SDL2-2.28.2.tar.gz - URL_HASH SHA1=64a3595f7dfc9e3c45be1907a6bcb36fba1f8ba2 + URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5.tar.gz + URL_HASH SHA1=50af6b564890d702e57e2a72d6429b43778ed29a ) FetchContent_Declare( SDL_ttf diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 264de77..b2d495c 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -4,7 +4,6 @@ --> diff --git a/android/app/src/main/java/org/libsdl/app/HIDDeviceManager.java b/android/app/src/main/java/org/libsdl/app/HIDDeviceManager.java index 6f7013b..5310d60 100644 --- a/android/app/src/main/java/org/libsdl/app/HIDDeviceManager.java +++ b/android/app/src/main/java/org/libsdl/app/HIDDeviceManager.java @@ -273,6 +273,7 @@ public class HIDDeviceManager { final int XB1_IFACE_SUBCLASS = 71; final int XB1_IFACE_PROTOCOL = 208; final int[] SUPPORTED_VENDORS = { + 0x03f0, // HP 0x044f, // Thrustmaster 0x045e, // Microsoft 0x0738, // Mad Catz diff --git a/android/app/src/main/java/org/libsdl/app/SDLActivity.java b/android/app/src/main/java/org/libsdl/app/SDLActivity.java index 7292e25..a2b5ba8 100644 --- a/android/app/src/main/java/org/libsdl/app/SDLActivity.java +++ b/android/app/src/main/java/org/libsdl/app/SDLActivity.java @@ -61,7 +61,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh private static final String TAG = "SDL"; private static final int SDL_MAJOR_VERSION = 2; private static final int SDL_MINOR_VERSION = 28; - private static final int SDL_MICRO_VERSION = 2; + private static final int SDL_MICRO_VERSION = 5; /* // Display InputType.SOURCE/CLASS of events and devices // @@ -1345,23 +1345,6 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh } } - if ((source & InputDevice.SOURCE_KEYBOARD) == InputDevice.SOURCE_KEYBOARD) { - if (event.getAction() == KeyEvent.ACTION_DOWN) { - if (isTextInputEvent(event)) { - if (ic != null) { - ic.commitText(String.valueOf((char) event.getUnicodeChar()), 1); - } else { - SDLInputConnection.nativeCommitText(String.valueOf((char) event.getUnicodeChar()), 1); - } - } - onNativeKeyDown(keyCode); - return true; - } else if (event.getAction() == KeyEvent.ACTION_UP) { - onNativeKeyUp(keyCode); - return true; - } - } - if ((source & InputDevice.SOURCE_MOUSE) == InputDevice.SOURCE_MOUSE) { // on some devices key events are sent for mouse BUTTON_BACK/FORWARD presses // they are ignored here because sending them as mouse input to SDL is messy @@ -1376,6 +1359,21 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh } } + if (event.getAction() == KeyEvent.ACTION_DOWN) { + if (isTextInputEvent(event)) { + if (ic != null) { + ic.commitText(String.valueOf((char) event.getUnicodeChar()), 1); + } else { + SDLInputConnection.nativeCommitText(String.valueOf((char) event.getUnicodeChar()), 1); + } + } + onNativeKeyDown(keyCode); + return true; + } else if (event.getAction() == KeyEvent.ACTION_UP) { + onNativeKeyUp(keyCode); + return true; + } + return false; } diff --git a/android/build.gradle b/android/build.gradle index 5ddd1e8..8219284 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,7 +7,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.3.1' + classpath 'com.android.tools.build:gradle:8.1.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 6180f47..5b9d759 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Nov 11 18:20:34 PST 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fb68e30..ebf6c6e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -73,8 +73,8 @@ else() # NOT (ANDROID OR EMSCRIPTEN) include(FetchContent) FetchContent_Declare(sdl2 - URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.2/SDL2-devel-2.28.2-VC.zip - URL_HASH SHA1=50355b5cb6556fa86379cc62359150d74286f15c) + URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-devel-2.28.5-VC.zip + URL_HASH SHA1=7469e9ea44d30a48b0510328cd94b25596e0aa0f) FetchContent_GetProperties(sdl2) if (NOT sdl2_POPULATED) FetchContent_Populate(sdl2)