From fd4695bfbeb71f04730703b2ee263a3d89742d60 Mon Sep 17 00:00:00 2001 From: a1batross Date: Sun, 6 Dec 2015 13:06:26 +0300 Subject: [PATCH] Add vibration support and swap next/prev weapon Conflicts: assets/next_weap.png assets/prev_weap.png src/org/libsdl/app/SDLActivity.java --- AndroidManifest.xml | 6 +++--- src/org/libsdl/app/SDLActivity.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index adfeef59..38e51124 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -24,10 +24,9 @@ android:hardwareAccelerated="true"> + android:windowSoftInputMode="adjustResize"> - + @@ -75,5 +74,6 @@ + diff --git a/src/org/libsdl/app/SDLActivity.java b/src/org/libsdl/app/SDLActivity.java index ae53a3d9..45cd56c6 100644 --- a/src/org/libsdl/app/SDLActivity.java +++ b/src/org/libsdl/app/SDLActivity.java @@ -34,6 +34,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.os.Vibrator; import android.util.Log; import android.util.SparseArray; import android.view.Display; @@ -76,6 +77,8 @@ public class SDLActivity extends Activity { // If we want to separate mouse and touch events. // This is only toggled in native code when a hint is set! public static boolean mSeparateMouseAndTouch; + + private static Vibrator mVibrator; // Main components protected static SDLActivity mSingleton; @@ -128,6 +131,7 @@ public class SDLActivity extends Activity { // The static nature of the singleton and Android quirkyness force us to initialize everything here // Otherwise, when exiting the app and returning to it, these variables *keep* their pre exit values mSingleton = null; + mVibrator = null; mSurface = null; mTextEdit = null; mLayout = null; @@ -266,6 +270,8 @@ public class SDLActivity extends Activity { return; } + mVibrator.cancel(); + SDLActivity.handlePause(); } @@ -313,6 +319,8 @@ public class SDLActivity extends Activity { protected void onDestroy() { Log.v("SDL", "onDestroy()"); + mVibrator.cancel(); + if (SDLActivity.mBrokenLibraries) { super.onDestroy(); // Reset everything in case the user re opens the app @@ -504,7 +512,16 @@ public class SDLActivity extends Activity { public static void flipBuffers() { SDLActivity.nativeFlipBuffers(); } - + + /** + * This method is called by Xash3D engine using JNI + */ + public void vibrate( short time ) { + mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); + + mVibrator.vibrate( time ); + } + /** * This method is called by SDL using JNI. */