aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2008-10-30 21:35:05 +0000
committerKenny Root <kenny@the-b.org>2008-10-30 21:35:05 +0000
commit34a2c4a660b16e044475d0a0aca47b0254aab5b1 (patch)
tree59414024bd92872ae3abda73b972390b7b9ce33d
parentd13d568d1effb0e9913b1bc8ec4b6d7e4cc0e02d (diff)
downloadconnectbot-34a2c4a660b16e044475d0a0aca47b0254aab5b1.tar.gz
connectbot-34a2c4a660b16e044475d0a0aca47b0254aab5b1.tar.bz2
connectbot-34a2c4a660b16e044475d0a0aca47b0254aab5b1.zip
* Added automatic version number insertion via Ant
* Removed unused cruft * Changed Class to Object in PromptHelper.java
-rw-r--r--build.xml301
-rw-r--r--lib/ant/ant-contrib.jarbin0 -> 119512 bytes
-rw-r--r--res/layout/wiz_eula.xml9
-rw-r--r--res/values/strings.xml8
-rw-r--r--src/org/connectbot/service/PromptHelper.java4
-rw-r--r--src/org/connectbot/service/TerminalBridge.java4
-rw-r--r--src/org/connectbot/service/TerminalManager.java1
-rw-r--r--src/org/connectbot/util/EntropyView.java1
8 files changed, 319 insertions, 9 deletions
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..9b41a63
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,301 @@
+<?xml version="1.0" ?>
+<project name="ConnectBot" default="debug">
+ <!-- SDK Locations -->
+ <property name="sdk-folder" value="/usr/local/android" />
+ <property name="android-tools" value="/usr/local/android/tools" />
+
+ <!-- Application Package Name -->
+ <property name="application-package" value="org.connectbot" />
+
+ <!-- The intermediates directory -->
+ <!-- Eclipse uses "bin" for its own output, so we do the same. -->
+ <property name="outdir" value="bin" />
+
+ <property name="lib.dir" value="${basedir}/lib" />
+ <property name="encoding" value="UTF-8" />
+
+ <!-- ************************************************************************************* -->
+ <!-- No user servicable parts below. -->
+
+ <property name="android-framework" value="${android-tools}/lib/framework.aidl" />
+
+ <!-- Input directories -->
+ <property name="resource-dir" value="res" />
+ <property name="asset-dir" value="assets" />
+ <property name="srcdir" value="src" />
+ <condition property="srcdir-ospath"
+ value="${basedir}\${srcdir}"
+ else="${basedir}/${srcdir}" >
+ <os family="windows"/>
+ </condition>
+
+ <property name="external-libs" value="libs" />
+ <condition property="external-libs-ospath"
+ value="${basedir}\${external-libs}"
+ else="${basedir}/${external-libs}" >
+ <os family="windows"/>
+ </condition>
+
+ <!-- Output directories -->
+ <property name="outdir-classes" value="${outdir}/classes" />
+ <condition property="outdir-classes-ospath"
+ value="${basedir}\${outdir-classes}"
+ else="${basedir}/${outdir-classes}" >
+ <os family="windows"/>
+ </condition>
+
+ <!-- Create R.java in the source directory -->
+ <property name="outdir-r" value="src" />
+
+ <!-- Intermediate files -->
+ <property name="dex-file" value="classes.dex" />
+ <property name="intermediate-dex" value="${outdir}/${dex-file}" />
+ <condition property="intermediate-dex-ospath"
+ value="${basedir}\${intermediate-dex}"
+ else="${basedir}/${intermediate-dex}" >
+ <os family="windows"/>
+ </condition>
+
+ <!-- The final package file to generate -->
+ <property name="resources-package" value="${outdir}/${ant.project.name}.ap_" />
+ <condition property="resources-package-ospath"
+ value="${basedir}\${resources-package}"
+ else="${basedir}/${resources-package}" >
+ <os family="windows"/>
+ </condition>
+
+ <property name="out-debug-package" value="${outdir}/${ant.project.name}-debug.apk" />
+ <condition property="out-debug-package-ospath"
+ value="${basedir}\${out-debug-package}"
+ else="${basedir}/${out-debug-package}" >
+ <os family="windows"/>
+ </condition>
+
+ <property name="out-unsigned-package" value="${outdir}/${ant.project.name}-unsigned.apk" />
+ <condition property="out-unsigned-package-ospath"
+ value="${basedir}\${out-unsigned-package}"
+ else="${basedir}/${out-unsigned-package}" >
+ <os family="windows"/>
+ </condition>
+
+ <!-- Tools -->
+ <condition property="aapt" value="${android-tools}/aapt.exe" else="${android-tools}/aapt" >
+ <os family="windows"/>
+ </condition>
+ <condition property="aidl" value="${android-tools}/aidl.exe" else="${android-tools}/aidl" >
+ <os family="windows"/>
+ </condition>
+ <condition property="adb" value="${android-tools}/adb.exe" else="${android-tools}/adb" >
+ <os family="windows"/>
+ </condition>
+ <condition property="dx" value="${android-tools}/dx.bat" else="${android-tools}/dx" >
+ <os family="windows"/>
+ </condition>
+ <condition property="apk-builder" value="${android-tools}/apkbuilder.bat" else="${android-tools}/apkbuilder" >
+ <os family="windows"/>
+ </condition>
+
+ <property name="android-jar" value="${sdk-folder}/android.jar" />
+
+ <!-- Rules -->
+
+ <!-- Create the output directories if they don't exist yet. -->
+ <target name="dirs">
+ <echo>Creating output directories if needed...</echo>
+ <mkdir dir="${outdir}" />
+ <mkdir dir="${outdir-classes}" />
+ </target>
+
+ <!-- Generate the R.java file for this project's resources. -->
+ <target name="resource-src" depends="dirs">
+ <echo>Generating R.java / Manifest.java from the resources...</echo>
+ <exec executable="${aapt}" failonerror="true">
+ <arg value="package" />
+ <arg value="-m" />
+ <arg value="-J" />
+ <arg value="${outdir-r}" />
+ <arg value="-M" />
+ <arg value="AndroidManifest.xml" />
+ <arg value="-S" />
+ <arg value="${resource-dir}" />
+ <arg value="-I" />
+ <arg value="${android-jar}" />
+ </exec>
+ </target>
+
+ <!-- Generate java classes from .aidl files. -->
+ <target name="aidl" depends="dirs">
+ <echo>Compiling aidl files into Java classes...</echo>
+ <apply executable="${aidl}" failonerror="true">
+ <arg value="-p${android-framework}" />
+ <arg value="-I${srcdir}" />
+ <fileset dir="${srcdir}">
+ <include name="**/*.aidl"/>
+ </fileset>
+ </apply>
+ </target>
+
+ <!-- Compile this project's .java files into .class files. -->
+ <target name="compile" depends="dirs, resource-src, aidl">
+ <javac encoding="ascii" target="1.5" debug="true" extdirs=""
+ srcdir="."
+ destdir="${outdir-classes}"
+ bootclasspath="${android-jar}">
+ <classpath>
+ <fileset dir="${external-libs}" includes="*.jar"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <!-- Convert this project's .class files into .dex files. -->
+ <target name="dex" depends="compile">
+ <echo>Converting compiled files and external libraries into ${outdir}/${dex-file}...</echo>
+ <apply executable="${dx}" failonerror="true" parallel="true">
+ <arg value="--dex" />
+ <arg value="--output=${intermediate-dex-ospath}" />
+ <arg path="${outdir-classes-ospath}" />
+ <fileset dir="${external-libs}" includes="*.jar"/>
+ </apply>
+ </target>
+
+ <!-- Put the project's resources into the output package file. -->
+ <target name="package-res-and-assets">
+ <echo>Packaging resources and assets...</echo>
+ <exec executable="${aapt}" failonerror="true">
+ <arg value="package" />
+ <arg value="-f" />
+ <arg value="-M" />
+ <arg value="AndroidManifest.xml" />
+ <arg value="-S" />
+ <arg value="${resource-dir}" />
+ <arg value="-A" />
+ <arg value="${asset-dir}" />
+ <arg value="-I" />
+ <arg value="${android-jar}" />
+ <arg value="-F" />
+ <arg value="${resources-package}" />
+ </exec>
+ </target>
+
+ <!-- Same as package-res-and-assets, but without "-A ${asset-dir}" -->
+ <target name="package-res-no-assets">
+ <echo>Packaging resources...</echo>
+ <exec executable="${aapt}" failonerror="true">
+ <arg value="package" />
+ <arg value="-f" />
+ <arg value="-M" />
+ <arg value="AndroidManifest.xml" />
+ <arg value="-S" />
+ <arg value="${resource-dir}" />
+ <!-- No assets directory -->
+ <arg value="-I" />
+ <arg value="${android-jar}" />
+ <arg value="-F" />
+ <arg value="${resources-package}" />
+ </exec>
+ </target>
+
+ <!-- Invoke the proper target depending on whether or not
+ an assets directory is present. -->
+ <!-- TODO: find a nicer way to include the "-A ${asset-dir}" argument
+ only when the assets dir exists. -->
+ <target name="package-res">
+ <available file="${asset-dir}" type="dir"
+ property="res-target" value="and-assets" />
+ <property name="res-target" value="no-assets" />
+ <antcall target="package-res-${res-target}" />
+ </target>
+
+ <!-- Package the application and sign it with a debug key.
+ This is the default target when building. It is used for debug. -->
+ <target name="debug" depends="dex, package-res, update-version">
+ <echo>Packaging ${out-debug-package}, and signing it with a debug key...</echo>
+ <exec executable="${apk-builder}" failonerror="true">
+ <arg value="${out-debug-package-ospath}" />
+ <arg value="-z" />
+ <arg value="${resources-package-ospath}" />
+ <arg value="-f" />
+ <arg value="${intermediate-dex-ospath}" />
+ <arg value="-rf" />
+ <arg value="${srcdir-ospath}" />
+ <arg value="-rj" />
+ <arg value="${external-libs-ospath}" />
+ </exec>
+ </target>
+
+ <!-- Package the application without signing it.
+ This allows for the application to be signed later with an official publishing key. -->
+ <target name="release" depends="dex, package-res, update-version">
+ <echo>Packaging ${out-unsigned-package} for release...</echo>
+ <exec executable="${apk-builder}" failonerror="true">
+ <arg value="${out-unsigned-package-ospath}" />
+ <arg value="-u" />
+ <arg value="-z" />
+ <arg value="${resources-package-ospath}" />
+ <arg value="-f" />
+ <arg value="${intermediate-dex-ospath}" />
+ <arg value="-rf" />
+ <arg value="${srcdir-ospath}" />
+ <arg value="-rj" />
+ <arg value="${external-libs-ospath}" />
+ </exec>
+ <echo>It will need to be signed with jarsigner before being published.</echo>
+ </target>
+
+ <!-- Install the package on the default emulator -->
+ <target name="install" depends="debug">
+ <echo>Installing ${out-debug-package} onto default emulator...</echo>
+ <exec executable="${adb}" failonerror="true">
+ <arg value="install" />
+ <arg value="${out-debug-package}" />
+ </exec>
+ </target>
+
+ <target name="reinstall" depends="debug">
+ <echo>Installing ${out-debug-package} onto default emulator...</echo>
+ <exec executable="${adb}" failonerror="true">
+ <arg value="install" />
+ <arg value="-r" />
+ <arg value="${out-debug-package}" />
+ </exec>
+ </target>
+
+ <!-- Uinstall the package from the default emulator -->
+ <target name="uninstall">
+ <echo>Uninstalling ${application-package} from the default emulator...</echo>
+ <exec executable="${adb}" failonerror="true">
+ <arg value="uninstall" />
+ <arg value="${application-package}" />
+ </exec>
+ </target>
+
+ <target name="update-version" description="Updates the Version.java file with current SVN revision">
+ <echo>Updating strings.xml with SVN revision and build date...</echo>
+ <property name="revision" value="HEAD"/>
+ <tstamp>
+ <format property="build.date" pattern="yyyy.MM.dd" />
+ </tstamp>
+
+ <!-- find out svn.revision of HEAD, need svn.exe installed on local machine -->
+ <exec executable="svn" outputproperty="svnlog.out">
+ <arg line="info -r ${revision}"/>
+ </exec>
+
+ <loadfile property="android.manifest" srcFile="${basedir}/AndroidManifest.xml" encoding="${encoding}" />
+
+ <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib.dir}/ant/ant-contrib.jar"/>
+ <propertyregex property="version.number" input="${android.manifest}" select="\1"
+ regexp='android:versionName="([0-9\.]+)"'
+ defaultValue="0" />
+
+ <propertyregex property="svn.revision" input="${svnlog.out}" select="\1"
+ regexp="Revision: ([0-9]+)"
+ defaultValue="0" />
+
+ <replaceregexp file="${resource-dir}/values/strings.xml" encoding="${encoding}" match='(\x3Cstring name="msg_version">)[^\x3C]*(\x3C/string>)'
+ replace='\1${ant.project.name} ${version.number} (r${svn.revision} ${build.date})\2' />
+
+ <echo>Updated "msg_version" to: ${ant.project.name} ${version.number} (r${svn.revision} ${build.date})</echo>
+ </target>
+
+</project>
diff --git a/lib/ant/ant-contrib.jar b/lib/ant/ant-contrib.jar
new file mode 100644
index 0000000..db90b0a
--- /dev/null
+++ b/lib/ant/ant-contrib.jar
Binary files differ
diff --git a/res/layout/wiz_eula.xml b/res/layout/wiz_eula.xml
index 06ae2da..38dbf6e 100644
--- a/res/layout/wiz_eula.xml
+++ b/res/layout/wiz_eula.xml
@@ -33,7 +33,16 @@
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
+ android:paddingTop="10dip"
+ android:text="@string/msg_version"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ />
+
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
android:text="ConnectBot is a simple, powerful, open-source Secure Shell (SSH) client for your Android device."
+ android:paddingTop="10dip"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5ae2a35..bae495a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3,7 +3,7 @@
<string name="app_name">ConnectBot</string>
<string name="app_desc">Simple, powerful, open-source SSH client.</string>
- <string name="title_hosts_list">Connectbot</string>
+ <string name="title_hosts_list">ConnectBot</string>
<string name="title_host">Host</string>
<string name="title_shell">Secure Shell</string>
<string name="title_password">Input Password</string>
@@ -39,7 +39,11 @@
<string name="alert_disconnect_msg">Connection Lost</string>
<string name="msg_copyright">Copyright &#169; 2007-2008 Kenny Root http://the-b.org/, Jeffrey Sharkey http://jsharkey.org/</string>
- <string name="msg_version">v1.0</string>
+
+ <!-- DO NOT MANUALLY UPDATE VERSION!!!
+ Updating is update by the ant task "update-version" in build.xml
+ -->
+ <string name="msg_version">ConnectBot (working copy)</string>
<string name="pref_emulation">emulation</string>
diff --git a/src/org/connectbot/service/PromptHelper.java b/src/org/connectbot/service/PromptHelper.java
index 66f1591..37d12be 100644
--- a/src/org/connectbot/service/PromptHelper.java
+++ b/src/org/connectbot/service/PromptHelper.java
@@ -31,7 +31,7 @@ public class PromptHelper {
protected Semaphore promptResponse = new Semaphore(0);
public String promptHint = null;
- public Class promptRequested = null;
+ public Object promptRequested = null;
protected Object response = null;
@@ -58,7 +58,7 @@ public class PromptHelper {
* Request a prompt response from parent. This is a blocking call until user
* interface returns a value.
*/
- public synchronized Object requestPrompt(String hint, Class type) throws Exception {
+ public synchronized Object requestPrompt(String hint, Object type) throws Exception {
this.promptHint = hint;
this.promptRequested = type;
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index 8dcda41..552b3b1 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -118,9 +118,7 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener, InteractiveCal
protected Canvas canvas = new Canvas();
private boolean ctrlPressed = false;
-
- private String currentMethod = null;
-
+
protected PubkeyDatabase pubkeydb = null;
protected Cursor pubkeys = null;
final int COL_NICKNAME, COL_TYPE, COL_PRIVATE, COL_PUBLIC, COL_ENCRYPTED;
diff --git a/src/org/connectbot/service/TerminalManager.java b/src/org/connectbot/service/TerminalManager.java
index f37315d..8559f5c 100644
--- a/src/org/connectbot/service/TerminalManager.java
+++ b/src/org/connectbot/service/TerminalManager.java
@@ -21,7 +21,6 @@ package org.connectbot.service;
import java.util.LinkedList;
import java.util.List;
-import org.connectbot.ConsoleActivity;
import org.connectbot.R;
import org.connectbot.util.HostDatabase;
diff --git a/src/org/connectbot/util/EntropyView.java b/src/org/connectbot/util/EntropyView.java
index 977b536..0c236ef 100644
--- a/src/org/connectbot/util/EntropyView.java
+++ b/src/org/connectbot/util/EntropyView.java
@@ -28,7 +28,6 @@ import android.graphics.Paint;
import android.graphics.Typeface;
import android.graphics.Paint.FontMetrics;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.View;