diff --git a/compile.sh b/compile.sh index 4b51eafb51b00c25cffcb46db89ad01491b93507..284c425b2649e57ea467d915c2c9730a92f7b2db 100755 --- a/compile.sh +++ b/compile.sh @@ -249,7 +249,7 @@ else echo "Bootstraping" pushd ../../../ echo $PWD - ./configure.sh + ./configure.sh --with-opensl --without-dbus cd sflphone/daemon echo "Building" make $MAKEFLAGS diff --git a/sflphone-android/jenkins-sflphone-android.sh b/jenkins-sflphone-android.sh similarity index 86% rename from sflphone-android/jenkins-sflphone-android.sh rename to jenkins-sflphone-android.sh index 2b695f3bf8c7bc6e296df809a28af0e8f4afca80..95bfaec415237837aa4732d693d5a7373db2c9b5 100755 --- a/sflphone-android/jenkins-sflphone-android.sh +++ b/jenkins-sflphone-android.sh @@ -35,7 +35,7 @@ # # Make sure that: -# Download android_ndk_ +# Download android_ndk_ # android_sdk_ # Install java runtime engine, ant # Required dependencies @@ -47,6 +47,7 @@ export ANDROID_SDK=$HOME/android-buildtools/sdk export ANDROID_HOME=$HOME/android-buildtools/sdk export GENYMOTION_HOME=$HOME/android-buildtools/genymotion export ANDROID_NDK_ROOT=$ANDROID_NDK +export ANDROID_ABI=armeabi-v7a ANDROID_SDK_TOOLS=$ANDROID_SDK/tools @@ -68,7 +69,7 @@ ANDROID_TEST_PACKAGE=org.sflphone.tests ANDROID_TEST_RUNNNER=android.test.InstrumentationTestRunner print_help() { - echo "Init sflphone-android test server, run test suite + echo "Init sflphone-android test server, run test suite Options: -h Print this help message -i Init test server environment (should be run only once) @@ -103,7 +104,7 @@ launch_emulator() { echo "Waiting for device ..." adb wait-for-device - + # adb push launch-sflphone.sh /data/data # adb shell sh /data/data/launch-sflphone.sh } @@ -122,36 +123,10 @@ build_sflphone_android() { echo "----------------- Cleaning git tree" git checkout master git pull - # get rid of any local modifications to git submodule - git submodule update - pushd jni/sflphone - git checkout master - git pull - - echo "----------------- Daemon setup" - cd daemon/libs - ./compile_pjsip.sh -a - cd .. - ./autogen.sh - ./configure-android.sh - popd - + cd sflphone-android ./make-swig.sh - - cd jni/ - echo "----------------- Build JNI related libraries" - # ndk-build clean - $ANDROID_NDK/ndk-build -j4 - cd .. - - echo "----------------- Build Java application" - ant update project -p . - ant clean - ant debug - - # echo "Upload sflphone on the virtual device" - #adb install -r $ANDROID_SFLPHONE_BIN - # ./adb-push-sflphone.sh + cd .. + ./compile } build_sflphone_test_suite() { diff --git a/sflphone-android/Tests/Tests.iml b/sflphone-android/Tests/Tests.iml index a11a481e8234c674fbea018fa4ced1839e432d76..0e0c352e7bc30e636b5ff8b744c6a7fd29e18676 100644 --- a/sflphone-android/Tests/Tests.iml +++ b/sflphone-android/Tests/Tests.iml @@ -11,7 +11,7 @@ <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="true" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="true" /> </content> - <orderEntry type="inheritedJdk" /> + <orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="libs" level="project" /> <orderEntry type="module" module-name="sflphone-android" /> diff --git a/sflphone-android/jni/callmanager.i b/sflphone-android/jni/callmanager.i index 15e5df5455f282bc6e6055102f81060e20790340..029c9f431deb966eaf4e65c0d66c81dd4922a888 100644 --- a/sflphone-android/jni/callmanager.i +++ b/sflphone-android/jni/callmanager.i @@ -63,7 +63,7 @@ public: %} -%feature("director") CallManagerCallback; +%feature("director") Callback; bool sflph_call_place(const std::string& account_id, const std::string& call_id, const std::string& to); bool sflph_call_refuse(const std::string& call_id); diff --git a/sflphone-android/jni/configurationmanager.i b/sflphone-android/jni/configurationmanager.i index f1fbbbd29c411c0c845176265c47d423aae401c7..97e390ef1e0f200aacc205d11ce2bd3df8c304cf 100644 --- a/sflphone-android/jni/configurationmanager.i +++ b/sflphone-android/jni/configurationmanager.i @@ -117,13 +117,13 @@ bool sflph_config_check_hostname_certificate(const std::string& host, const std: class ConfigurationCallback { public: virtual ~ConfigurationCallback(); - void configOnVolumeChange(const std::string& device, int value); - void configOnAccountsChange(void); - void configOnHistoryChange(void); - void configOnStunStatusFail(const std::string& account_id); - void configOnRegistrationStateChange(const std::string& account_id, int state); - void configOnSipRegistrationStateChange(const std::string& account_id, const std::string& state, int code); - void configOnError(int alert); - std::vector<int32_t> configGetHardwareAudioFormat(void); + virtual void configOnVolumeChange(const std::string& device, int value); + virtual void configOnAccountsChange(void); + virtual void configOnHistoryChange(void); + virtual void configOnStunStatusFail(const std::string& account_id); + virtual void configOnRegistrationStateChange(const std::string& account_id, int state); + virtual void configOnSipRegistrationStateChange(const std::string& account_id, const std::string& state, int code); + virtual void configOnError(int alert); + virtual std::vector<int32_t> configGetHardwareAudioFormat(void); }; diff --git a/sflphone-android/jni/managerimpl.i b/sflphone-android/jni/managerimpl.i index 51ce447f24dc8a1c2d52a1e25ca097ab4bcf76ee..bcce621850089120b81ab6cbab46ede87ddcd981 100644 --- a/sflphone-android/jni/managerimpl.i +++ b/sflphone-android/jni/managerimpl.i @@ -33,14 +33,6 @@ #include "sflphone.h" %} -/** - * Initializes libsflphone. - * - * @param ev_handlers Event handlers - * @param flags Flags to customize this initialization - * @returns 0 if successful or a negative error code - */ -int sflph_init(struct sflph_ev_handlers* ev_handlers, int flags); /** * Finalizes libsflphone, freeing any resource allocated by the library. diff --git a/sflphone-android/sflphone-android.iml b/sflphone-android/sflphone-android.iml index e0ae82e4d227736780a0acc9870beffb19856ce8..ec0b651a6eb3ae449eee8a3a11061d10c5518aa2 100644 --- a/sflphone-android/sflphone-android.iml +++ b/sflphone-android/sflphone-android.iml @@ -11,10 +11,9 @@ <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> </content> - <orderEntry type="inheritedJdk" /> + <orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="libs" level="project" /> - <orderEntry type="module" module-name="sflphone-android" /> </component> </module> diff --git a/sflphone-android/src/org/sflphone/service/CallManagerCallBack.java b/sflphone-android/src/org/sflphone/service/CallManagerCallBack.java index f3c06eb04a20610c5b8f4b6bc6817a782d34d954..c8b8502b9d944334e3c5d3d1d286712c2df1bd5b 100644 --- a/sflphone-android/src/org/sflphone/service/CallManagerCallBack.java +++ b/sflphone-android/src/org/sflphone/service/CallManagerCallBack.java @@ -34,6 +34,7 @@ public class CallManagerCallBack extends Callback { public CallManagerCallBack(SipService context) { + super(); mService = context; } diff --git a/sflphone-android/src/org/sflphone/service/ConfigurationManagerCallback.java b/sflphone-android/src/org/sflphone/service/ConfigurationManagerCallback.java index 9a3eabc562b1d9fb64f92b9d159ea1223dcac271..3017ffe2f3b160dedaddfb1351b57166f37e11b8 100644 --- a/sflphone-android/src/org/sflphone/service/ConfigurationManagerCallback.java +++ b/sflphone-android/src/org/sflphone/service/ConfigurationManagerCallback.java @@ -34,6 +34,7 @@ public class ConfigurationManagerCallback extends ConfigurationCallback { static public final String ACCOUNT_STATE_CHANGED = "account-state-changed"; public ConfigurationManagerCallback(SipService context) { + super(); mService = context; } @@ -89,14 +90,13 @@ public class ConfigurationManagerCallback extends ConfigurationCallback { strState = "NUMBER_OF_STATES"; break; } - sendAccountStateChangedMessage(accoundID, strState, 0); } @Override public void configOnSipRegistrationStateChange(String account_id, String state, int code) { - Log.d(TAG, "configOnSipRegistrationStateChange : (" + account_id); + } @Override @@ -105,7 +105,6 @@ public class ConfigurationManagerCallback extends ConfigurationCallback { } private void sendAccountStateChangedMessage(String accoundID, String state, int code) { - Log.i(TAG, "sendAccountStateChangedMessage"); Intent intent = new Intent(ACCOUNT_STATE_CHANGED); intent.putExtra("Account", accoundID); intent.putExtra("state", state); diff --git a/sflphone-android/src/org/sflphone/service/SipService.java b/sflphone-android/src/org/sflphone/service/SipService.java index 831b963c3ac8780b617091f47a557847eec77e8e..60b43eeea86e032fb8a1319742e40c930870361a 100644 --- a/sflphone-android/src/org/sflphone/service/SipService.java +++ b/sflphone-android/src/org/sflphone/service/SipService.java @@ -50,8 +50,6 @@ public class SipService extends Service { private SipServiceExecutor mExecutor; private static HandlerThread executorThread; - - private Handler handler = new Handler(); private static int POLLING_TIMEOUT = 500; private Runnable pollEvents = new Runnable() { @@ -61,8 +59,6 @@ public class SipService extends Service { handler.postDelayed(this, POLLING_TIMEOUT); } }; - private CallManagerCallBack callManagerCallBack; - private ConfigurationManagerCallback configurationManagerCallback; private boolean isPjSipStackStarted = false; protected SipNotifications mNotificationManager; @@ -70,8 +66,8 @@ public class SipService extends Service { protected MediaManager mMediaManager; private HashMap<String, Conference> mConferences = new HashMap<String, Conference>(); - private ConfigurationCallback conf; - private CallManagerCallBack call; + private ConfigurationManagerCallback configurationCallback; + private CallManagerCallBack callManagerCallBack; public HashMap<String, Conference> getConferences() { return mConferences; @@ -257,9 +253,9 @@ public class SipService extends Service { isPjSipStackStarted = false; } - conf = new ConfigurationCallback(); - call = new CallManagerCallBack(this); - SFLPhoneservice.init(conf, call); + configurationCallback = new ConfigurationManagerCallback(this); + callManagerCallBack = new CallManagerCallBack(this); + SFLPhoneservice.init(configurationCallback, callManagerCallBack); handler.postDelayed(pollEvents, POLLING_TIMEOUT); Log.i(TAG, "PjSIPStack started"); }