diff --git a/OpenPGP-Keychain/build.gradle b/OpenPGP-Keychain/build.gradle
index f31b6908c..afc95fee8 100644
--- a/OpenPGP-Keychain/build.gradle
+++ b/OpenPGP-Keychain/build.gradle
@@ -24,6 +24,7 @@ dependencies {
compile project(':libraries:ActionBarSherlock')
compile project(':libraries:HtmlTextView')
compile project(':libraries:StickyListHeaders:library')
+ compile project(':libraries:zxing')
}
android {
diff --git a/OpenPGP-Keychain/project.properties b/OpenPGP-Keychain/project.properties
index 8e240f3c3..73fc44378 100644
--- a/OpenPGP-Keychain/project.properties
+++ b/OpenPGP-Keychain/project.properties
@@ -12,3 +12,4 @@ target=android-19
android.library.reference.1=../libraries/ActionBarSherlock
android.library.reference.2=../libraries/HtmlTextView
android.library.reference.3=../libraries/StickyListHeaders/library
+android.library.reference.4=../libraries/zxing
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyViewActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyViewActivity.java
index 4bffd9f3d..13926d172 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyViewActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyViewActivity.java
@@ -90,7 +90,7 @@ public class KeyViewActivity extends SherlockFragmentActivity implements CreateN
Intent intent = getIntent();
mDataUri = intent.getData();
if (mDataUri == null) {
- Log.e(Constants.TAG, "Intent data missing. Should be Uri of app!");
+ Log.e(Constants.TAG, "Intent data missing. Should be Uri of key!");
finish();
return;
} else {
diff --git a/README.md b/README.md
index 30c3f01e5..059cbb806 100644
--- a/README.md
+++ b/README.md
@@ -28,8 +28,9 @@ Android Studio is currently not supported or recommended!
1. File -> Import -> Android -> Existing Android Code Into Workspace, choose "libraries/ActionBarSherlock"
2. File -> Import -> Android -> Existing Android Code Into Workspace, choose "libraries/HtmlTextView"
3. File -> Import -> Android -> Existing Android Code Into Workspace, choose "libraries/StickyListHeaders/library"
-4. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Keychain"
-5. OpenPGP-Kechain can now be build
+4. File -> Import -> Android -> Existing Android Code Into Workspace, choose "libraries/zxing"
+5. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Keychain"
+6. OpenPGP-Kechain can now be build
# Keychain API
diff --git a/libraries/StickyListHeaders/build.gradle b/libraries/StickyListHeaders/build.gradle
deleted file mode 100644
index 849b1323c..000000000
--- a/libraries/StickyListHeaders/build.gradle
+++ /dev/null
@@ -1,24 +0,0 @@
-buildscript {
- repositories {
- mavenCentral()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:0.6.+'
- }
-}
-
-def isReleaseBuild() {
- return version.contains("SNAPSHOT") == false
-}
-
-allprojects {
- version = VERSION_NAME
- group = GROUP
-
- repositories {
- mavenCentral()
- }
-}
-
-apply plugin: 'android-reporting'
diff --git a/libraries/StickyListHeaders/demo.gif b/libraries/StickyListHeaders/demo.gif
deleted file mode 100644
index d73e3297b..000000000
Binary files a/libraries/StickyListHeaders/demo.gif and /dev/null differ
diff --git a/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.jar b/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 8c0fb64a8..000000000
Binary files a/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.properties b/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 0a7effc64..000000000
--- a/libraries/StickyListHeaders/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Tue Nov 19 08:36:06 CET 2013
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip
diff --git a/libraries/StickyListHeaders/gradlew b/libraries/StickyListHeaders/gradlew
deleted file mode 100644
index 91a7e269e..000000000
--- a/libraries/StickyListHeaders/gradlew
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/libraries/StickyListHeaders/gradlew.bat b/libraries/StickyListHeaders/gradlew.bat
deleted file mode 100644
index aec99730b..000000000
--- a/libraries/StickyListHeaders/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/libraries/StickyListHeaders/library/build.gradle b/libraries/StickyListHeaders/library/build.gradle
index a15de94c2..21050fc98 100644
--- a/libraries/StickyListHeaders/library/build.gradle
+++ b/libraries/StickyListHeaders/library/build.gradle
@@ -12,5 +12,3 @@ android {
}
}
}
-
-apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/eaa6b5404b7594e6c23b884fdc5795f545db55dd/gradle-mvn-push.gradle'
diff --git a/libraries/StickyListHeaders/sample/AndroidManifest.xml b/libraries/StickyListHeaders/sample/AndroidManifest.xml
deleted file mode 100644
index 4bf61a441..000000000
--- a/libraries/StickyListHeaders/sample/AndroidManifest.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/libs/android-support-v4.jar b/libraries/StickyListHeaders/sample/libs/android-support-v4.jar
deleted file mode 100644
index cf12d2839..000000000
Binary files a/libraries/StickyListHeaders/sample/libs/android-support-v4.jar and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_drawer.png b/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_drawer.png
deleted file mode 100644
index 6614ea4f4..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_drawer.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_launcher.png b/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644
index 96a442e5b..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-hdpi/ic_launcher.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-ldpi/ic_launcher.png b/libraries/StickyListHeaders/sample/res/drawable-ldpi/ic_launcher.png
deleted file mode 100644
index 99238729d..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-ldpi/ic_launcher.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_drawer.png b/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_drawer.png
deleted file mode 100644
index b05c026c1..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_drawer.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_launcher.png b/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644
index 359047dfa..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-mdpi/ic_launcher.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_drawer.png b/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_drawer.png
deleted file mode 100644
index bcf49dd73..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_drawer.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_launcher.png b/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index 71c6d760f..000000000
Binary files a/libraries/StickyListHeaders/sample/res/drawable-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/libraries/StickyListHeaders/sample/res/drawable/header_selector.xml b/libraries/StickyListHeaders/sample/res/drawable/header_selector.xml
deleted file mode 100644
index 5dfb8265c..000000000
--- a/libraries/StickyListHeaders/sample/res/drawable/header_selector.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/layout/header.xml b/libraries/StickyListHeaders/sample/res/layout/header.xml
deleted file mode 100644
index 177e40c4e..000000000
--- a/libraries/StickyListHeaders/sample/res/layout/header.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/layout/list_footer.xml b/libraries/StickyListHeaders/sample/res/layout/list_footer.xml
deleted file mode 100644
index 4fa22c1f3..000000000
--- a/libraries/StickyListHeaders/sample/res/layout/list_footer.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/layout/list_header.xml b/libraries/StickyListHeaders/sample/res/layout/list_header.xml
deleted file mode 100644
index 97d46c69b..000000000
--- a/libraries/StickyListHeaders/sample/res/layout/list_header.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/layout/main.xml b/libraries/StickyListHeaders/sample/res/layout/main.xml
deleted file mode 100644
index 2d22c3266..000000000
--- a/libraries/StickyListHeaders/sample/res/layout/main.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/layout/test_list_item_layout.xml b/libraries/StickyListHeaders/sample/res/layout/test_list_item_layout.xml
deleted file mode 100644
index 0f8efc32e..000000000
--- a/libraries/StickyListHeaders/sample/res/layout/test_list_item_layout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
diff --git a/libraries/StickyListHeaders/sample/res/values/arrays.xml b/libraries/StickyListHeaders/sample/res/values/arrays.xml
deleted file mode 100755
index 5cd71de49..000000000
--- a/libraries/StickyListHeaders/sample/res/values/arrays.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
- - Afghanistan
- - Albania
- - Algeria
- - Andorra
- - Angola
- - Antigua & Barbuda
- - Argentina
- - Armenia
- - Australia
- - Austria
- - Azerbaijan
-
- - Bahamas
- - Bahrain
- - Bangladesh
- - Barbados
- - Belarus
- - Belgium
- - Belize
- - Benin
- - Bhutan
- - Bolivia
- - Bosnia and Herzegovina
- - Botswana
- - Brazil
- - Brunei
- - Bulgaria
- - Burkina Faso
- - Burma
- - Burundi
-
- - Cambodia
- - Cameroon
- - Canada
- - Cape Verde
- - Central African Republic
- - Chad
- - Chile
- - China
- - Colombia
- - Comoros
- - Congo, Democratic Republic of the
- - Congo, Republic of the
- - Costa Rica
- - Cote d\'voire
- - Croatia
- - Cuba
- - Cyprus
- - Czech Republic
-
- - Denmark
- - Djibouti
- - Dominica
- - Dominican Republic
-
- - Ecuador
- - Egypt
- - El Salvador
- - Equatorial Guinea
- - Eritrea
- - Estonia
- - Ethiopia
-
- - Fiji
- - Finland
- - France
-
- - Gabon
- - Gambia, The
- - Georgia
- - Ghana
- - Greece
- - Grenada
- - Guatemala
- - Guinea
- - Guinea-Bissau
- - Guyana
-
- - Haiti
- - Holy See
- - Honduras
- - Hong Kong
- - Hungary
-
- - Iceland
- - India
- - Indonesia
- - Iran
- - Iraq
- - Ireland
- - Israel
- - Italy
-
- - Jamaica
- - Japan
- - Jordan
-
- - Kazakhstan
- - Kenya
- - Kiribati
- - Korea, North
- - Korea, South
- - Kosovo
- - Kuwait
- - Kyrgyzstan
-
- - Laos
- - Latvia
- - Lebanon
- - Lesotho
- - Liberia
- - Libya
- - Liechtenstein
- - Lithuania
- - Luxembourg
-
- - Macau
- - Macedonia
- - Madagascar
- - Malawi
- - Malaysia
- - Maldives
- - Mali
- - Malta
- - Marshall Islands
- - Mauritania
- - Mauritius
- - Mexico
- - Micronesia
- - Moldova
- - Monaco
- - Mongolia
- - Montenegro
- - Morocco
- - Mozambique
-
- - Namibia
- - Nauru
- - Nepal
- - Netherlands
- - Netherlands Antilles
- - New Zealand
- - Nicaragua
- - Niger
- - Nigeria
- - North Korea
- - Norway
-
- - Oman
-
- - Pakistan
- - Palau
- - Palestinian Territories
- - Panama
- - Papua New Guinea
- - Paraguay
- - Peru
- - Philippines
- - Poland
- - Portugal
-
- - Qatar
-
- - Romania
- - Russia
- - Rwanda
-
- - Saint Kitts and Nevis
- - Saint Lucia
- - Saint Vincent and the Grenadines
- - Samoa
- - San Marino
- - Sao Tome and Principe
- - Saudi Arabia
- - Senegal
- - Serbia
- - Seychelles
- - Sierra Leone
- - Singapore
- - Slovakia
- - Slovenia
- - Solomon Islands
- - Somalia
- - South Africa
- - South Korea
- - South Sudan
- - Spain
- - Sri Lanka
- - Sudan
- - Suriname
- - Swaziland
- - Sweden
- - Switzerland
- - Syria
-
- - Taiwan
- - Tajikistan
- - Tanzania
- - Thailand
- - Timor-Leste
- - Togo
- - Tonga
- - Trinidad and Tobago
- - Tunisia
- - Turkey
- - Turkmenistan
- - Tuvalu
-
- - Uganda
- - Ukraine
- - United Arab Emirates
- - United Kingdom
- - Uruguay
- - Uzbekistan
-
- - Vanuatu
- - Venezuela
- - Vietnam
-
- - Yemen
-
- - Zambia
- - Zimbabwe
-
-
diff --git a/libraries/StickyListHeaders/sample/res/values/colors.xml b/libraries/StickyListHeaders/sample/res/values/colors.xml
deleted file mode 100644
index 601687e2e..000000000
--- a/libraries/StickyListHeaders/sample/res/values/colors.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- #ffe74c3c
- #ffc0392b
- #FFDDDDDD
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/values/strings.xml b/libraries/StickyListHeaders/sample/res/values/strings.xml
deleted file mode 100644
index 6beadbe75..000000000
--- a/libraries/StickyListHeaders/sample/res/values/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
- StickyListHeaders Sample
- Restore
- Update
- Clear
- Empty Adapter
- Drawer Open
- Drawer Close
- OPTIONS
- ACTIONS
- Restore list
- Update list
- Clear list
- Sticky header
- Fade header
- Draw behind header
- Fast scroll
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/res/values/style.xml b/libraries/StickyListHeaders/sample/res/values/style.xml
deleted file mode 100644
index b34634b58..000000000
--- a/libraries/StickyListHeaders/sample/res/values/style.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestActivity.java b/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestActivity.java
deleted file mode 100644
index dc795ff4e..000000000
--- a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestActivity.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package se.emilsjolander.stickylistheaders;
-
-import android.annotation.TargetApi;
-import android.content.res.Configuration;
-import android.os.Build;
-import android.os.Bundle;
-import android.support.v4.app.ActionBarDrawerToggle;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBarActivity;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.*;
-
-/**
- * @author Emil Sjölander
- */
-public class TestActivity extends ActionBarActivity implements
- AdapterView.OnItemClickListener, StickyListHeadersListView.OnHeaderClickListener,
- StickyListHeadersListView.OnStickyHeaderOffsetChangedListener {
-
- private TestBaseAdapter mAdapter;
- private DrawerLayout mDrawerLayout;
- private ActionBarDrawerToggle mDrawerToggle;
- private boolean fadeHeader = true;
-
- private StickyListHeadersListView stickyList;
-
- private Button restoreButton;
- private Button updateButton;
- private Button clearButton;
-
- private CheckBox stickyCheckBox;
- private CheckBox fadeCheckBox;
- private CheckBox drawBehindCheckBox;
- private CheckBox fastScrollCheckBox;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- mAdapter = new TestBaseAdapter(this);
-
- stickyList = (StickyListHeadersListView) findViewById(R.id.list);
- stickyList.setOnItemClickListener(this);
- stickyList.setOnHeaderClickListener(this);
- stickyList.setOnStickyHeaderOffsetChangedListener(this);
-// mStickyList.addHeaderView(inflater.inflate(R.layout.list_header, null));
-// mStickyList.addFooterView(inflater.inflate(R.layout.list_footer, null));
- stickyList.setEmptyView(findViewById(R.id.empty));
- stickyList.setDrawingListUnderStickyHeader(true);
- stickyList.setAreHeadersSticky(true);
- stickyList.setAdapter(mAdapter);
-
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawerToggle = new ActionBarDrawerToggle(
- this, /* host Activity */
- mDrawerLayout, /* DrawerLayout object */
- R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
- R.string.drawer_open, /* "open drawer" description */
- R.string.drawer_close /* "close drawer" description */
- );
-
- // Set the drawer toggle as the DrawerListener
- mDrawerLayout.setDrawerListener(mDrawerToggle);
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setHomeButtonEnabled(true);
-
- restoreButton = (Button) findViewById(R.id.restore_button);
- restoreButton.setOnClickListener(buttonListener);
- updateButton = (Button) findViewById(R.id.update_button);
- updateButton.setOnClickListener(buttonListener);
- clearButton = (Button) findViewById(R.id.clear_button);
- clearButton.setOnClickListener(buttonListener);
-
- stickyCheckBox = (CheckBox) findViewById(R.id.sticky_checkBox);
- stickyCheckBox.setOnCheckedChangeListener(checkBoxListener);
- fadeCheckBox = (CheckBox) findViewById(R.id.fade_checkBox);
- fadeCheckBox.setOnCheckedChangeListener(checkBoxListener);
- drawBehindCheckBox = (CheckBox) findViewById(R.id.draw_behind_checkBox);
- drawBehindCheckBox.setOnCheckedChangeListener(checkBoxListener);
- fastScrollCheckBox = (CheckBox) findViewById(R.id.fast_scroll_checkBox);
- fastScrollCheckBox.setOnCheckedChangeListener(checkBoxListener);
- }
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- // Sync the toggle state after onRestoreInstanceState has occurred.
- mDrawerToggle.syncState();
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
-
- return super.onOptionsItemSelected(item);
- }
-
- CompoundButton.OnCheckedChangeListener checkBoxListener = new CompoundButton.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- switch (buttonView.getId()) {
- case R.id.sticky_checkBox:
- stickyList.setAreHeadersSticky(isChecked);
- break;
- case R.id.fade_checkBox:
- fadeHeader = isChecked;
- break;
- case R.id.draw_behind_checkBox:
- stickyList.setDrawingListUnderStickyHeader(isChecked);
- break;
- case R.id.fast_scroll_checkBox:
- stickyList.setFastScrollEnabled(isChecked);
- stickyList.setFastScrollAlwaysVisible(isChecked);
- break;
- }
- }
- };
-
- View.OnClickListener buttonListener = new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.restore_button:
- mAdapter.restore();
- break;
- case R.id.update_button:
- mAdapter.notifyDataSetChanged();
- break;
- case R.id.clear_button:
- mAdapter.clear();
- break;
- }
- }
- };
-
- @Override
- public void onItemClick(AdapterView> parent, View view, int position,
- long id) {
- Toast.makeText(this, "Item " + position + " clicked!",
- Toast.LENGTH_SHORT).show();
- }
-
- @Override
- public void onHeaderClick(StickyListHeadersListView l, View header,
- int itemPosition, long headerId, boolean currentlySticky) {
- Toast.makeText(this, "Header " + headerId + " currentlySticky ? " + currentlySticky,
- Toast.LENGTH_SHORT).show();
- }
-
- @Override
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
- public void onStickyHeaderOffsetChanged(StickyListHeadersListView l, View header, int offset) {
- if (fadeHeader && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- header.setAlpha(1 - (offset / (float) header.getMeasuredHeight()));
- }
- }
-}
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java b/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java
deleted file mode 100644
index 777b7bd57..000000000
--- a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/TestBaseAdapter.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package se.emilsjolander.stickylistheaders;
-
-import java.util.ArrayList;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.SectionIndexer;
-import android.widget.TextView;
-
-/**
- * @author Emil Sjölander
- */
-public class TestBaseAdapter extends BaseAdapter implements
- StickyListHeadersAdapter, SectionIndexer {
-
- private final Context mContext;
- private String[] mCountries;
- private int[] mSectionIndices;
- private Character[] mSectionLetters;
- private LayoutInflater mInflater;
-
- public TestBaseAdapter(Context context) {
- mContext = context;
- mInflater = LayoutInflater.from(context);
- mCountries = context.getResources().getStringArray(R.array.countries);
- mSectionIndices = getSectionIndices();
- mSectionLetters = getSectionLetters();
- }
-
- private int[] getSectionIndices() {
- ArrayList sectionIndices = new ArrayList();
- char lastFirstChar = mCountries[0].charAt(0);
- sectionIndices.add(0);
- for (int i = 1; i < mCountries.length; i++) {
- if (mCountries[i].charAt(0) != lastFirstChar) {
- lastFirstChar = mCountries[i].charAt(0);
- sectionIndices.add(i);
- }
- }
- int[] sections = new int[sectionIndices.size()];
- for (int i = 0; i < sectionIndices.size(); i++) {
- sections[i] = sectionIndices.get(i);
- }
- return sections;
- }
-
- private Character[] getSectionLetters() {
- Character[] letters = new Character[mSectionIndices.length];
- for (int i = 0; i < mSectionIndices.length; i++) {
- letters[i] = mCountries[mSectionIndices[i]].charAt(0);
- }
- return letters;
- }
-
- @Override
- public int getCount() {
- return mCountries.length;
- }
-
- @Override
- public Object getItem(int position) {
- return mCountries[position];
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder holder;
-
- if (convertView == null) {
- holder = new ViewHolder();
- convertView = mInflater.inflate(R.layout.test_list_item_layout, parent, false);
- holder.text = (TextView) convertView.findViewById(R.id.text);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.text.setText(mCountries[position]);
-
- return convertView;
- }
-
- @Override
- public View getHeaderView(int position, View convertView, ViewGroup parent) {
- HeaderViewHolder holder;
-
- if (convertView == null) {
- holder = new HeaderViewHolder();
- convertView = mInflater.inflate(R.layout.header, parent, false);
- holder.text = (TextView) convertView.findViewById(R.id.text1);
- convertView.setTag(holder);
- } else {
- holder = (HeaderViewHolder) convertView.getTag();
- }
-
- // set header text as first char in name
- CharSequence headerChar = mCountries[position].subSequence(0, 1);
- holder.text.setText(headerChar);
-
- return convertView;
- }
-
- /**
- * Remember that these have to be static, postion=1 should always return
- * the same Id that is.
- */
- @Override
- public long getHeaderId(int position) {
- // return the first character of the country as ID because this is what
- // headers are based upon
- return mCountries[position].subSequence(0, 1).charAt(0);
- }
-
- @Override
- public int getPositionForSection(int section) {
- if (section >= mSectionIndices.length) {
- section = mSectionIndices.length - 1;
- } else if (section < 0) {
- section = 0;
- }
- return mSectionIndices[section];
- }
-
- @Override
- public int getSectionForPosition(int position) {
- for (int i = 0; i < mSectionIndices.length; i++) {
- if (position < mSectionIndices[i]) {
- return i - 1;
- }
- }
- return mSectionIndices.length - 1;
- }
-
- @Override
- public Object[] getSections() {
- return mSectionLetters;
- }
-
- public void clear() {
- mCountries = new String[0];
- mSectionIndices = new int[0];
- mSectionLetters = new Character[0];
- notifyDataSetChanged();
- }
-
- public void restore() {
- mCountries = mContext.getResources().getStringArray(R.array.countries);
- mSectionIndices = getSectionIndices();
- mSectionLetters = getSectionLetters();
- notifyDataSetChanged();
- }
-
- class HeaderViewHolder {
- TextView text;
- }
-
- class ViewHolder {
- TextView text;
- }
-
-}
diff --git a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/views/UnderlineTextView.java b/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/views/UnderlineTextView.java
deleted file mode 100644
index c202c00b8..000000000
--- a/libraries/StickyListHeaders/sample/src/se/emilsjolander/stickylistheaders/views/UnderlineTextView.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package se.emilsjolander.stickylistheaders.views;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.widget.TextView;
-
-/**
- * @author Eric Frohnhoefer
- */
-public class UnderlineTextView extends TextView {
- private final Paint mPaint = new Paint();
- private int mUnderlineHeight = 0;
-
- public UnderlineTextView(Context context) {
- this(context, null);
- }
-
- public UnderlineTextView(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public UnderlineTextView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
-
- init(context, attrs);
- }
-
- private void init(Context context, AttributeSet attrs) {
- Resources r = getResources();
- mUnderlineHeight = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, r.getDisplayMetrics());
- }
-
- @Override
- public void setPadding(int left, int top, int right, int bottom) {
- super.setPadding(left, top, right, bottom + mUnderlineHeight);
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
-
- // Draw the underline the same color as the text
- mPaint.setColor(getTextColors().getDefaultColor());
- canvas.drawRect(0, getHeight() - mUnderlineHeight, getWidth(), getHeight(), mPaint);
- }
-}
diff --git a/libraries/StickyListHeaders/settings.gradle b/libraries/StickyListHeaders/settings.gradle
deleted file mode 100644
index 2c81ac7fd..000000000
--- a/libraries/StickyListHeaders/settings.gradle
+++ /dev/null
@@ -1,2 +0,0 @@
-include 'library'
-include 'sample'
diff --git a/libraries/zxing/AndroidManifest.xml b/libraries/zxing/AndroidManifest.xml
new file mode 100644
index 000000000..ef720bdb6
--- /dev/null
+++ b/libraries/zxing/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libraries/StickyListHeaders/sample/build.gradle b/libraries/zxing/build.gradle
similarity index 52%
rename from libraries/StickyListHeaders/sample/build.gradle
rename to libraries/zxing/build.gradle
index b620008e3..21050fc98 100644
--- a/libraries/StickyListHeaders/sample/build.gradle
+++ b/libraries/zxing/build.gradle
@@ -1,13 +1,4 @@
-apply plugin: 'android'
-
-repositories {
- mavenCentral()
-}
-dependencies {
- compile project(':library')
- compile 'com.android.support:appcompat-v7:19.0.+'
- compile 'com.android.support:support-v4:19.0.0'
-}
+apply plugin: 'android-library'
android {
compileSdkVersion 19
diff --git a/libraries/StickyListHeaders/sample/project.properties b/libraries/zxing/project.properties
similarity index 93%
rename from libraries/StickyListHeaders/sample/project.properties
rename to libraries/zxing/project.properties
index a6cf15dae..91d2b0246 100644
--- a/libraries/StickyListHeaders/sample/project.properties
+++ b/libraries/zxing/project.properties
@@ -12,4 +12,4 @@
# Project target.
target=android-19
-android.library.reference.1=../library
+android.library=true
diff --git a/OpenPGP-Keychain/src/com/google/zxing/BarcodeFormat.java b/libraries/zxing/src/com/google/zxing/BarcodeFormat.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/BarcodeFormat.java
rename to libraries/zxing/src/com/google/zxing/BarcodeFormat.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/Binarizer.java b/libraries/zxing/src/com/google/zxing/Binarizer.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/Binarizer.java
rename to libraries/zxing/src/com/google/zxing/Binarizer.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/BinaryBitmap.java b/libraries/zxing/src/com/google/zxing/BinaryBitmap.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/BinaryBitmap.java
rename to libraries/zxing/src/com/google/zxing/BinaryBitmap.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/ChecksumException.java b/libraries/zxing/src/com/google/zxing/ChecksumException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/ChecksumException.java
rename to libraries/zxing/src/com/google/zxing/ChecksumException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/DecodeHintType.java b/libraries/zxing/src/com/google/zxing/DecodeHintType.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/DecodeHintType.java
rename to libraries/zxing/src/com/google/zxing/DecodeHintType.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/EncodeHintType.java b/libraries/zxing/src/com/google/zxing/EncodeHintType.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/EncodeHintType.java
rename to libraries/zxing/src/com/google/zxing/EncodeHintType.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/FormatException.java b/libraries/zxing/src/com/google/zxing/FormatException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/FormatException.java
rename to libraries/zxing/src/com/google/zxing/FormatException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/LuminanceSource.java b/libraries/zxing/src/com/google/zxing/LuminanceSource.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/LuminanceSource.java
rename to libraries/zxing/src/com/google/zxing/LuminanceSource.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/NotFoundException.java b/libraries/zxing/src/com/google/zxing/NotFoundException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/NotFoundException.java
rename to libraries/zxing/src/com/google/zxing/NotFoundException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/Reader.java b/libraries/zxing/src/com/google/zxing/Reader.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/Reader.java
rename to libraries/zxing/src/com/google/zxing/Reader.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/ReaderException.java b/libraries/zxing/src/com/google/zxing/ReaderException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/ReaderException.java
rename to libraries/zxing/src/com/google/zxing/ReaderException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/Result.java b/libraries/zxing/src/com/google/zxing/Result.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/Result.java
rename to libraries/zxing/src/com/google/zxing/Result.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/ResultMetadataType.java b/libraries/zxing/src/com/google/zxing/ResultMetadataType.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/ResultMetadataType.java
rename to libraries/zxing/src/com/google/zxing/ResultMetadataType.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/ResultPoint.java b/libraries/zxing/src/com/google/zxing/ResultPoint.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/ResultPoint.java
rename to libraries/zxing/src/com/google/zxing/ResultPoint.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/ResultPointCallback.java b/libraries/zxing/src/com/google/zxing/ResultPointCallback.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/ResultPointCallback.java
rename to libraries/zxing/src/com/google/zxing/ResultPointCallback.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/Writer.java b/libraries/zxing/src/com/google/zxing/Writer.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/Writer.java
rename to libraries/zxing/src/com/google/zxing/Writer.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/WriterException.java b/libraries/zxing/src/com/google/zxing/WriterException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/WriterException.java
rename to libraries/zxing/src/com/google/zxing/WriterException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/BitArray.java b/libraries/zxing/src/com/google/zxing/common/BitArray.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/BitArray.java
rename to libraries/zxing/src/com/google/zxing/common/BitArray.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/BitMatrix.java b/libraries/zxing/src/com/google/zxing/common/BitMatrix.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/BitMatrix.java
rename to libraries/zxing/src/com/google/zxing/common/BitMatrix.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/BitSource.java b/libraries/zxing/src/com/google/zxing/common/BitSource.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/BitSource.java
rename to libraries/zxing/src/com/google/zxing/common/BitSource.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/CharacterSetECI.java b/libraries/zxing/src/com/google/zxing/common/CharacterSetECI.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/CharacterSetECI.java
rename to libraries/zxing/src/com/google/zxing/common/CharacterSetECI.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/Collections.java b/libraries/zxing/src/com/google/zxing/common/Collections.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/Collections.java
rename to libraries/zxing/src/com/google/zxing/common/Collections.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/Comparator.java b/libraries/zxing/src/com/google/zxing/common/Comparator.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/Comparator.java
rename to libraries/zxing/src/com/google/zxing/common/Comparator.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/DecoderResult.java b/libraries/zxing/src/com/google/zxing/common/DecoderResult.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/DecoderResult.java
rename to libraries/zxing/src/com/google/zxing/common/DecoderResult.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/DefaultGridSampler.java b/libraries/zxing/src/com/google/zxing/common/DefaultGridSampler.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/DefaultGridSampler.java
rename to libraries/zxing/src/com/google/zxing/common/DefaultGridSampler.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/DetectorResult.java b/libraries/zxing/src/com/google/zxing/common/DetectorResult.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/DetectorResult.java
rename to libraries/zxing/src/com/google/zxing/common/DetectorResult.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/ECI.java b/libraries/zxing/src/com/google/zxing/common/ECI.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/ECI.java
rename to libraries/zxing/src/com/google/zxing/common/ECI.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/GlobalHistogramBinarizer.java b/libraries/zxing/src/com/google/zxing/common/GlobalHistogramBinarizer.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/GlobalHistogramBinarizer.java
rename to libraries/zxing/src/com/google/zxing/common/GlobalHistogramBinarizer.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/GridSampler.java b/libraries/zxing/src/com/google/zxing/common/GridSampler.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/GridSampler.java
rename to libraries/zxing/src/com/google/zxing/common/GridSampler.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/HybridBinarizer.java b/libraries/zxing/src/com/google/zxing/common/HybridBinarizer.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/HybridBinarizer.java
rename to libraries/zxing/src/com/google/zxing/common/HybridBinarizer.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/PerspectiveTransform.java b/libraries/zxing/src/com/google/zxing/common/PerspectiveTransform.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/PerspectiveTransform.java
rename to libraries/zxing/src/com/google/zxing/common/PerspectiveTransform.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/StringUtils.java b/libraries/zxing/src/com/google/zxing/common/StringUtils.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/StringUtils.java
rename to libraries/zxing/src/com/google/zxing/common/StringUtils.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java b/libraries/zxing/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java
rename to libraries/zxing/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/detector/WhiteRectangleDetector.java b/libraries/zxing/src/com/google/zxing/common/detector/WhiteRectangleDetector.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/detector/WhiteRectangleDetector.java
rename to libraries/zxing/src/com/google/zxing/common/detector/WhiteRectangleDetector.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/GenericGF.java b/libraries/zxing/src/com/google/zxing/common/reedsolomon/GenericGF.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/GenericGF.java
rename to libraries/zxing/src/com/google/zxing/common/reedsolomon/GenericGF.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/GenericGFPoly.java b/libraries/zxing/src/com/google/zxing/common/reedsolomon/GenericGFPoly.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/GenericGFPoly.java
rename to libraries/zxing/src/com/google/zxing/common/reedsolomon/GenericGFPoly.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java b/libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java
rename to libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java b/libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java
rename to libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java b/libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java
rename to libraries/zxing/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/multi/ByQuadrantReader.java b/libraries/zxing/src/com/google/zxing/multi/ByQuadrantReader.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/multi/ByQuadrantReader.java
rename to libraries/zxing/src/com/google/zxing/multi/ByQuadrantReader.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java b/libraries/zxing/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java
rename to libraries/zxing/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/multi/MultipleBarcodeReader.java b/libraries/zxing/src/com/google/zxing/multi/MultipleBarcodeReader.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/multi/MultipleBarcodeReader.java
rename to libraries/zxing/src/com/google/zxing/multi/MultipleBarcodeReader.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java b/libraries/zxing/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java
rename to libraries/zxing/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java b/libraries/zxing/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java
rename to libraries/zxing/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/QRCodeWriter.java b/libraries/zxing/src/com/google/zxing/qrcode/QRCodeWriter.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/QRCodeWriter.java
rename to libraries/zxing/src/com/google/zxing/qrcode/QRCodeWriter.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DataBlock.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/DataBlock.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DataBlock.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/DataBlock.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DataMask.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/DataMask.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DataMask.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/DataMask.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/FormatInformation.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/FormatInformation.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/FormatInformation.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/FormatInformation.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/Mode.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/Mode.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/Mode.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/Mode.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/Version.java b/libraries/zxing/src/com/google/zxing/qrcode/decoder/Version.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/decoder/Version.java
rename to libraries/zxing/src/com/google/zxing/qrcode/decoder/Version.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/AlignmentPattern.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/AlignmentPattern.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/AlignmentPattern.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/AlignmentPattern.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/Detector.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/Detector.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/Detector.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/Detector.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPattern.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPattern.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java
rename to libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/BlockPair.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/BlockPair.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/BlockPair.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/BlockPair.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/ByteMatrix.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/ByteMatrix.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/ByteMatrix.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/ByteMatrix.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/Encoder.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/Encoder.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/Encoder.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/Encoder.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/MaskUtil.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/MaskUtil.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/MaskUtil.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/MaskUtil.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/MatrixUtil.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/MatrixUtil.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/MatrixUtil.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/MatrixUtil.java
diff --git a/OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/QRCode.java b/libraries/zxing/src/com/google/zxing/qrcode/encoder/QRCode.java
similarity index 100%
rename from OpenPGP-Keychain/src/com/google/zxing/qrcode/encoder/QRCode.java
rename to libraries/zxing/src/com/google/zxing/qrcode/encoder/QRCode.java
diff --git a/settings.gradle b/settings.gradle
index 3cb8012d3..4dc9b38ab 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,3 +2,4 @@ include ':OpenPGP-Keychain'
include ':libraries:ActionBarSherlock'
include ':libraries:HtmlTextView'
include ':libraries:StickyListHeaders:library'
+include ':libraries:zxing'