altosdroid: Switch altosdroid build to ant
authorKeith Packard <keithp@keithp.com>
Thu, 5 Jan 2012 04:33:49 +0000 (20:33 -0800)
committerKeith Packard <keithp@keithp.com>
Thu, 5 Jan 2012 04:33:49 +0000 (20:33 -0800)
The package builder only works inside ant

Signed-off-by: Keith Packard <keithp@keithp.com>
altosdroid/.gitignore [new file with mode: 0644]
altosdroid/ant.properties [new file with mode: 0644]
altosdroid/build.xml [new file with mode: 0644]
altosdroid/local.properties [new file with mode: 0644]
altosdroid/project.properties [new file with mode: 0644]
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
altosdroid/src/org/altusmetrum/AltosDroid/BluetoothChatService.java

diff --git a/altosdroid/.gitignore b/altosdroid/.gitignore
new file mode 100644 (file)
index 0000000..e614fbb
--- /dev/null
@@ -0,0 +1,2 @@
+bin
+gen
diff --git a/altosdroid/ant.properties b/altosdroid/ant.properties
new file mode 100644 (file)
index 0000000..5c19441
--- /dev/null
@@ -0,0 +1,21 @@
+# This file is used to override default values used by the Ant build system.
+#
+# This file must be checked in Version Control Systems, as it is
+# integral to the build system of your project.
+
+# This file is only used by the Ant script.
+
+# You can use this to override default values such as
+#  'source.dir' for the location of your java source folder and
+#  'out.dir' for the location of your output folder.
+
+# You can also use it define how the release builds are signed by declaring
+# the following properties:
+#  'key.store' for the location of your keystore and
+#  'key.alias' for the name of the key to use.
+# The password will be asked during the build when you use the 'release' target.
+
+key.store=keystore
+key.alias=bob
+key.store.password=altusmetrum
+key.alias.password=altusmetrum
diff --git a/altosdroid/build.xml b/altosdroid/build.xml
new file mode 100644 (file)
index 0000000..6a89edb
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="AltosDroid" default="help">
+
+    <!-- The local.properties file is created and updated by the 'android' tool.
+         It contains the path to the SDK. It should *NOT* be checked into
+         Version Control Systems. -->
+    <property file="local.properties" />
+
+    <!-- The ant.properties file can be created by you. It is only edited by the
+         'android' tool to add properties to it.
+         This is the place to change some Ant specific build properties.
+         Here are some properties you may want to change/update:
+
+         source.dir
+             The name of the source directory. Default is 'src'.
+         out.dir
+             The name of the output directory. Default is 'bin'.
+
+         For other overridable properties, look at the beginning of the rules
+         files in the SDK, at tools/ant/build.xml
+
+         Properties related to the SDK location or the project target should
+         be updated using the 'android' tool with the 'update' action.
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems.
+
+         -->
+    <property file="ant.properties" />
+
+    <!-- The project.properties file is created and updated by the 'android'
+         tool, as well as ADT.
+
+         This contains project specific properties such as project target, and library
+         dependencies. Lower level build properties are stored in ant.properties
+         (or in .classpath for Eclipse projects).
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems. -->
+    <loadproperties srcFile="project.properties" />
+
+    <!-- quick check on sdk.dir -->
+    <fail
+            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
+            unless="sdk.dir"
+    />
+
+
+<!-- extension targets. Uncomment the ones where you want to do custom work
+     in between standard targets -->
+<!--
+    <target name="-pre-build">
+    </target>
+    <target name="-pre-compile">
+    </target>
+
+    /* This is typically used for code obfuscation.
+       Compiled code location: ${out.classes.absolute.dir}
+       If this is not done in place, override ${out.dex.input.absolute.dir} */
+    <target name="-post-compile">
+    </target>
+-->
+
+    <!-- Import the actual build file.
+
+         To customize existing targets, there are two options:
+         - Customize only one target:
+             - copy/paste the target into this file, *before* the
+               <import> task.
+             - customize it to your needs.
+         - Customize the whole content of build.xml
+             - copy/paste the content of the rules files (minus the top node)
+               into this file, replacing the <import> task.
+             - customize to your needs.
+
+         ***********************
+         ****** IMPORTANT ******
+         ***********************
+         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+         in order to avoid having your file be overridden by tools such as "android update project"
+    -->
+    <!-- version-tag: 1 -->
+    <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
diff --git a/altosdroid/local.properties b/altosdroid/local.properties
new file mode 100644 (file)
index 0000000..f46d507
--- /dev/null
@@ -0,0 +1,10 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must *NOT* be checked in Version Control Systems,
+# as it contains information specific to your local configuration.
+
+# location of the SDK. This is only used by Ant
+# For customization when using a Version Control System, please read the
+# header note.
+sdk.dir=/home/keithp/src/android/android-sdk-linux
diff --git a/altosdroid/project.properties b/altosdroid/project.properties
new file mode 100644 (file)
index 0000000..0a80e64
--- /dev/null
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=Google Inc.:Google APIs:10
index 844ca39ee21a2c29c7e36cb9a5d6306d05bfdb65..43a85748bd3e4ec779a7c0c99f1d5427431a69b3 100644 (file)
@@ -217,6 +217,8 @@ public class AltosDroid extends Activity {
             // Get the message bytes and tell the BluetoothChatService to write
             byte[] send = message.getBytes();
             mChatService.write(send);
+           byte[] newline = { '\n' };
+           mChatService.write(newline);
 
             // Reset out string buffer to zero and clear the edit text field
             mOutStringBuffer.setLength(0);
index 93cb75de8b6e9092899f61e14b54e904b612851d..03edeb93df0378dda8f2e05b652879b0007c42aa 100644 (file)
@@ -236,15 +236,17 @@ public class BluetoothChatService {
             // Get a BluetoothSocket for a connection with the
             // given BluetoothDevice
             try {
+               Log.i(TAG, "Connect starting");
                 if (secure) {
                        Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
-                       tmp = (BluetoothSocket) m.invoke(device, 2);
+                       tmp = (BluetoothSocket) m.invoke(device, 1);
 //                    tmp = device.createRfcommSocket(1);
                 } else {
                        Method m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
-                       tmp = (BluetoothSocket) m.invoke(device, 2);
+                       tmp = (BluetoothSocket) m.invoke(device, 1);
 //                    tmp = device.createInsecureRfcommSocket(1);
                 }
+               Log.i(TAG, "Connect succeeded");
             } catch (Exception e) {
                 Log.e(TAG, "Socket Type: " + mSocketType + "create() failed", e);
                                e.printStackTrace();
@@ -253,19 +255,21 @@ public class BluetoothChatService {
         }
 
         public void run() {
-            Log.i(TAG, "BEGIN mConnectThread SocketType:" + mSocketType);
+            Log.i(TAG, "BEGIN ya y a mConnectThread SocketType:" + mSocketType);
             setName("ConnectThread" + mSocketType);
 
             // Always cancel discovery because it will slow down a connection
-            mAdapter.cancelDiscovery();
+//            mAdapter.cancelDiscovery();
 
             // Make a connection to the BluetoothSocket
             try {
                 // This is a blocking call and will only return on a
                 // successful connection or an exception
+               Log.i(TAG, "CONNECT SocketType:" + mSocketType);
                 mmSocket.connect();
             } catch (IOException e) {
                 // Close the socket
+               Log.e(TAG, "Connect failed", e);
                 try {
                     mmSocket.close();
                 } catch (IOException e2) {
@@ -332,9 +336,12 @@ public class BluetoothChatService {
                     // Read from the InputStream
                     bytes = mmInStream.read(buffer);
 
-                    // Send the obtained bytes to the UI Activity
-                    mHandler.obtainMessage(AltosDroid.MESSAGE_READ, bytes, -1, buffer)
+                   if (bytes > 0) {
+                       Log.i(TAG, "Recv: " + new String(buffer, 0, bytes));
+                       // Send the obtained bytes to the UI Activity
+                       mHandler.obtainMessage(AltosDroid.MESSAGE_READ, bytes, -1, buffer)
                             .sendToTarget();
+                   }
                 } catch (IOException e) {
                     Log.e(TAG, "disconnected", e);
                     connectionLost();