done context menu, and fix controllers in wsa

This commit is contained in:
2023-12-28 00:12:03 +03:00
parent 66d4c573db
commit 9a26865269
9 changed files with 238 additions and 202 deletions
@@ -5,38 +5,25 @@ import android.app.AlertDialog
import android.content.DialogInterface
import android.content.Intent
import android.content.pm.ActivityInfo
import android.graphics.BitmapFactory
import android.hardware.SensorManager
import android.hardware.input.InputManager
import android.media.AudioManager
import android.opengl.GLES20
import android.opengl.GLUtils
import android.os.Build
import android.os.Bundle
import android.os.PowerManager
import android.os.PowerManager.WakeLock
import android.util.DisplayMetrics
import android.util.Log
import android.view.InputDevice
import android.view.KeyEvent
import android.view.MotionEvent
import android.view.inputmethod.InputMethodManager
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.lifecycle.Lifecycle
import com.bda.controller.StateEvent
import com.ea.EAIO.EAIO
import com.ea.EAMIO.StorageDirectory
import com.ea.easp.EASPHandler
import com.ea.games.nfs13_na.BuildConfig
import com.ea.games.nfs13_na.R
import com.ea.nimble.ApplicationLifecycle
import com.megboyzz.actionForAllControllers
import com.megboyzz.androidKeyEventToBda
import com.megboyzz.androidMotionEventToBda
import com.megboyzz.createConnectEvent
import com.megboyzz.createDisconnectEvent
import com.megboyzz.registerControllerHandlers
import java.io.BufferedReader
import java.io.File
import java.io.FileReader
@@ -299,23 +286,20 @@ class GameActivity : ComponentActivity(), DrawFrameListener {
ApplicationLifecycle.onActivityResult(requestCode, resultCode, data, this)
}
override fun onBackPressed() {
//ApplicationLifecycle.onBackPressed()
}
public override fun onCreate(bundle: Bundle?) {
super.onCreate(bundle)
registerControllerHandlers(
MogaController.registerControllerHandlers(
context = baseContext,
onInputDeviceAdded = {
Log.i("Controller", "controller is connected!")
val event = createConnectEvent(it)
val event = MogaController.createConnectEvent(it)
MogaController.nativeOnStateEvent(event)
},
onInputDeviceRemoved = {
Log.i("Controller", "controller is disconnected!")
val event = createDisconnectEvent(it)
val event = MogaController.createDisconnectEvent(it)
MogaController.nativeOnStateEvent(event)
},
onInputDeviceChanged = {
@@ -393,7 +377,8 @@ class GameActivity : ComponentActivity(), DrawFrameListener {
override fun dispatchGenericMotionEvent(ev: MotionEvent?): Boolean {
Log.i("GameActivity", ev.toString())
MogaController.onMotionEvent(androidMotionEventToBda(ev!!))
if (MogaController.deviceIsController(ev?.deviceId!!))
MogaController.onMotionEvent(MogaController.androidMotionEventToBda(ev))
return super.dispatchGenericMotionEvent(ev)
}
@@ -401,7 +386,8 @@ class GameActivity : ComponentActivity(), DrawFrameListener {
@SuppressLint("RestrictedApi")
override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
MogaController.onKeyEvent(androidKeyEventToBda(event!!))
if (MogaController.deviceIsController(event?.deviceId!!))
MogaController.onKeyEvent(MogaController.androidKeyEventToBda(event))
return super.dispatchKeyEvent(event)
}
@@ -409,8 +395,6 @@ class GameActivity : ComponentActivity(), DrawFrameListener {
override fun onDrawFrame(gl10: GL10) {
//InputDevice.getDeviceIds()
//InputDevice.getDevice(0).sources
Log.d(this.localClassName, "onDrawFrame state=$state")
var isStarted = false
when (state) {
@@ -522,8 +506,8 @@ class GameActivity : ComponentActivity(), DrawFrameListener {
gameGLSurfaceView.onResume()
ApplicationLifecycle.onActivityResume(this)
nativeOnResume()
actionForAllControllers {
val event = createConnectEvent(it)
MogaController.doForAllControllers {
val event = MogaController.createConnectEvent(it)
MogaController.nativeOnStateEvent(event)
}
}