fix
This commit is contained in:
parent
fd8b7ea718
commit
cd19f86a97
|
@ -6,6 +6,7 @@ import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Surface;
|
import android.view.Surface;
|
||||||
import android.view.TextureView;
|
import android.view.TextureView;
|
||||||
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
@ -33,8 +34,8 @@ public class JVMActivity extends FCLActivity implements TextureView.SurfaceTextu
|
||||||
private static FCLBridge fclBridge;
|
private static FCLBridge fclBridge;
|
||||||
|
|
||||||
//only for test version
|
//only for test version
|
||||||
private MioMouseKeyboard mioMouseKeyboard;
|
public MioMouseKeyboard mioMouseKeyboard;
|
||||||
private ImageView mouse;
|
public ImageView mouse;
|
||||||
private EditText input;
|
private EditText input;
|
||||||
|
|
||||||
public static void setFClBridge(FCLBridge fclBridge, ControllerType controllerType) {
|
public static void setFClBridge(FCLBridge fclBridge, ControllerType controllerType) {
|
||||||
|
@ -53,7 +54,7 @@ public class JVMActivity extends FCLActivity implements TextureView.SurfaceTextu
|
||||||
}
|
}
|
||||||
|
|
||||||
controller = controllerType == ControllerType.GAME ? new GameController() : new JavaGuiController();
|
controller = controllerType == ControllerType.GAME ? new GameController() : new JavaGuiController();
|
||||||
|
controller.setup(this);
|
||||||
textureView = findViewById(R.id.texture_view);
|
textureView = findViewById(R.id.texture_view);
|
||||||
textureView.setSurfaceTextureListener(this);
|
textureView.setSurfaceTextureListener(this);
|
||||||
mouse=findViewById(R.id.mouse);
|
mouse=findViewById(R.id.mouse);
|
||||||
|
@ -88,6 +89,15 @@ public class JVMActivity extends FCLActivity implements TextureView.SurfaceTextu
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
if(getResources().getConfiguration().keyboard!= Configuration.KEYBOARD_NOKEYS) {
|
if(getResources().getConfiguration().keyboard!= Configuration.KEYBOARD_NOKEYS) {
|
||||||
mioMouseKeyboard.catchPointer();
|
mioMouseKeyboard.catchPointer();
|
||||||
|
MioMouseKeyboard.baseX=0;
|
||||||
|
MioMouseKeyboard.baseY=0;
|
||||||
|
// if (FCLBridge.cursorMode==FCLBridge.CursorEnabled) {
|
||||||
|
// mouse.setVisibility(View.INVISIBLE);
|
||||||
|
// mioMouseKeyboard.releasePointer();
|
||||||
|
// } else {
|
||||||
|
// mouse.setVisibility(View.VISIBLE);
|
||||||
|
// mioMouseKeyboard.catchPointer();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,19 @@ package com.tungsten.fcl.control;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import com.tungsten.fcl.activity.JVMActivity;
|
import com.tungsten.fcl.activity.JVMActivity;
|
||||||
import com.tungsten.fcl.activity.JVMCrashActivity;
|
import com.tungsten.fcl.activity.JVMCrashActivity;
|
||||||
import com.tungsten.fclauncher.FCLPath;
|
import com.tungsten.fclauncher.FCLPath;
|
||||||
|
import com.tungsten.fclauncher.bridge.FCLBridge;
|
||||||
import com.tungsten.fclauncher.bridge.FCLBridgeCallback;
|
import com.tungsten.fclauncher.bridge.FCLBridgeCallback;
|
||||||
import com.tungsten.fclcore.util.Logging;
|
import com.tungsten.fclcore.util.Logging;
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class GameController implements Controller {
|
public class GameController implements Controller {
|
||||||
|
private JVMActivity activity;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getLayout() {
|
public View getLayout() {
|
||||||
|
@ -20,19 +23,30 @@ public class GameController implements Controller {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setup(JVMActivity activity) {
|
public void setup(JVMActivity activity) {
|
||||||
|
this.activity=activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FCLBridgeCallback getCallbackBridge() {
|
public FCLBridgeCallback getCallbackBridge() {
|
||||||
return new FCLProcessListener();
|
return new FCLProcessListener(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class FCLProcessListener implements FCLBridgeCallback {
|
static class FCLProcessListener implements FCLBridgeCallback {
|
||||||
|
private JVMActivity activity;
|
||||||
|
FCLProcessListener(JVMActivity activity){
|
||||||
|
this.activity=activity;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCursorModeChange(int mode) {
|
public void onCursorModeChange(int mode) {
|
||||||
// TODO: Handle mouse event
|
// TODO: Handle mouse event
|
||||||
|
activity.mouse.post(()->{
|
||||||
|
if (mode== FCLBridge.CursorEnabled) {
|
||||||
|
activity.mouse.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
activity.mouse.setVisibility(View.INVISIBLE);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class MioMouseKeyboard {
|
||||||
|
|
||||||
private FCLBridge fclBridge;
|
private FCLBridge fclBridge;
|
||||||
|
|
||||||
private int baseX,baseY;
|
public static int baseX,baseY;
|
||||||
public MioMouseKeyboard(JVMActivity context, View mouse, View focusView){
|
public MioMouseKeyboard(JVMActivity context, View mouse, View focusView){
|
||||||
this.context=context;
|
this.context=context;
|
||||||
this.mouseCursor=mouse;
|
this.mouseCursor=mouse;
|
||||||
|
|
|
@ -59,6 +59,8 @@ public class FCLBridge implements Serializable {
|
||||||
private boolean isLogPipeReady=false;
|
private boolean isLogPipeReady=false;
|
||||||
private WeakReference<LogReceiver> logReceiver;
|
private WeakReference<LogReceiver> logReceiver;
|
||||||
|
|
||||||
|
public static int cursorMode=CursorEnabled;
|
||||||
|
|
||||||
public FCLBridge(FCLBridgeCallback callback) {
|
public FCLBridge(FCLBridgeCallback callback) {
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +140,7 @@ public class FCLBridge implements Serializable {
|
||||||
|
|
||||||
// FCLBridge callbacks
|
// FCLBridge callbacks
|
||||||
public void setCursorMode(int mode) {
|
public void setCursorMode(int mode) {
|
||||||
|
cursorMode=mode;
|
||||||
if (callback != null) {
|
if (callback != null) {
|
||||||
callback.onCursorModeChange(mode);
|
callback.onCursorModeChange(mode);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue