--- a/build.xml Sun Nov 06 00:35:02 2011 +0100
+++ b/build.xml Sun Nov 06 01:55:51 2011 +0100
@@ -1,102 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="Beem">
+<project name="Login" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
- It contain the path to the SDK. It should *NOT* be checked in in Version
- Control Systems. -->
- <property file="local.properties" />
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <loadproperties srcFile="local.properties" />
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the default property values
- used by the Ant rules.
+ <!-- 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:
- application.package
- the name of your application package as defined in the manifest. Used by the
- 'uninstall' rule.
source.dir
- the name of the source directory. Default is 'src'.
+ The name of the source directory. Default is 'src'.
out.dir
- the name of the output directory. Default is 'bin'.
+ 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.
+ 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 in in Version Control Systems.
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
-->
- <property file="build.properties" />
+ <property file="ant.properties" />
- <!-- The default.properties file is created and updated by the 'android' tool, as well
- as ADT.
- This file is an integral part of the build system for your application and
- should be checked in in Version Control Systems. -->
- <property file="default.properties" />
+ <!-- The project.properties file is created and updated by the 'android'
+ tool, as well as ADT.
- <!-- Custom Android task to deal with the project target, and import the proper rules.
- This requires ant 1.6.0 or above. -->
- <path id="android.antlibs">
- <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
- <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
- <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
- <pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
- <pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
- </path>
+ 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).
- <taskdef name="setup"
- classname="com.android.ant.SetupTask"
- classpathref="android.antlibs" />
+ 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" />
- <!-- Execute the Android Setup task that will setup some properties specific to the target,
- and import the build rules files.
+ <!-- quick check on sdk.dir -->
+ <fail
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
+ unless="sdk.dir"
+ />
- The rules file is imported from
- <SDK>/platforms/<target_platform>/templates/android_rules.xml
-
- To customize some build steps for your project:
- - copy the content of the main node <project> from android_rules.xml
- - paste it in this build.xml below the <setup /> task.
- - disable the import by changing the setup task below to <setup import="false" />
- This will ensure that the properties are setup correctly but that your customized
- build steps are used.
- -->
- <setup />
-
- <property name="javadoc.output" value="doc/javadoc" />
- <property name="external.libs.dir" value="libs" />
-
- <target name="clean"
- description="Delete old build and dist directories">
- <delete verbose="false" dir="${out.dir}"/>
- <delete verbose="false" dir="gen"/>
+<!-- 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>
- <target name="all" depends="clean,debug,javadoc"/>
+ /* 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.
- <target name="javadoc">
- <javadoc author="true" destdir="${javadoc.output}" doctitle="Beem javadoc" source="1.6" sourcepath="${source.dir}" use="true" version="false" bootclasspathref="android.target.classpath">
- <classpath>
- <fileset dir="${external.libs.dir}" includes="*.jar" />
- </classpath>
- <link href="http://developer.android.com/reference" offline="true" packageListLoc="doc/android"/>
- <link href="http://www.igniterealtime.org/builds/smack/docs/latest/javadoc" offline="true" packageListLoc="doc/smack"/>
- <doctitle><![CDATA[<h1>Beem-project.com</h1>]]></doctitle>
- <bottom><![CDATA[<i>Copyright © 2009 Beem-project.com. All Rights Reserved.</i>]]></bottom>
- <doclet name="org.umlgraph.doclet.UmlGraphDoc" path="doc/UmlGraph.jar">
- <param name="-inferrel"/>
- <param name="-inferdep"/>
- <param name="-hide" value="java.*"/>
- <param name="-collpackages" value="java.util.*"/>
- <param name="-qualify"/>
- <param name="-types"/>
- <param name="-visibility"/>
- <param name="-postfixpackage"/>
- <param name="-nodefontsize" value="9"/>
- <param name="-nodefontpackagesize" value="7"/>
- </doclet>
- </javadoc>
- </target>
+ 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>
--- a/src/com/beem/project/beem/otr/BeemOtrManager.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/com/beem/project/beem/otr/BeemOtrManager.java Sun Nov 06 01:55:51 2011 +0100
@@ -23,7 +23,7 @@
Please send bug reports with examples or suggestions to
contact@beem-project.com or http://www.beem-project.com/
- */
+*/
package com.beem.project.beem.otr;
import java.io.IOException;
@@ -111,18 +111,36 @@
mChats.remove(sessionID);
}
+ /**
+ * get the fingerprint of the remote part
+ * @param sessionID the otr session
+ * @return a string containing the fingerprint
+ */
public String getRemoteFingerprint(final SessionID sessionID) {
return mOtrKeyManager.getRemoteFingerprint(sessionID);
}
+ /**
+ * set the remote fingerprint as verified
+ * @param sessionId the current otr session
+ */
public void verifyRemoteFingerprint(final SessionID sessionId) {
mOtrKeyManager.verify(sessionId);
}
+ /**
+ * remove the remote fingerprint from verified fingerprints
+ * @param sessionId the current otr session
+ */
public void unverifyRemoteFingerprint(final SessionID sessionId) {
mOtrKeyManager.unverify(sessionId);
}
+ /**
+ * get the local fingerprint
+ * @param sessionID the otr session
+ * @return a string containing the fingerprint
+ */
public String getLocalFingerprint(final SessionID sessionID) {
return mOtrKeyManager.getLocalFingerprint(sessionID);
}
--- a/src/com/beem/project/beem/service/BeemChatManager.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/com/beem/project/beem/service/BeemChatManager.java Sun Nov 06 01:55:51 2011 +0100
@@ -98,7 +98,7 @@
* Constructor.
* @param chatManager the smack ChatManager to adapt
* @param service the service which runs the chat manager
- * @param roster
+ * @param roster roster used to get presences changes
*/
public BeemChatManager(final ChatManager chatManager, final BeemService service, final Roster roster) {
mService = service;
@@ -337,6 +337,11 @@
}
}
+ /**
+ * implement a roster listener, is used to detect and close otr chats
+ * @author nikita
+ *
+ */
private class ChatRosterListener implements RosterListener {
@Override
--- a/src/com/beem/project/beem/service/ChatAdapter.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/com/beem/project/beem/service/ChatAdapter.java Sun Nov 06 01:55:51 2011 +0100
@@ -125,7 +125,6 @@
/**
* private method for sending message.
* @param message the message to send
- * @param log do we want to log (in memory and history) the message?
*/
private void transferMessage(com.beem.project.beem.service.Message message) {
org.jivesoftware.smack.packet.Message send = new org.jivesoftware.smack.packet.Message();
@@ -308,6 +307,10 @@
return mHistoryPath;
}
+ /**
+ * log a message
+ * @param message message to log
+ */
private void logMessage(com.beem.project.beem.service.Message message) {
String state = Environment.getExternalStorageState();
if (mIsHistory && Environment.MEDIA_MOUNTED.equals(state))
@@ -315,6 +318,11 @@
}
+ /**
+ * encrypt a message with an otr session
+ * @param unencrypted message with cleartext body
+ * @return message with encrypted body
+ */
private com.beem.project.beem.service.Message otrEncryptMessage(com.beem.project.beem.service.Message unencrypted) {
if (mOtrSessionId != null && unencrypted != null && unencrypted.getBody() != null) {
--- a/src/com/beem/project/beem/ui/Chat.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/com/beem/project/beem/ui/Chat.java Sun Nov 06 01:55:51 2011 +0100
@@ -651,6 +651,7 @@
/**
* Update the OTR informations.
+ * @param otrState the otr state
*/
private void updateOtrInformations(final String otrState) {
String text = null;
--- a/src/com/beem/project/beem/ui/dialogs/builders/DisplayOtrFingerprint.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/com/beem/project/beem/ui/dialogs/builders/DisplayOtrFingerprint.java Sun Nov 06 01:55:51 2011 +0100
@@ -40,7 +40,7 @@
Flavien Astraud, November 26, 2009
Head of the EIP Laboratory.
- */
+*/
package com.beem.project.beem.ui.dialogs.builders;
import android.app.AlertDialog;
@@ -52,7 +52,9 @@
import com.beem.project.beem.service.aidl.IChat;
/**
- *
+ *
+ * Use this builder to build a dialog which allows you to display otr fingerprints.
+ * @author nikita
*/
public class DisplayOtrFingerprint extends AlertDialog.Builder {
@@ -62,8 +64,7 @@
/**
* Constructor.
* @param context context activity.
- * @param roster the roster which has the contact you want to delete.
- * @param contact the contact to delete.
+ * @param chat the current chat.
*/
public DisplayOtrFingerprint(final Context context, final IChat chat) {
super(context);
--- a/src/net/java/otr4j/OtrException.java Sun Nov 06 00:35:02 2011 +0100
+++ b/src/net/java/otr4j/OtrException.java Sun Nov 06 01:55:51 2011 +0100
@@ -1,6 +1,6 @@
package net.java.otr4j;
-@SuppressWarnings("serial")
+
public class OtrException extends Exception {
public OtrException(Exception e){
super(e);