Skip to content

Commit eb22c0f

Browse files
殷杰殷杰
殷杰
authored and
殷杰
committed
Initial commit
0 parents  commit eb22c0f

File tree

2,525 files changed

+89226
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,525 files changed

+89226
-0
lines changed

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
local.properties
2+
*.iml
3+
.idea
4+
build
5+
.gradle
6+
*.apk
7+
app/manifest-merger-release-report.txt
8+
*~*

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "xabber/otr4j"]
2+
path = xabber/otr4j
3+
url = https://github.com/otr4j/otr4j.git
4+
[submodule "xabber/MemorizingTrustManager"]
5+
path = xabber/MemorizingTrustManager
6+
url = https://github.com/redsolution/MemorizingTrustManager.git

LICENSE

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
Copyright (c) 2015, Redsolution Inc.
2+
All rights reserved.
3+
4+
Project is distributed under GNU General Public License, Version 3 (see app/src/main/assets/LICENSE-GPLv3.txt).
5+
6+
Following files as well as translations in app/src/main/res/values* are distributed under Creative Commons Attribution Non-Commercial Share Alike license:
7+
8+
app/src/main/res/drawable/about_backdrop.jpg
9+
app/src/main/res/drawable*/chat_background.png
10+
app/src/main/res/drawable/contact_shadow.jpg
11+
app/src/main/res/drawable*/drawer_*.jpg
12+
app/src/main/res/drawable*/ic_avatar_*.png
13+
app/src/main/res/drawable*/ic_client_*.png
14+
app/src/main/res/drawable*/ic_offline_shadow_24dp.png
15+
app/src/main/res/drawable*/ic_scroll_indicator_circle_*.png
16+
app/src/main/res/drawable*/ic_stat_offline.png
17+
app/src/main/res/drawable*/ic_stat_cnline.png
18+
app/src/main/res/drawable*/ic_status_*.png
19+
app/src/main/res/drawable*/message_*.9.png
20+
21+
Following files are part of official icon set from Google and distributed under Creative Common Attribution 4.0 International License (CC-BY 4.0):
22+
23+
app/src/main/res/drawable*/ic_add_white_24dp.png
24+
app/src/main/res/drawable*/ic_arrow_left_white_24dp.png
25+
app/src/main/res/drawable*/ic_button_send_*_24dp.png
26+
app/src/main/res/drawable*/ic_chat_white_24dp.png
27+
app/src/main/res/drawable*/ic_clear_all_white_24dp.png
28+
app/src/main/res/drawable*/ic_clear_white_24dp.png
29+
app/src/main/res/drawable*/ic_exit_grey600_24dp.png
30+
app/src/main/res/drawable*/ic_expander_indicator_down_black_24dp.png
31+
app/src/main/res/drawable*/ic_expander_indicator_right_black_24dp.png
32+
app/src/main/res/drawable*/ic_group_add_white_24dp.png
33+
app/src/main/res/drawable*/ic_hangouts_grey600_24dp.png
34+
app/src/main/res/drawable*/ic_help_circle_grey600_24dp.png
35+
app/src/main/res/drawable*/ic_list_white_24dp.png
36+
app/src/main/res/drawable*/ic_message_delivered_18dp.png
37+
app/src/main/res/drawable*/ic_message_has_error_18dp.png
38+
app/src/main/res/drawable*/ic_message_not_sent_18dp.png
39+
app/src/main/res/drawable*/ic_person_add_white_24dp.png
40+
app/src/main/res/drawable*/ic_search_white_24dp.png
41+
app/src/main/res/drawable*/ic_security_*_24dp.png
42+
app/src/main/res/drawable*/ic_settings_grey600_24dp.png
43+
app/src/main/res/drawable*/ic_show_offline_*.png
44+
app/src/main/res/drawable*/ic_stat_add_circle.png
45+
app/src/main/res/drawable*/ic_stat_chat.png
46+
app/src/main/res/drawable*/ic_stat_error.png
47+
app/src/main/res/drawable*/ic_stat_help.png
48+
app/src/main/res/drawable*/ic_stat_play_circle_fill.png
49+
app/src/main/res/drawable*/ic_vcard_address_24dp.png
50+
app/src/main/res/drawable*/ic_vcard_birthday_24dp.png
51+
app/src/main/res/drawable*/ic_vcard_contact_info_24dp.png
52+
app/src/main/res/drawable*/ic_vcard_email_24dp.png
53+
app/src/main/res/drawable*/ic_vcard_job_title_24dp.png
54+
app/src/main/res/drawable*/ic_vcard_notes_24dp.png
55+
app/src/main/res/drawable*/ic_vcard_phone_24dp.png
56+
app/src/main/res/drawable*/ic_vcard_web_24dp.png
57+
58+
XMPP logo is licensed under a slightly modified MIT license (http://xmpp.org/about-xmpp/xsf/xsf-ipr-policy/#legal):
59+
app/src/main/res/drawable*/ic_vcard_xmpp_24dp.png
60+
61+
The Jabber logo is licensed under the Creative Commons Attribution License
62+
app/src/main/res/drawable*/ic_vcard_jabber_24dp.png
63+
64+
Xabber, Redsolution logo are trademarks of Redsolution Inc., and are licensed under Creative Commons Attribution-NoDerivs license:
65+
app/src/*/res/drawable*/xabber_logo*.png
66+
app/src/main/res/drawable*/redsolution_logo*.png
67+
app/src/*/res/mipmap*/ic_launcher.png
68+
69+
Following file is part of The Android Open Source Project licensed under the Apache License, Version 2.0 (the "License") (see assets/LICENSE-Apache2.txt):
70+
app/src/main/res/layout/preference.xml
71+
72+
Also source code of following components is included in repository (see the source code or official sites for license details):
73+
74+
Novel sasl client
75+
app/src/main/java/com/novell/sasl/*
76+
The OpenLDAP Public License.
77+
78+
Measite Smack SASL
79+
app/src/main/java/de/measite/smack/*
80+
Apache License, Version 2.0 (the "License").
81+
82+
Apache Harmony
83+
app/src/main/java/org/apache/harmony/*
84+
Apache License, Version 2.0 (the "License").
85+
86+
Apache Qpid
87+
app/src/main/java/org/apache/qpid/*
88+
Apache License, Version 2.0 (the "License").
89+
90+
Smack
91+
app/src/main/java/org/jivesoftware/*
92+
Apache License, Version 2.0 (the "License").
93+

README.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
Xabber - XMPP client for Android
2+
================================
3+
4+
Open source Jabber (XMPP) client with multi-account support, clean and simple interface.
5+
Being both free (as in freedom!) and ad-free, Xabber is designed to be the best Jabber client for Android.
6+
7+
Build instrustions
8+
==================
9+
10+
Xabber uses Gradle build system. The only specific thing is git submodule for otr4j library. To make it work use following commands:
11+
12+
::
13+
14+
git submodule init
15+
16+
git submodule update
17+
18+
And otr4j would be cloned to your local repository.
19+
20+
Supported protocols
21+
===================
22+
23+
* RFC-3920: Core
24+
* RFC-3921: Instant Messaging and Presence
25+
* XEP-0030: Service Discovery
26+
* XEP-0128: Service Discovery Extensions
27+
* XEP-0115: Entity Capabilities
28+
* XEP-0054: vcard-temp
29+
* XEP-0153: vCard-Based Avatars
30+
* XEP-0045: Multi-User Chat (incompletely)
31+
* XEP-0078: Non-SASL Authentication
32+
* XEP-0138: Stream Compression
33+
* XEP-0203: Delayed Delivery
34+
* XEP-0091: Legacy Delayed Delivery
35+
* XEP-0199: XMPP Ping
36+
* XEP-0147: XMPP URI Scheme Query Components
37+
* XEP-0085: Chat State Notifications
38+
* XEP-0184: Message Delivery Receipts
39+
* XEP-0155: Stanza Session Negotiation
40+
* XEP-0059: Result Set Management
41+
* XEP-0136: Message Archiving
42+
* XEP-0224: Attention
43+
* XEP-0077: In-Band Registration
44+
* XEP-0352: Client State Indication
45+
46+
Translations
47+
============
48+
49+
50+
51+
We use crowdin.com as our translation system.
52+
All related resources are automatically generated from files got with crowdin.com.
53+
If you want to update any translation go to Xabber page https://crowdin.com/project/xabber and request to join our translation team
54+
Please don't create pull requests with translation fixes as any changes will be overwritten with the next update from crowdin.com.
55+
56+
Wiki
57+
====
58+
59+
Visit our wiki pages for additional information: https://github.com/redsolution/xabber-android/wiki

build.gradle

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2+
buildscript {
3+
repositories {
4+
jcenter()
5+
}
6+
dependencies {
7+
classpath 'com.android.tools.build:gradle:2.2.2'
8+
}
9+
}
10+
11+
allprojects {
12+
repositories {
13+
jcenter()
14+
}
15+
}

gradle/wrapper/gradle-wrapper.jar

48.7 KB
Binary file not shown.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Wed Apr 10 15:27:10 PDT 2013
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

gradlew

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
#!/usr/bin/env bash
2+
3+
##############################################################################
4+
##
5+
## Gradle start up script for UN*X
6+
##
7+
##############################################################################
8+
9+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10+
DEFAULT_JVM_OPTS=""
11+
12+
APP_NAME="Gradle"
13+
APP_BASE_NAME=`basename "$0"`
14+
15+
# Use the maximum available, or set MAX_FD != -1 to use that value.
16+
MAX_FD="maximum"
17+
18+
warn ( ) {
19+
echo "$*"
20+
}
21+
22+
die ( ) {
23+
echo
24+
echo "$*"
25+
echo
26+
exit 1
27+
}
28+
29+
# OS specific support (must be 'true' or 'false').
30+
cygwin=false
31+
msys=false
32+
darwin=false
33+
case "`uname`" in
34+
CYGWIN* )
35+
cygwin=true
36+
;;
37+
Darwin* )
38+
darwin=true
39+
;;
40+
MINGW* )
41+
msys=true
42+
;;
43+
esac
44+
45+
# For Cygwin, ensure paths are in UNIX format before anything is touched.
46+
if $cygwin ; then
47+
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48+
fi
49+
50+
# Attempt to set APP_HOME
51+
# Resolve links: $0 may be a link
52+
PRG="$0"
53+
# Need this for relative symlinks.
54+
while [ -h "$PRG" ] ; do
55+
ls=`ls -ld "$PRG"`
56+
link=`expr "$ls" : '.*-> \(.*\)$'`
57+
if expr "$link" : '/.*' > /dev/null; then
58+
PRG="$link"
59+
else
60+
PRG=`dirname "$PRG"`"/$link"
61+
fi
62+
done
63+
SAVED="`pwd`"
64+
cd "`dirname \"$PRG\"`/" >&-
65+
APP_HOME="`pwd -P`"
66+
cd "$SAVED" >&-
67+
68+
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
69+
70+
# Determine the Java command to use to start the JVM.
71+
if [ -n "$JAVA_HOME" ] ; then
72+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
73+
# IBM's JDK on AIX uses strange locations for the executables
74+
JAVACMD="$JAVA_HOME/jre/sh/java"
75+
else
76+
JAVACMD="$JAVA_HOME/bin/java"
77+
fi
78+
if [ ! -x "$JAVACMD" ] ; then
79+
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
80+
81+
Please set the JAVA_HOME variable in your environment to match the
82+
location of your Java installation."
83+
fi
84+
else
85+
JAVACMD="java"
86+
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
87+
88+
Please set the JAVA_HOME variable in your environment to match the
89+
location of your Java installation."
90+
fi
91+
92+
# Increase the maximum file descriptors if we can.
93+
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
94+
MAX_FD_LIMIT=`ulimit -H -n`
95+
if [ $? -eq 0 ] ; then
96+
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
97+
MAX_FD="$MAX_FD_LIMIT"
98+
fi
99+
ulimit -n $MAX_FD
100+
if [ $? -ne 0 ] ; then
101+
warn "Could not set maximum file descriptor limit: $MAX_FD"
102+
fi
103+
else
104+
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
105+
fi
106+
fi
107+
108+
# For Darwin, add options to specify how the application appears in the dock
109+
if $darwin; then
110+
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
111+
fi
112+
113+
# For Cygwin, switch paths to Windows format before running java
114+
if $cygwin ; then
115+
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
116+
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
117+
118+
# We build the pattern for arguments to be converted via cygpath
119+
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120+
SEP=""
121+
for dir in $ROOTDIRSRAW ; do
122+
ROOTDIRS="$ROOTDIRS$SEP$dir"
123+
SEP="|"
124+
done
125+
OURCYGPATTERN="(^($ROOTDIRS))"
126+
# Add a user-defined pattern to the cygpath arguments
127+
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128+
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129+
fi
130+
# Now convert the arguments - kludge to limit ourselves to /bin/sh
131+
i=0
132+
for arg in "$@" ; do
133+
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134+
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135+
136+
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137+
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138+
else
139+
eval `echo args$i`="\"$arg\""
140+
fi
141+
i=$((i+1))
142+
done
143+
case $i in
144+
(0) set -- ;;
145+
(1) set -- "$args0" ;;
146+
(2) set -- "$args0" "$args1" ;;
147+
(3) set -- "$args0" "$args1" "$args2" ;;
148+
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149+
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150+
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151+
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152+
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153+
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154+
esac
155+
fi
156+
157+
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
158+
function splitJvmOpts() {
159+
JVM_OPTS=("$@")
160+
}
161+
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162+
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
163+
164+
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

0 commit comments

Comments
 (0)