diff options
| author | jonyrock | 2014-05-01 20:15:28 +0400 |
|---|---|---|
| committer | jonyrock | 2014-05-01 20:15:28 +0400 |
| commit | 209eaf6fa06eba8a05e5222bdab418cd0f20c91c (patch) | |
| tree | 94eac56be6ad254a7c09e13d5e14bd843626232c /platform/android/java/src | |
| parent | 34aea718b11e105d30c938ad34e474b1bd8b5d63 (diff) | |
| parent | 6572d5128856b2ec55a2c417c92e584899f4906f (diff) | |
| download | godot-209eaf6fa06eba8a05e5222bdab418cd0f20c91c.tar.gz godot-209eaf6fa06eba8a05e5222bdab418cd0f20c91c.tar.zst godot-209eaf6fa06eba8a05e5222bdab418cd0f20c91c.zip | |
Merge remote-tracking branch 'upstream/master' into pair_symbols_tool
Diffstat (limited to 'platform/android/java/src')
| -rw-r--r-- | platform/android/java/src/com/android/godot/Godot.java | 50 | ||||
| -rw-r--r-- | platform/android/java/src/com/android/godot/GodotLib.java | 2 |
2 files changed, 50 insertions, 2 deletions
diff --git a/platform/android/java/src/com/android/godot/Godot.java b/platform/android/java/src/com/android/godot/Godot.java index 0fa07e249..35ecdc818 100644 --- a/platform/android/java/src/com/android/godot/Godot.java +++ b/platform/android/java/src/com/android/godot/Godot.java @@ -60,6 +60,7 @@ import java.io.IOException; import android.provider.Settings.Secure; import android.widget.FrameLayout; import com.android.godot.input.*; +import java.io.InputStream; public class Godot extends Activity implements SensorEventListener @@ -177,6 +178,48 @@ public class Godot extends Activity implements SensorEventListener return Godot._self; } + + private String[] getCommandLine() { + + InputStream is; + try { + is = getAssets().open("/_cl_"); + byte[] len = new byte[4]; + int r = is.read(len); + if (r<4) { + System.out.printf("**ERROR** Wrong cmdline length.\n"); + return new String[0]; + } + int argc=((int)(len[3])<<24) | ((int)(len[2])<<16) | ((int)(len[1])<<8) | ((int)(len[0])); + String[] cmdline = new String[argc]; + for(int i=0;i<argc;i++) { + r = is.read(len); + if (r<4) { + System.out.printf("**ERROR** Wrong cmdline param lenght.\n"); + return new String[0]; + } + int strlen=((int)(len[3])<<24) | ((int)(len[2])<<16) | ((int)(len[1])<<8) | ((int)(len[0])); + if (strlen>65535) { + System.out.printf("**ERROR** Wrong command len\n"); + return new String[0]; + } + byte[] arg = new byte[strlen]; + r = is.read(arg); + if (r!=strlen) { + cmdline[i]=new String(arg,"UTF-8"); + } + + } + + return cmdline; + } catch (Exception e) { + + return new String[0]; + } + + + } + @Override protected void onCreate(Bundle icicle) { System.out.printf("** GODOT ACTIVITY CREATED HERE ***\n"); @@ -187,10 +230,13 @@ public class Godot extends Activity implements SensorEventListener window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + + + io = new GodotIO(this); io.unique_id = Secure.getString(getContentResolver(), Secure.ANDROID_ID); GodotLib.io=io; - GodotLib.initialize(this,io.needsReloadHooks()); + GodotLib.initialize(this,io.needsReloadHooks(),getCommandLine()); mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); @@ -198,6 +244,8 @@ public class Godot extends Activity implements SensorEventListener result_callback = null; mPaymentsManager = PaymentsManager.createManager(this).initService(); + + // instanceSingleton( new GodotFacebook(this) ); diff --git a/platform/android/java/src/com/android/godot/GodotLib.java b/platform/android/java/src/com/android/godot/GodotLib.java index 459c6c122..ad803f8e8 100644 --- a/platform/android/java/src/com/android/godot/GodotLib.java +++ b/platform/android/java/src/com/android/godot/GodotLib.java @@ -44,7 +44,7 @@ public class GodotLib { * @param height the current view height */ - public static native void initialize(Godot p_instance,boolean need_reload_hook); + public static native void initialize(Godot p_instance,boolean need_reload_hook,String[] p_cmdline); public static native void resize(int width, int height,boolean reload); public static native void newcontext(); public static native void quit(); |
