diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3b9b828f..bde09317 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -19,11 +19,6 @@ - - - - - + + + + + + diff --git a/gen/com/limelight/R.java b/gen/com/limelight/R.java index 1244305e..ec78fb7e 100644 --- a/gen/com/limelight/R.java +++ b/gen/com/limelight/R.java @@ -34,9 +34,6 @@ or to a theme attribute in the form "?[package:][type:]na public static final class drawable { public static final int ic_launcher=0x7f020000; } - public static final class id { - public static final int videoView=0x7f080000; - } public static final class layout { public static final int activity_connection=0x7f030000; public static final int activity_game=0x7f030001; @@ -110,7 +107,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". - @attr name android:buttonBarButtonStyle + @attr name com.limelight:buttonBarButtonStyle */ public static final int ButtonBarContainerTheme_buttonBarButtonStyle = 1; /** @@ -120,7 +117,7 @@ or to a theme attribute in the form "?[package:][type:]na

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". - @attr name android:buttonBarStyle + @attr name com.limelight:buttonBarStyle */ public static final int ButtonBarContainerTheme_buttonBarStyle = 0; }; diff --git a/libs/ouya-sdk.jar b/libs/ouya-sdk.jar new file mode 100644 index 00000000..3f03fdd8 Binary files /dev/null and b/libs/ouya-sdk.jar differ diff --git a/res/layout/activity_game.xml b/res/layout/activity_game.xml index 26f62b06..d27db23d 100644 --- a/res/layout/activity_game.xml +++ b/res/layout/activity_game.xml @@ -5,9 +5,9 @@ android:background="#0099cc" tools:context=".Game" > - + android:layout_height="match_parent" /> --> diff --git a/src/com/limelight/Connection.java b/src/com/limelight/Connection.java index bdc715b5..ab5aac3b 100644 --- a/src/com/limelight/Connection.java +++ b/src/com/limelight/Connection.java @@ -16,22 +16,7 @@ public class Connection extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_connection); - new Thread(new Runnable() { - - @Override - public void run() { - try { - new NvConnection("141.213.191.238").doShit(); - } catch (XmlPullParserException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - }).start(); + } } diff --git a/src/com/limelight/Game.java b/src/com/limelight/Game.java index 913b4db8..638bcc69 100644 --- a/src/com/limelight/Game.java +++ b/src/com/limelight/Game.java @@ -1,8 +1,18 @@ package com.limelight; +import java.io.IOException; + +import org.xmlpull.v1.XmlPullParserException; + +import com.limelight.nvstream.NvConnection; +import com.limelight.nvstream.input.NvController; +import com.limelight.nvstream.input.NvInputPacket; + +import tv.ouya.console.api.OuyaController; import android.app.Activity; import android.net.Uri; import android.os.Bundle; +import android.view.KeyEvent; import android.widget.MediaController; import android.widget.VideoView; @@ -10,13 +20,33 @@ import android.widget.VideoView; public class Game extends Activity { private VideoView vv; private MediaController mc; + private short inputMap = 0x0000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + OuyaController.init(this); + + new Thread(new Runnable() { + + @Override + public void run() { + try { + new NvConnection("141.213.191.238").doShit(); + } catch (XmlPullParserException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + }).start(); + setContentView(R.layout.activity_game); - vv = (VideoView) findViewById(R.id.videoView); + /*vv = (VideoView) findViewById(R.id.videoView); mc = new MediaController(this); mc.setAnchorView(vv); @@ -25,6 +55,139 @@ public class Game extends Activity { vv.setMediaController(mc); vv.setVideoURI(video); - vv.start(); + vv.start();*/ + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { +// int player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); + + switch (keyCode) { + case OuyaController.BUTTON_MENU: + System.out.println("Pressed Menu Button"); + inputMap |= NvInputPacket.PLAY_FLAG; + break; + case OuyaController.BUTTON_DPAD_LEFT: + System.out.println("Pressed Dpad Left"); + inputMap |= NvInputPacket.LEFT_FLAG; + break; + case OuyaController.BUTTON_DPAD_RIGHT: + System.out.println("Pressed Dpad Right"); + inputMap |= NvInputPacket.RIGHT_FLAG; + break; + case OuyaController.BUTTON_DPAD_UP: + System.out.println("Pressed Dpad Up"); + inputMap |= NvInputPacket.UP_FLAG; + break; + case OuyaController.BUTTON_DPAD_DOWN: + System.out.println("Pressed Dpad Down"); + inputMap |= NvInputPacket.DOWN_FLAG; + break; + case OuyaController.BUTTON_A: + System.out.println("Pressed A"); + inputMap |= NvInputPacket.B_FLAG; + break; + case OuyaController.BUTTON_O: + System.out.println("Pressed O"); + inputMap |= NvInputPacket.A_FLAG; + break; + case OuyaController.BUTTON_U: + System.out.println("Pressed U"); + inputMap |= NvInputPacket.X_FLAG; + break; + case OuyaController.BUTTON_Y: + System.out.println("Pressed Y"); + inputMap |= NvInputPacket.Y_FLAG; + break; + case OuyaController.BUTTON_L1: + System.out.println("Pressed L1"); + inputMap |= NvInputPacket.LB_FLAG; + break; + case OuyaController.BUTTON_R1: + System.out.println("Pressed R1"); + inputMap |= NvInputPacket.RB_FLAG; + break; + case OuyaController.BUTTON_L3: + System.out.println("Pressed L3"); + inputMap |= NvInputPacket.LS_CLK_FLAG; + break; + case OuyaController.BUTTON_R3: + System.out.println("Pressed R3"); + inputMap |= NvInputPacket.RS_CLK_FLAG; + break; + default: + System.out.println("Pressed some button: " + keyCode); + return super.onKeyDown(keyCode, event); + } + sendInputPacket(); + return true; + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + switch (keyCode) { + case OuyaController.BUTTON_MENU: + System.out.println("Released Menu Button"); + inputMap &= ~NvInputPacket.PLAY_FLAG; + break; + case OuyaController.BUTTON_DPAD_LEFT: + System.out.println("Released Dpad Left"); + inputMap &= ~NvInputPacket.LEFT_FLAG; + break; + case OuyaController.BUTTON_DPAD_RIGHT: + System.out.println("Released Dpad Right"); + inputMap &= ~NvInputPacket.RIGHT_FLAG; + break; + case OuyaController.BUTTON_DPAD_UP: + System.out.println("Released Dpad Up"); + inputMap &= ~NvInputPacket.UP_FLAG; + break; + case OuyaController.BUTTON_DPAD_DOWN: + System.out.println("Released Dpad Down"); + inputMap &= ~NvInputPacket.DOWN_FLAG; + break; + case OuyaController.BUTTON_A: + System.out.println("Released A"); + inputMap &= ~NvInputPacket.B_FLAG; + break; + case OuyaController.BUTTON_O: + System.out.println("Released O"); + inputMap &= ~NvInputPacket.A_FLAG; + break; + case OuyaController.BUTTON_U: + System.out.println("Released U"); + inputMap &= ~NvInputPacket.X_FLAG; + break; + case OuyaController.BUTTON_Y: + System.out.println("Released Y"); + inputMap &= ~NvInputPacket.Y_FLAG; + break; + case OuyaController.BUTTON_L1: + System.out.println("Released L1"); + inputMap &= ~NvInputPacket.LB_FLAG; + break; + case OuyaController.BUTTON_R1: + System.out.println("Released R1"); + inputMap &= ~NvInputPacket.RB_FLAG; + break; + case OuyaController.BUTTON_L3: + System.out.println("Released L3"); + inputMap &= ~NvInputPacket.LS_CLK_FLAG; + break; + case OuyaController.BUTTON_R3: + System.out.println("Released R3"); + inputMap &= ~NvInputPacket.RS_CLK_FLAG; + break; + default: + System.out.println("Released some button: " + keyCode); + return super.onKeyUp(keyCode, event); + } + sendInputPacket(); + return true; + } + + private void sendInputPacket() { + NvInputPacket inputPacket = new NvInputPacket(inputMap, (byte)0, (byte)0, (byte)0, (byte)0); + } } diff --git a/src/com/limelight/nvstream/NvConnection.java b/src/com/limelight/nvstream/NvConnection.java index 3edf4d03..0ad0b132 100644 --- a/src/com/limelight/nvstream/NvConnection.java +++ b/src/com/limelight/nvstream/NvConnection.java @@ -4,6 +4,8 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; +import com.limelight.nvstream.input.NvController; + public class NvConnection { private String host; diff --git a/src/com/limelight/nvstream/NvController.java b/src/com/limelight/nvstream/input/NvController.java similarity index 96% rename from src/com/limelight/nvstream/NvController.java rename to src/com/limelight/nvstream/input/NvController.java index c2a88659..1b63aa3d 100644 --- a/src/com/limelight/nvstream/NvController.java +++ b/src/com/limelight/nvstream/input/NvController.java @@ -1,4 +1,4 @@ -package com.limelight.nvstream; +package com.limelight.nvstream.input; import java.io.IOException; import java.io.OutputStream; @@ -7,6 +7,7 @@ import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.ByteOrder; + public class NvController { public final static int PORT = 35043; diff --git a/src/com/limelight/nvstream/NvInputPacket.java b/src/com/limelight/nvstream/input/NvInputPacket.java similarity index 97% rename from src/com/limelight/nvstream/NvInputPacket.java rename to src/com/limelight/nvstream/input/NvInputPacket.java index 642fbd35..967731e8 100644 --- a/src/com/limelight/nvstream/NvInputPacket.java +++ b/src/com/limelight/nvstream/input/NvInputPacket.java @@ -1,4 +1,4 @@ -package com.limelight.nvstream; +package com.limelight.nvstream.input; import java.nio.ByteBuffer; import java.nio.ByteOrder;