Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 19 additions & 31 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,40 +1,28 @@
language: java
jdk: oraclejdk7
env: ANDROID_SDK=android-16 ANDROID_ABI=armeabi-v7a
language: android
android:
components:
# The SDK version used to compile your project
- $ANDROID_SDK

before_install:
# Install ia32-libs (necessary for Android SDK to run on 64-bit linux)
# - sudo apt-get clean && sudo apt-get update
- sudo apt-get update -qq
- sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch
# Additional components
- extra-google-m2repository
- extra-android-m2repository
- extra-android-support

# Install Android SDK
- wget http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz
- tar -zxf android-sdk_r22.6.2-linux.tgz
- ls
- export ANDROID_HOME=`pwd`/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
# Specify at least one system image,
# if you need to run emulator(s) during your tests
- sys-img-$ANDROID_ABI-$ANDROID_SDK

# Install build-tools
- wget https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip
- unzip build-tools_r19.0.3-linux.zip -d $ANDROID_HOME
- mkdir -p $ANDROID_HOME/build-tools/
- mv $ANDROID_HOME/android-4.4.2 $ANDROID_HOME/build-tools/19.0.1
licenses:
- 'android-sdk-license-.+'

# Install required Android components
- android list sdk --extended
# Do you accept the license 'android-sdk-license-bcbbd656' [y/n]:
- echo -ne "y\n" | android update sdk --filter system-image,platform-tools,extra-android-support,$ANDROID_SDK --no-ui --force

# Create and start emulator
before_script:
- echo no | android create avd --force -n test -t $ANDROID_SDK --abi $ANDROID_ABI
- android list avds
- emulator -avd test -no-skin -no-audio -no-window &
- android-wait-for-emulator
- adb shell input keyevent 82 &
- mvn --version

before_script:
# Make sure the emulator has started before running tests
- chmod +x ./wait_for_emulator
- ./wait_for_emulator

script:
- mvn clean install -e
script: mvn clean install
25 changes: 25 additions & 0 deletions android-wait-for-emulator
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

# Originally written by Ralf Kistner <[email protected]>, but placed in the public domain

set +e

bootanim=""
failcounter=0
timeout_in_sec=360

until [[ "$bootanim" =~ "stopped" ]]; do
bootanim=`adb -e shell getprop init.svc.bootanim 2>&1 &`
if [[ "$bootanim" =~ "device not found" || "$bootanim" =~ "device offline"
|| "$bootanim" =~ "running" ]]; then
let "failcounter += 1"
echo "Waiting for emulator to start"
if [[ $failcounter -gt timeout_in_sec ]]; then
echo "Timeout ($timeout_in_sec seconds) reached; failed to start emulator"
exit 1
fi
fi
sleep 1
done

echo "Emulator is ready"
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.2</version>
<version>3.9.0.rc.3</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
Expand Down
7 changes: 1 addition & 6 deletions src/com/activeandroid/query/From.java
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,7 @@ public From offset(String offset) {
}

void addArguments(Object[] args) {
for(Object arg : args) {
if (arg.getClass() == boolean.class || arg.getClass() == Boolean.class) {
arg = (arg.equals(true) ? 1 : 0);
}
mArguments.add(arg);
}
SQLiteUtils.addArguments(mArguments, args);
}

private void addFrom(final StringBuilder sql) {
Expand Down
5 changes: 2 additions & 3 deletions src/com/activeandroid/query/Set.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.activeandroid.util.SQLiteUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public final class Set implements Sqlable {
Expand All @@ -46,7 +45,7 @@ public Set(Update queryBase, String set, Object... args) {
mSetArguments = new ArrayList<Object>();
mWhereArguments = new ArrayList<Object>();

mSetArguments.addAll(Arrays.asList(args));
SQLiteUtils.addArguments(mSetArguments, args);
}

public Set where(String where) {
Expand All @@ -59,7 +58,7 @@ public Set where(String where) {
public Set where(String where, Object... args) {
mWhere = where;
mWhereArguments.clear();
mWhereArguments.addAll(Arrays.asList(args));
SQLiteUtils.addArguments(mWhereArguments, args);

return this;
}
Expand Down
14 changes: 11 additions & 3 deletions src/com/activeandroid/util/SQLiteUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,11 @@
import com.activeandroid.annotation.Column.ConflictAction;
import com.activeandroid.serializer.TypeSerializer;

import java.lang.Long;
import java.lang.String;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -403,4 +402,13 @@ public static List<String> lexSqlScript(String sqlScript) {

return sl;
}

public static void addArguments(Collection<Object> argumentList, Object[] newArguments) {
for (Object arg : newArguments) {
if (arg.getClass() == boolean.class || arg.getClass() == Boolean.class) {
arg = (arg.equals(true) ? 1 : 0);
}
argumentList.add(arg);
}
}
}
4 changes: 2 additions & 2 deletions tests/src/com/activeandroid/test/query/SqlableTestCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@

public abstract class SqlableTestCase extends ActiveAndroidTestCase {
public static void assertSqlEquals(String expected, Sqlable actual) {
assertEquals(expected, actual.toSql());
assertEquals(expected.trim(), actual.toSql().trim());
}

public static void assertSqlEquals(Sqlable expected, Sqlable actual) {
assertEquals(expected.toSql(), actual.toSql());
assertSqlEquals(expected.toSql(), actual);
}
}
12 changes: 12 additions & 0 deletions tests/src/com/activeandroid/test/query/UpdateTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,18 @@ public void testUpdateWhereWithArguments() {
assertSqlEquals(UPDATE_PREFIX + "SET Id = 5 WHERE Id IN (?, ?, ?) ",
set);
}

public void performTestUpdateBoolean(boolean condition) {
Set set = update().set("booleanField = ?", condition);
assertArrayEquals(set.getArguments(), condition ? "1" : "0");
assertSqlEquals(UPDATE_PREFIX + "SET booleanField = ?",
set);
}

public void testUpdateBoolean() {
performTestUpdateBoolean(true);
performTestUpdateBoolean(false);
}

private Update update() {
return new Update(MockModel.class);
Expand Down
18 changes: 0 additions & 18 deletions wait_for_emulator

This file was deleted.