diff --git a/README b/README index 6cbe2c4e7aa92b49d8090d7c61961656ae7d5ded..da21fae2e4252ee02debb5dfbb6f6fb829d75abd 100644 --- a/README +++ b/README @@ -25,7 +25,7 @@ Check that following files are executable: Compile pjsip-android $ pushd jni/pjproject-android/ -$ ./configure-android --disable-sound --disable-oss --disable-video --enable-ext-sound --disable-speex-aec --disable-g711-codec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-sdl --disable-ffmpeg --disable-v4l2 +$ ./configure-android $ make dep && make $ popd diff --git a/jenkins-sflphone-android.sh b/jenkins-sflphone-android.sh index a654ea047d6a40f670e540ded95b1ff532e12297..f4bbaf5c17d708da9048df8d4da5d04a68a3eea2 100755 --- a/jenkins-sflphone-android.sh +++ b/jenkins-sflphone-android.sh @@ -126,7 +126,7 @@ build_sflphone_android() { # android update project --target $VIRTUAL_DEVICE_ID --path $ANDROID_PROJECT_PATH echo "----------------- Compile pjandroid stack" pushd jni/pjproject-android/ - ./configure-android --disable-sound --disable-oss --disable-video --enable-ext-sound --disable-speex-aec --disable-g711-codec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-sdl --disable-ffmpeg --disable-v4l + ./configure-android make dep && make popd diff --git a/jni/Android.mk b/jni/Android.mk index 38cf96db058815eab249a27495ae4c66b6a17781..12cf04db9a6963146a74db8259ad8d3ca9064351 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -24,6 +24,7 @@ MY_SPEEX=speex MY_OPENSSL=openssl MY_LIBYAML=libyaml MY_LIBEXPAT=libexpat +MY_OPUS=libopus MY_LIBSNDFILE=libsndfile-1.0.25 MY_JNI_WRAP := $(LOCAL_SRC_PATH)/client/android/callmanager_wrap.cpp @@ -90,13 +91,7 @@ LOCAL_SRC_FILES := \ $(LOCAL_SRC_PATH)/sip/sip_utils.cpp \ $(LOCAL_SRC_PATH)/sip/sippresence.cpp \ $(LOCAL_SRC_PATH)/sip/pres_sub_client.cpp \ - $(LOCAL_SRC_PATH)/sip/pres_sub_server.cpp \ - $(LOCAL_SRC_PATH)/scoped_lock.cpp - - - - - + $(LOCAL_SRC_PATH)/sip/pres_sub_server.cpp # FIXME LOCAL_C_INCLUDES += $(LOCAL_SRC_PATH)/.. \ @@ -144,7 +139,7 @@ LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ #-L$(APP_PROJECT_PATH)/obj/local/armeabi \ -LOCAL_LDLIBS += -L$(APP_PROJECT_PATH)/obj/local/armeabi \ +LOCAL_LDLIBS += -L$(APP_PROJECT_PATH)/obj/local/armeabi-v7a \ -L$(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjsip/lib \ -L$(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib/lib \ -L$(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib-util/lib \ @@ -254,7 +249,7 @@ LOCAL_SRC_FILES := $(MY_LIBSNDFILE)/src/mat5.c \ LOCAL_C_INCLUDES += $(APP_PROJECT_PATH)/jni/$(MY_LIBSNDFILE)/src \ $(APP_PROJECT_PATH)/jni/sflphone/daemon/src -LOCAL_LDLIBS += -L$(APP_PROJECT_PATH)/obj/local/armeabi \ +LOCAL_LDLIBS += -L$(APP_PROJECT_PATH)/obj/local/armeabi-v7a \ @@ -262,47 +257,6 @@ LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) -########### audiortp ############## - - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := audio_rtp_session.cpp \ - audio_symmetric_rtp_session.cpp \ - audio_rtp_record_handler.cpp \ - audio_rtp_factory.cpp \ - audio_srtp_session.cpp - -# FIXME -LOCAL_C_INCLUDES += $(LOCAL_PATH) \ - $(LOCAL_AUDIO_PATH)/audiortp \ - $(APP_PROJECT_PATH)/jni/$(MY_SPEEX)/include \ - $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ - $(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_LIBSAMPLE)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_OPENSSL)/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjsip/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib-util/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjmedia/include - -LOCAL_MODULE := librtp - -LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ - -DCCPP_PREFIX \ - -DPREFIX=\"$(MY_PREFIX)\" \ - -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ - -DHAVE_CONFIG_H \ - -std=c++11 -frtti -fpermissive \ - -DAPP_NAME=\"audiortp\" - -LOCAL_SHARED_LIBRARIES += libccrtp1 libccgnu2 - -include $(BUILD_STATIC_LIBRARY) - - -MY_COMMONCPP=commoncpp2-1.8.1-android -MY_CCRTP=ccrtp-1.8.0-android ############# ulaw ############### @@ -321,6 +275,8 @@ LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \ LOCAL_MODULE := libcodec_ulaw +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DPREFIX=\"$(MY_PREFIX)\" \ @@ -347,6 +303,9 @@ LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \ $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ LOCAL_MODULE := libcodec_alaw + +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DPREFIX=\"$(MY_PREFIX)\" \ @@ -375,6 +334,39 @@ LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \ $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc LOCAL_MODULE := libcodec_g722 + +LOCAL_LDLIBS := -llog + +LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ + -DCCPP_PREFIX \ + -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ + -DPREFIX=\"$(MY_PREFIX)\" \ + -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ + -DHAVE_COFIG_H \ + -std=c++11 -frtti -fpermissive -fexceptions \ + -DAPP_NAME=\"codecfactory\" + +include $(BUILD_SHARED_LIBRARY) + +############# libgsm ############### + +include $(CLEAR_VARS) + + + +LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/gsmcodec.cpp \ + $(LOCAL_CODECS_PATH)/audiocodec.cpp + +LOCAL_C_INCLUDES += $(LOCAL_CODECS_PATH)/.. \ + $(LOCAL_CODECS_PATH)/../.. \ + $(LOCAL_CODECS_PATH)/../../.. \ + $(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \ + $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc + +LOCAL_MODULE := libcodec_gsm + +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ @@ -386,22 +378,32 @@ LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ include $(BUILD_SHARED_LIBRARY) +############# libopus ############### +include $(CLEAR_VARS) -############# opus ############### +LOCAL_MODULE := libopus +LOCAL_SRC_FILES := /usr/lib64/libopus.so include $(CLEAR_VARS) -LOCAL_SRC_FILES := opus.cpp \ - audiocodec.cpp +LOCAL_SRC_FILES := $(LOCAL_CODECS_PATH)/opus.cpp \ + $(LOCAL_CODECS_PATH)/audiocodec.cpp LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/../../.. \ + /usr/local/include \ + $(APP_PROJECT_PATH)/jni/sflphone/daemon/src \ $(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc + $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ LOCAL_MODULE := libcodec_opus + +LOCAL_LDLIBS := -llog \ + -lopus + + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ @@ -411,6 +413,8 @@ LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -std=c++11 -frtti -fpermissive -fexceptions \ -DAPP_NAME=\"codecfactory\" +LOCAL_STATIC_LIBRARIES := libopus + include $(BUILD_SHARED_LIBRARY) ############# speex ################# @@ -493,6 +497,9 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \ $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc LOCAL_MODULE := libcodec_speex_nb + +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ @@ -520,6 +527,9 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \ $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc LOCAL_MODULE := libcodec_speex_ub + +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ @@ -545,6 +555,9 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \ $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc LOCAL_MODULE := libcodec_speex_wb + +LOCAL_LDLIBS := -llog + LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ -DCCPP_PREFIX \ -DCODECS_DIR=\"/usr/lib/sflphone/audio/codec\" \ @@ -593,195 +606,6 @@ include $(BUILD_STATIC_LIBRARY) -############# sound ################# - -include $(CLEAR_VARS) - -# FIXME -MY_COMMONCPP=commoncpp2-1.8.1-android -MY_CCRTP=ccrtp-1.8.0-android -MY_LIBSAMPLE=libsamplerate-0.1.8 - -LOCAL_SOUND_PATH = sflphone/daemon/src/audio/sound - -LOCAL_SRC_FILES := $(LOCAL_SOUND_PATH)/audiofile.cpp \ - $(LOCAL_SOUND_PATH)/tone.cpp \ - $(LOCAL_SOUND_PATH)/tonelist.cpp \ - $(LOCAL_SOUND_PATH)/dtmf.cpp \ - $(LOCAL_SOUND_PATH)/dtmfgenerator.cpp - -# FIXME -LOCAL_C_INCLUDES += $(LOCAL_SOUND_PATH)/.. \ - $(LOCAL_SOUND_PATH)/../.. \ - $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ - $(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_LIBSAMPLE)/src \ - -LOCAL_MODULE := libsound - -LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ - -DCCPP_PREFIX \ - -DPREFIX=\"$(MY_PREFIX)\" \ - -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ - -DHAVE_CONFIG_H \ - -std=c++11 -frtti -fpermissive -fexceptions \ - -DAPP_NAME=\"sound\" - -include $(BUILD_STATIC_LIBRARY) - - -################ history #################### - -MY_COMMONCPP=commoncpp2-1.8.1-android -MY_LIBSAMPLE=libsamplerate-0.1.8 - -include $(CLEAR_VARS) - -LOCAL_HISTORY_PATH = sflphone/daemon/src/history - -LOCAL_SRC_FILES := $(LOCAL_HISTORY_PATH)/historyitem.cpp \ - $(LOCAL_HISTORY_PATH)/history.cpp \ - $(LOCAL_HISTORY_PATH)/historynamecache.cpp - -LOCAL_C_INCLUDES += $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ - $(APP_PROJECT_PATH)/jni/$(MY_LIBSAMPLE)/src - -LOCAL_MODULE := libhistory - -LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ - -DCCPP_PREFIX \ - -DPREFIX=\"$(MY_PREFIX)\" \ - -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ - -DHAVE_CONFIG_H \ - -std=c++11 -frtti -fpermissive -fexceptions \ - -DAPP_NAME=\"history\" - - -include $(BUILD_STATIC_LIBRARY) - - -################ hooks #################### - - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := sflphone/daemon/src/hooks/urlhook.cpp - -LOCAL_MODULE := libhooks -LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ - -DCCPP_PREFIX \ - -DPREFIX=\"$(MY_PREFIX)\" \ - -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ - -DHAVE_CONFIG_H \ - -std=c++11 -frtti -fpermissive -fexceptions \ - -DAPP_NAME=\"hooks\" - - -include $(BUILD_STATIC_LIBRARY) - - -################ im #################### - -MY_PJPROJECT="pjproject-android/android" -MY_EXPAT="libexpat" - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := sflphone/daemon/src/im/instant_messaging.cpp - -# FIXME -LOCAL_C_INCLUDES += $(LOCAL_PATH)/include-all - - -LOCAL_MODULE := libim - -include $(BUILD_STATIC_LIBRARY) - -################ sip #################### - -include $(CLEAR_VARS) - -# FIXME -MY_PREFIX=/sdcard -MY_DATADIR= -MY_PJPROJECT="pjproject-android" -MY_PJDIR= -MY_COMMONCPP=commoncpp2-1.8.1-android -MY_CCRTP=ccrtp-1.8.0-android -MY_LIBSAMPLE=libsamplerate-0.1.8 -MY_YAML=libyaml - -# FIXME -ifneq ($(BUILD_SDES),) -libsiplink_la_SOURCES += sdes_negotiator.cpp \ - pattern.cpp - -libsiplink_la_CXXFLAGS = \ - @PCRE_LIBS@ -endif - -include $(CLEAR_VARS) - -LOCAL_SIP_PATH = sflphone/daemon/src/sip - -LOCAL_SRC_FILES := \ - $(LOCAL_SIP_PATH)/sdp.cpp \ - $(LOCAL_SIP_PATH)/sipaccount.cpp \ - $(LOCAL_SIP_PATH)/sipcall.cpp \ - $(LOCAL_SIP_PATH)/sipvoiplink.cpp \ - $(LOCAL_SIP_PATH)/siptransport.cpp \ - $(LOCAL_SIP_PATH)/sip_utils.cpp - -# FIXME -LOCAL_C_INCLUDES += $(LOCAL_PATH) \ $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/third_party/build/speex \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/third_party/speex/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjmedia/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjsip/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjlib-util/include \ - $(APP_PROJECT_PATH)/jni/$(MY_PJPROJECT)/pjnath/include \ - $(APP_PROJECT_PATH)/jni/$(MY_COMMONCPP)/inc \ - $(APP_PROJECT_PATH)/jni/$(MY_LIBSAMPLE)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_CCRTP)/src \ - $(APP_PROJECT_PATH)/jni/$(MY_YAML)/inc \ - $(LOCAL_PATH)/../../libs/iax2 - -#LOCAL_CPP_EXTENSION := .cpp .h - -LOCAL_MODULE := libsiplink -LOCAL_CPPFLAGS += $(NETWORKMANAGER) \ - -DPREFIX=\"$(MY_PREFIX)\" \ - -DPROGSHAREDIR=\"${MY_DATADIR}/sflphone\" \ - -DHAVE_CONFIG_H \ - -std=c++11 -frtti -fpermissive \ - -DAPP_NAME=\"sip\" - -include $(BUILD_STATIC_LIBRARY) - - -################ sdes #################### - - -# FIXME -MY_PREFIX=/sdcard -MY_DATADIR= -MY_PJPROJECT="pjproject-android" -MY_PJDIR= -MY_COMMONCPP=commoncpp2-1.8.1-android -MY_CCRTP=ccrtp-1.8.0-android -MY_LIBSAMPLE=libsamplerate-0.1.8 -MY_YAML=libyaml - -# FIXME -ifneq ($(BUILD_SDES),) -libsiplink_la_SOURCES += sdes_negotiator.cpp \ - pattern.cpp - -libsiplink_la_CXXFLAGS = \ - @PCRE_LIBS@ -endif - - ################# common cpp #################### include $(CLEAR_VARS) @@ -951,7 +775,7 @@ LOCAL_MODULE := libccrtp1 LOCAL_SHARED_LIBRARIES += libccgnu2 \ libssl_shared LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib \ - -L$(APP_PROJECT_PATH)/obj/local/armeabi \ + -L$(APP_PROJECT_PATH)/obj/local/armeabi-v7a \ -lccgnu2 \ -lssl \ -lcrypto \ diff --git a/jni/Application.mk b/jni/Application.mk index 8d2289957fa98e9a3096e7bb7c11d37a081e67be..e65c9c1f15ea47741d17a7fc2055c25d55a788bb 100644 --- a/jni/Application.mk +++ b/jni/Application.mk @@ -3,6 +3,7 @@ NDK_TOOLCHAIN_VERSION := 4.8 APP_PLATFORM := android-14 APP_OPTIM := debug APP_STL := gnustl_shared +APP_ABI := armeabi-v7a APP_MODULES := libccgnu2 @@ -12,10 +13,7 @@ APP_MODULES += libexpat_static APP_MODULES += libexpat_shared APP_MODULES += libccrtp1 APP_MODULES += libsndfile -#APP_MODULES += libcutils-static -#APP_MODULES += libcutils-shared -# APP_MODULES += libsiplink # APP_MODULES += libconfig # APP_MODULES += libcrypto @@ -24,21 +22,13 @@ APP_MODULES += libsndfile APP_MODULES += libspeex APP_MODULES += libspeexresampler -# APP_MODULES += libopensl -# APP_MODULES += libsound APP_MODULES += libcodec_ulaw APP_MODULES += libcodec_alaw APP_MODULES += libcodec_g722 -#APP_MODULES += libcodec_opus +#APP_MODULES += libcodec_gsm -> problem of system header +#APP_MODULES += libcodec_opus -> problem of system header #APP_MODULES += libcodec_speex_nb #APP_MODULES += libcodec_speex_ub #APP_MODULES += libcodec_speex_wb -#APP_MODULES += libcodecfactory -# APP_MODULES += librtp -# APP_MODULES += libaudio -# APP_MODULES += libhistory - -# APP_MODULES += libhooks APP_MODULES += libsflphone -# APP_MODULES += sflphoned diff --git a/jni/pjproject-android/configure-android b/jni/pjproject-android/configure-android index d749b681c49fa9e3edf80d03637d7bd6175932e0..09553c7c64f3a40b72087f8b8babd3f7c081034c 100755 --- a/jni/pjproject-android/configure-android +++ b/jni/pjproject-android/configure-android @@ -72,7 +72,11 @@ case $HOST_OS in CYGWIN*|*_NT-*) BUILD_MACHINE="windows";; esac -ANDROID_TC="${ANDROID_NDK_ROOT}/toolchains/${TC_DIR}-4.4.3/prebuilt/${BUILD_MACHINE}" +case $(uname -p) in + x86_64) BUILD_MACHINE="linux-x86_64" +esac + +ANDROID_TC="${ANDROID_NDK_ROOT}/toolchains/${TC_DIR}-4.8/prebuilt/${BUILD_MACHINE}" if test ! -d ${ANDROID_TC}; then echo "$F error: unable to find directory ${ANDROID_TC} in Android NDK" exit 1 diff --git a/jni/sflphone b/jni/sflphone index f238ce9cecfd0a74eca6f6b2bf4aa4167ae4e345..fafcd55edb27ef5a69b89737728faf570d89e28e 160000 --- a/jni/sflphone +++ b/jni/sflphone @@ -1 +1 @@ -Subproject commit f238ce9cecfd0a74eca6f6b2bf4aa4167ae4e345 +Subproject commit fafcd55edb27ef5a69b89737728faf570d89e28e diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetail.java b/src/com/savoirfairelinux/sflphone/account/AccountDetail.java index 43b4544a920dfd3e9ee0de222879ad034e274a8c..957079fdb926d27a527121e191247aa6b7f0aebc 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetail.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetail.java @@ -24,9 +24,6 @@ package com.savoirfairelinux.sflphone.account; import java.util.ArrayList; import java.util.HashMap; -import android.provider.MediaStore; -import android.provider.MediaStore.Audio.Media; - public interface AccountDetail { public static class PreferenceEntry { @@ -76,5 +73,4 @@ public interface AccountDetail { public void setDetailString(String key, String newValue); - public boolean getDetailBoolean(); } diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java index 1829ff2982ba1d3e21ffaa26d578e53cc87faea3..ca6376742b2645a25f3e5800274614b858c8910f 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java @@ -21,16 +21,12 @@ */ package com.savoirfairelinux.sflphone.account; -import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.account.AccountDetail; -import com.savoirfairelinux.sflphone.account.AccountDetail.PreferenceEntry; +import java.util.ArrayList; +import java.util.HashMap; import android.util.Log; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Set; -import java.util.HashMap; +import com.savoirfairelinux.sflphone.R; public class AccountDetailAdvanced implements AccountDetail { @@ -56,11 +52,11 @@ public class AccountDetailAdvanced implements AccountDetail { public static final String CONFIG_PUBLISHED_ADDRESS = "Account.publishedAddress"; // FIXME: Why isn't this 5060? - public static final String CONFIG_DEFAULT_LOCAL_PORT = "5070"; - public static final String CONFIG_DEFAULT_PUBLISHED_PORT = "5070"; + public static final String CONFIG_DEFAULT_LOCAL_PORT = "5060"; + public static final String CONFIG_DEFAULT_PUBLISHED_PORT = "5060"; public static final String CONFIG_DEFAULT_PUBLISHED_SAMEAS_LOCAL = "true"; // FIXME: Why isn't this "default"? - public static final String CONFIG_DEFAULT_INTERFACE = "wlan0"; + public static final String CONFIG_DEFAULT_INTERFACE = "default"; public static final String CONFIG_DEFAULT_REGISTRATION_EXPIRE = "60"; public static final String CONFIG_DISPLAY_NAME = "Account.displayName"; @@ -180,9 +176,4 @@ public class AccountDetailAdvanced implements AccountDetail { } - public boolean getDetailBoolean() - { - return true; - } - } diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java index 4f9137d426ec84174ceebd5bbde40bac12d5ae1c..b2766edb308823b2ad172b78cb8506ad6e1aa38e 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java @@ -21,16 +21,12 @@ */ package com.savoirfairelinux.sflphone.account; -import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.account.AccountDetail; -import com.savoirfairelinux.sflphone.service.ServiceConstants; +import java.util.ArrayList; +import java.util.HashMap; import android.util.Log; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Set; -import java.util.HashMap; +import com.savoirfairelinux.sflphone.R; public class AccountDetailBasic implements AccountDetail { diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java index a193f8511a29167575d5d316f0215627f38ea98a..7b82d7248ab081fca1d2b3a27a3d73c7fbb5ce25 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java @@ -21,17 +21,12 @@ */ package com.savoirfairelinux.sflphone.account; -import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.account.AccountDetail; -import com.savoirfairelinux.sflphone.account.AccountDetail.PreferenceEntry; -import com.savoirfairelinux.sflphone.service.ServiceConstants; +import java.util.ArrayList; +import java.util.HashMap; import android.util.Log; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Set; -import java.util.HashMap; +import com.savoirfairelinux.sflphone.R; public class AccountDetailSrtp implements AccountDetail{ diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java index 0794749530e62063fb3d0a47e8c71662f83357c0..8d535f702d9c6601789d7ff81b56fb08a0dc431f 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java @@ -27,7 +27,6 @@ import java.util.HashMap; import android.util.Log; import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.service.ServiceConstants; public class AccountDetailTls implements AccountDetail { diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java index fb6c5cc406d6a545f75f9d805abbf1f537b332ac..da015699b88c311737f7bde67a9e23555701cc09 100644 --- a/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java +++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java @@ -25,11 +25,10 @@ import java.util.ArrayList; import java.util.HashMap; import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.service.ServiceConstants; import com.savoirfairelinux.sflphone.service.StringMap; public class AccountDetailsHandler { - private static final String TAG = "AccountDetailsHandler"; +// private static final String TAG = "AccountDetailsHandler"; public static class PreferenceEntry { public String mKey; diff --git a/src/com/savoirfairelinux/sflphone/account/CallDetailsHandler.java b/src/com/savoirfairelinux/sflphone/account/CallDetailsHandler.java index ddce5bea03888d6324ed71f1d723669c8f676df1..76ff36b63d968dc211a66d9619657fb6bf42fa52 100644 --- a/src/com/savoirfairelinux/sflphone/account/CallDetailsHandler.java +++ b/src/com/savoirfairelinux/sflphone/account/CallDetailsHandler.java @@ -69,6 +69,8 @@ public class CallDetailsHandler { if (smap.has_key(key)) { return smap.get(key); } else { + if(key.contentEquals(ServiceConstants.call.TIMESTAMP_START)) + return ""+System.currentTimeMillis() / 1000; return ""; } } diff --git a/src/com/savoirfairelinux/sflphone/account/HistoryHandler.java b/src/com/savoirfairelinux/sflphone/account/HistoryHandler.java index 130ef317dac69534ad110e8d461147b5e68ee349..993b0b5df09b4b3220d72df8b59785d58cdcb359 100644 --- a/src/com/savoirfairelinux/sflphone/account/HistoryHandler.java +++ b/src/com/savoirfairelinux/sflphone/account/HistoryHandler.java @@ -3,14 +3,12 @@ package com.savoirfairelinux.sflphone.account; import java.util.ArrayList; import java.util.HashMap; -import android.util.Log; - import com.savoirfairelinux.sflphone.service.ServiceConstants; -import com.savoirfairelinux.sflphone.service.VectMap; import com.savoirfairelinux.sflphone.service.StringMap; +import com.savoirfairelinux.sflphone.service.VectMap; public class HistoryHandler { - private static final String TAG = HistoryHandler.class.getSimpleName(); +// private static final String TAG = HistoryHandler.class.getSimpleName(); private static String tryToGet(StringMap smap, String key) { if (smap.has_key(key)) { diff --git a/src/com/savoirfairelinux/sflphone/adapters/AccountSelectionAdapter.java b/src/com/savoirfairelinux/sflphone/adapters/AccountSelectionAdapter.java index c794cdb89a6124982f898b8d49f92acb8f232602..ae5d8a58622058874804b670ab5fcba0d269b054 100644 --- a/src/com/savoirfairelinux/sflphone/adapters/AccountSelectionAdapter.java +++ b/src/com/savoirfairelinux/sflphone/adapters/AccountSelectionAdapter.java @@ -14,7 +14,6 @@ import android.widget.TextView; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.model.Account; -import com.savoirfairelinux.sflphone.service.ISipService; public class AccountSelectionAdapter extends BaseAdapter { diff --git a/src/com/savoirfairelinux/sflphone/adapters/ContactPictureLoader.java b/src/com/savoirfairelinux/sflphone/adapters/ContactPictureTask.java similarity index 95% rename from src/com/savoirfairelinux/sflphone/adapters/ContactPictureLoader.java rename to src/com/savoirfairelinux/sflphone/adapters/ContactPictureTask.java index 591d0c36fa961a0b40b3dfa7a7853477d04d309a..d1d5f6bb74e532aa4075beb6d7bc382b17263c87 100644 --- a/src/com/savoirfairelinux/sflphone/adapters/ContactPictureLoader.java +++ b/src/com/savoirfairelinux/sflphone/adapters/ContactPictureTask.java @@ -50,13 +50,13 @@ import android.widget.ImageView; import com.savoirfairelinux.sflphone.R; -public class ContactPictureLoader implements Runnable { +public class ContactPictureTask implements Runnable { private ImageView view; private long cid; private ContentResolver cr; - private final String TAG = ContactPictureLoader.class.getSimpleName(); +// private final String TAG = ContactPictureTask.class.getSimpleName(); - public ContactPictureLoader(Context context, ImageView element, long contact_id) { + public ContactPictureTask(Context context, ImageView element, long contact_id) { cid = contact_id; cr = context.getContentResolver(); view = element; diff --git a/src/com/savoirfairelinux/sflphone/adapters/ContactsAdapter.java b/src/com/savoirfairelinux/sflphone/adapters/ContactsAdapter.java index b27c85ff7f265620bccadb33b96aa686282bdd27..a47b20af1fa78e0b9a1c505958a13200ebb776ae 100644 --- a/src/com/savoirfairelinux/sflphone/adapters/ContactsAdapter.java +++ b/src/com/savoirfairelinux/sflphone/adapters/ContactsAdapter.java @@ -9,7 +9,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.content.Context; -import android.util.Log; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; @@ -30,7 +29,7 @@ public class ContactsAdapter extends BaseAdapter implements SectionIndexer { HashMap<String, Integer> alphaIndexer; String[] sections; - private static final String TAG = ContactsAdapter.class.getSimpleName(); +// private static final String TAG = ContactsAdapter.class.getSimpleName(); public ContactsAdapter(Context context) { super(); @@ -79,7 +78,7 @@ public class ContactsAdapter extends BaseAdapter implements SectionIndexer { ((TextView) convertView.findViewById(R.id.display_name)).setText(item.getmDisplayName()); ImageView photo_view = (ImageView) convertView.findViewById(R.id.photo); - infos_fetcher.execute(new ContactPictureLoader(mContext, photo_view, item.getId())); + infos_fetcher.execute(new ContactPictureTask(mContext, photo_view, item.getId())); return convertView; } @@ -206,14 +205,14 @@ public class ContactsAdapter extends BaseAdapter implements SectionIndexer { } private class Section { - public int startPosition; +// public int startPosition; public int number; public String header; public Section(int i, int headersCount, String str) { // Log.i(TAG, "Creating section"); - startPosition = i + headersCount; +// startPosition = i + headersCount; number = headersCount; header = str; diff --git a/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java b/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java index f58ad4f2678657495468b02b95eb84d08f8a4279..903eac62fb1a1849d1a912f79ccc3ac908c27774 100644 --- a/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java +++ b/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java @@ -1,19 +1,19 @@ package com.savoirfairelinux.sflphone.adapters; import java.util.ArrayList; +import java.util.Locale; import android.app.Fragment; import android.app.FragmentManager; import android.content.Context; -import android.os.Bundle; import android.os.RemoteException; import android.support.v13.app.FragmentStatePagerAdapter; import android.util.Log; import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.fragments.HomeFragment; import com.savoirfairelinux.sflphone.fragments.DialingFragment; import com.savoirfairelinux.sflphone.fragments.HistoryFragment; +import com.savoirfairelinux.sflphone.fragments.HomeFragment; public class SectionsPagerAdapter extends FragmentStatePagerAdapter { @@ -73,11 +73,11 @@ public class SectionsPagerAdapter extends FragmentStatePagerAdapter { public CharSequence getPageTitle(int position) { switch (position) { case 0: - return mContext.getString(R.string.title_section0).toUpperCase(); + return mContext.getString(R.string.title_section0).toUpperCase(Locale.getDefault()); case 1: - return mContext.getString(R.string.title_section1).toUpperCase(); + return mContext.getString(R.string.title_section1).toUpperCase(Locale.getDefault()); case 2: - return mContext.getString(R.string.title_section2).toUpperCase(); + return mContext.getString(R.string.title_section2).toUpperCase(Locale.getDefault()); default: Log.e(TAG, "getPageTitle: unknown tab position " + position); break; diff --git a/src/com/savoirfairelinux/sflphone/adapters/StarredContactsAdapter.java b/src/com/savoirfairelinux/sflphone/adapters/StarredContactsAdapter.java index c09dfe7bbf279a01c71d3186b57a56cfa10b607d..70ac20eec111738c442ce660446940e4a1c6e78a 100644 --- a/src/com/savoirfairelinux/sflphone/adapters/StarredContactsAdapter.java +++ b/src/com/savoirfairelinux/sflphone/adapters/StarredContactsAdapter.java @@ -52,7 +52,7 @@ public class StarredContactsAdapter extends BaseAdapter { private ArrayList<CallContact> dataset; Context mContext; - private static final String TAG = ContactsAdapter.class.getSimpleName(); +// private static final String TAG = ContactsAdapter.class.getSimpleName(); public StarredContactsAdapter(Context context) { super(); @@ -100,7 +100,7 @@ public class StarredContactsAdapter extends BaseAdapter { ((TextView) v.findViewById(R.id.display_name)).setText(item.getmDisplayName()); ImageView photo_view = (ImageView) v.findViewById(R.id.photo); - infos_fetcher.execute(new ContactPictureLoader(mContext, photo_view, item.getId())); + infos_fetcher.execute(new ContactPictureTask(mContext, photo_view, item.getId())); return v; } diff --git a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java index ded776c39927b43908ab6c95c29f7ab7f765c1ef..2a99448957cf17860aa9031f146dd3b477c33044 100644 --- a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java +++ b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java @@ -82,6 +82,7 @@ public class AccountPreferenceActivity extends PreferenceActivity { private boolean isDifferent = false; + @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/savoirfairelinux/sflphone/client/AccountWizard.java b/src/com/savoirfairelinux/sflphone/client/AccountWizard.java index 6218ab98ec10e666f844da79db8bfda18cb23e07..129a6bf9519d3a58fd35cf30ff797e775878db8e 100644 --- a/src/com/savoirfairelinux/sflphone/client/AccountWizard.java +++ b/src/com/savoirfairelinux/sflphone/client/AccountWizard.java @@ -32,16 +32,14 @@ package com.savoirfairelinux.sflphone.client; import java.util.ArrayList; +import java.util.Locale; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.ServiceConnection; import android.os.Bundle; -import android.os.IBinder; import android.support.v13.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; @@ -50,8 +48,6 @@ import android.view.MenuItem; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.fragments.AccountCreationFragment; import com.savoirfairelinux.sflphone.interfaces.AccountsInterface; -import com.savoirfairelinux.sflphone.service.ISipService; -import com.savoirfairelinux.sflphone.service.SipService; public class AccountWizard extends Activity implements AccountsInterface { static final String TAG = "AccountWizard"; @@ -59,7 +55,6 @@ public class AccountWizard extends Activity implements AccountsInterface { public static final int ACCOUNT_CREATED = Activity.RESULT_OK; ViewPager mViewPager; - private ISipService service; private SectionsPagerAdapter mSectionsPagerAdapter; @Override @@ -71,40 +66,17 @@ public class AccountWizard extends Activity implements AccountsInterface { getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); - - Intent intent = new Intent(this, SipService.class); - bindService(intent, mConnection, Context.BIND_AUTO_CREATE); + mSectionsPagerAdapter = new SectionsPagerAdapter(AccountWizard.this, getFragmentManager()); + mViewPager.setAdapter(mSectionsPagerAdapter); } /* activity finishes itself or is being killed by the system */ @Override protected void onDestroy() { - /* stop the service, if no other bound user, no need to check if it is running */ - - unbindService(mConnection); - super.onDestroy(); } - /** Defines callbacks for service binding, passed to bindService() */ - private ServiceConnection mConnection = new ServiceConnection() { - - @Override - public void onServiceConnected(ComponentName className, IBinder binder) { - service = ISipService.Stub.asInterface(binder); - - mSectionsPagerAdapter = new SectionsPagerAdapter(AccountWizard.this, getFragmentManager()); - mViewPager.setAdapter(mSectionsPagerAdapter); - - } - - @Override - public void onServiceDisconnected(ComponentName arg0) { - - } - }; - @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { @@ -178,7 +150,7 @@ public class AccountWizard extends Activity implements AccountsInterface { public CharSequence getPageTitle(int position) { switch (position) { case 0: - return mContext.getString(R.string.title_section0).toUpperCase(); + return mContext.getString(R.string.title_section0).toUpperCase(Locale.getDefault()); default: Log.e(TAG, "getPageTitle: unknown tab position " + position); break; diff --git a/src/com/savoirfairelinux/sflphone/client/CallActivity.java b/src/com/savoirfairelinux/sflphone/client/CallActivity.java index d66fecd9e2a0bf7832fb60fd8191619d0206ab03..d92b53f54ca9d7971869b6c22ace97f1b12eda2b 100644 --- a/src/com/savoirfairelinux/sflphone/client/CallActivity.java +++ b/src/com/savoirfairelinux/sflphone/client/CallActivity.java @@ -33,7 +33,6 @@ package com.savoirfairelinux.sflphone.client; -import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; @@ -264,6 +263,7 @@ public class CallActivity extends Activity implements CallInterface, CallFragmen } + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast public void processCallStateChangedSignal(String callID, String newState) { /* * Bundle bundle = intent.getBundleExtra("com.savoirfairelinux.sflphone.service.newstate"); String callID = bundle.getString("CallID"); String @@ -285,8 +285,8 @@ public class CallActivity extends Activity implements CallInterface, CallFragmen } if (callMap.size() > 0) { - ArrayList<SipCall> calls = new ArrayList<SipCall>(callMap.values()); - HashMap<String, String> details = (HashMap<String, String>) service.getCallDetails(calls.get(0).getCallId()); +// ArrayList<SipCall> calls = new ArrayList<SipCall>(callMap.values()); +// HashMap<String, String> details = (HashMap<String, String>) service.getCallDetails(calls.get(0).getCallId()); } } catch (RemoteException e) { @@ -317,6 +317,7 @@ public class CallActivity extends Activity implements CallInterface, CallFragmen if (mCurrentCallFragment == null || mCurrentCallFragment.getBubbleView() == null) { return; } + mHandler.removeCallbacks(mUpdateTimeTask); mCurrentCallFragment.getBubbleView().stopThread(); mCurrentCallFragment = new CallFragment(); Bundle b = new Bundle(); @@ -492,6 +493,7 @@ public class CallActivity extends Activity implements CallInterface, CallFragmen @Override public void replaceCurrentCallDisplayed() { + mHandler.removeCallbacks(mUpdateTimeTask); mCurrentCallFragment.getBubbleView().stopThread(); getFragmentManager().beginTransaction().remove(mCurrentCallFragment).commit(); mCurrentCallFragment = null; diff --git a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java index 53a6c6e7fa6d8ec0eab9881e30325df6ad39ef00..43c450efb58e4629c856c2a821551388e1ef65e3 100644 --- a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java +++ b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java @@ -200,13 +200,6 @@ public class SFLPhoneHomeActivity extends Activity implements DialingFragment.Ca // mTabHost = (TabHost) findViewById(android.R.id.tabhost); mDrawerLayout.setDrawerListener(mDrawerToggle); - mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { - @Override - public void onPageSelected(int position) { - // mTabHost.setCurrentTab(position); - } - }); - } @Override diff --git a/src/com/savoirfairelinux/sflphone/client/SFLPhonePreferenceActivity.java b/src/com/savoirfairelinux/sflphone/client/SFLPhonePreferenceActivity.java index f657702adfe593bbca51efb3b6073d23eb6c58b4..86f21fc4c4467db297f4eef9c691bc468bb5ce02 100644 --- a/src/com/savoirfairelinux/sflphone/client/SFLPhonePreferenceActivity.java +++ b/src/com/savoirfairelinux/sflphone/client/SFLPhonePreferenceActivity.java @@ -31,6 +31,8 @@ package com.savoirfairelinux.sflphone.client; +import java.util.Locale; + import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; @@ -49,7 +51,6 @@ import android.view.MenuItem; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.fragments.AccountManagementFragment; -import com.savoirfairelinux.sflphone.fragments.AudioManagementFragment; import com.savoirfairelinux.sflphone.service.ISipService; import com.savoirfairelinux.sflphone.service.SipService; @@ -198,7 +199,7 @@ public class SFLPhonePreferenceActivity extends Activity implements ActionBar.Ta public CharSequence getPageTitle(int position) { switch (position) { case 0: - return getString(R.string.preference_section1).toUpperCase(); + return getString(R.string.preference_section1).toUpperCase(Locale.getDefault()); // case 1: // return getString(R.string.preference_section2).toUpperCase(); default: diff --git a/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java b/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java index b48844c13ac09138bdfb33dfee02c81eb42bcaee..9faabd0b0e26f4aed187f7cd9af4b67db76a4e40 100644 --- a/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java +++ b/src/com/savoirfairelinux/sflphone/client/ZoomOutPageTransformer.java @@ -5,11 +5,11 @@ import android.view.View; public class ZoomOutPageTransformer implements ViewPager.PageTransformer { private static final float MIN_ALPHA = .6f; - private final float scalingStart; +// private final float scalingStart; public ZoomOutPageTransformer(float scalingStart) { super(); - this.scalingStart = 1 - scalingStart; +// this.scalingStart = 1 - scalingStart; } @Override diff --git a/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java b/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java index af758effa32073593dc7112c4a0871e8f877afc8..5103e4bd93db34962cb6fa68e98d256b655c4630 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java @@ -3,10 +3,7 @@ package com.savoirfairelinux.sflphone.fragments; import java.util.HashMap; import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; import android.app.Fragment; -import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; diff --git a/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java b/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java index cf96191b7c1ab63490a380709efe9088aa7df82e..c3c692abf1bfc6f3135ffb872086fe1222013f5c 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java @@ -136,6 +136,7 @@ public class AccountManagementFragment extends PreferenceFragment { Log.i(TAG, "onDestroy"); } + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { @@ -295,6 +296,7 @@ public class AccountManagementFragment extends PreferenceFragment { startActivityForResult(intent, ACCOUNT_EDIT_REQUEST); } + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast private ArrayList<String> getAccountList() { ArrayList<String> accountList = null; try { @@ -309,6 +311,7 @@ public class AccountManagementFragment extends PreferenceFragment { return accountList; } + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast private HashMap<String, String> getAccountDetails(String accountID) { HashMap<String, String> accountDetails = null; try { diff --git a/src/com/savoirfairelinux/sflphone/fragments/AudioManagementFragment.java b/src/com/savoirfairelinux/sflphone/fragments/AudioManagementFragment.java index 022cf2ea5e6ab0429dac18de3b1bac56b1c6a5bc..32b7db45fa87c55e897ec6570b6b3a4915517f7e 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/AudioManagementFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/AudioManagementFragment.java @@ -35,15 +35,13 @@ package com.savoirfairelinux.sflphone.fragments; import android.app.Activity; import android.content.Context; import android.content.res.TypedArray; -import android.graphics.Typeface; +import android.os.Bundle; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceCategory; import android.preference.PreferenceFragment; import android.preference.PreferenceScreen; -import android.os.Bundle; -import android.util.Log; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; @@ -219,10 +217,6 @@ public class AudioManagementFragment extends PreferenceFragment seekbar.setMax( max ); } - private SeekBar getSeekBar () { - return seekbar; - } - @Override protected Object onGetDefaultValue (TypedArray a, int index) { return a.getInt( index, progress ); @@ -253,7 +247,7 @@ public class AudioManagementFragment extends PreferenceFragment else { setProgress( seekBar.getProgress() ); - OnPreferenceChangeListener listener = getOnPreferenceChangeListener(); +// OnPreferenceChangeListener listener = getOnPreferenceChangeListener(); //if (listener instanceof AbstractSeekBarListener) //// setSummary( ((AbstractSeekBarListener)listener).toSummary( seekBar.getProgress() ) ); } diff --git a/src/com/savoirfairelinux/sflphone/fragments/CallListFragment.java b/src/com/savoirfairelinux/sflphone/fragments/CallListFragment.java index 5d011db6611ec0da143f6f617d2cdd6838b7fc55..1c3f2031a0116fd85f64cac35e6826c3c5808be9 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/CallListFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/CallListFragment.java @@ -39,7 +39,6 @@ import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; -import android.app.FragmentManager; import android.content.ClipData; import android.content.ClipData.Item; import android.content.Context; @@ -206,6 +205,7 @@ public class CallListFragment extends Fragment { OnDragListener dragListener = new OnDragListener() { + @SuppressWarnings("deprecation") // deprecated in API 16.... @Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { @@ -292,9 +292,9 @@ public class CallListFragment extends Fragment { } }; + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast public void update() { try { - Log.w(TAG, "Updating"); HashMap<String, SipCall> list = (HashMap<String, SipCall>) mCallbacks.getService().getCallList(); // Toast.makeText(getActivity(), "Calls: " + list.size(), Toast.LENGTH_SHORT).show(); @@ -304,7 +304,6 @@ public class CallListFragment extends Fragment { ArrayList<SipCall> simple_calls = new ArrayList<SipCall>(list.values()); for (SipCall call : simple_calls) { - Log.w(TAG, "SimpleCall:" + call.getCallId()); Conference confOne = new Conference("-1"); confOne.getParticipants().add(call); conferences.add(confOne); diff --git a/src/com/savoirfairelinux/sflphone/fragments/ConferenceDFragment.java b/src/com/savoirfairelinux/sflphone/fragments/ConferenceDFragment.java index 0316d3379c62ca06d96bc1e350e1e7ba90e2a9f3..6f4cabda70816c3996bee2d05b2a68fdd15efd66 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/ConferenceDFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/ConferenceDFragment.java @@ -24,9 +24,7 @@ import android.widget.TextView; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.loaders.ContactsLoader; -import com.savoirfairelinux.sflphone.model.CallContact; import com.savoirfairelinux.sflphone.model.Conference; -import com.savoirfairelinux.sflphone.model.SipCall; public class ConferenceDFragment extends DialogFragment implements LoaderManager.LoaderCallbacks<Bundle> { @@ -105,7 +103,7 @@ public class ConferenceDFragment extends DialogFragment implements LoaderManager @Override public void onLoadFinished(Loader<Bundle> loader, Bundle data) { - ArrayList<CallContact> tmp = data.getParcelableArrayList("Contacts"); +// ArrayList<CallContact> tmp = data.getParcelableArrayList("Contacts"); } diff --git a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java index da42955014197cfd06e48ca37862842f401674b4..b9d38a6e2ceef6a2f96b0119b152631612bc536a 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java @@ -31,38 +31,32 @@ package com.savoirfairelinux.sflphone.fragments; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; import android.app.Activity; import android.app.Fragment; import android.content.Context; -import android.os.Build; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; +import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.ImageButton; -import android.widget.Toast; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.service.ISipService; import com.savoirfairelinux.sflphone.views.ClearableEditText; -public class DialingFragment extends Fragment { +public class DialingFragment extends Fragment implements OnTouchListener { private static final String TAG = DialingFragment.class.getSimpleName(); - public static final String ARG_SECTION_NUMBER = "section_number"; ClearableEditText textField; - // private AccountSelectionSpinner mAccountSelectionSpinner; - - // AccountSelectionAdapter mAdapter; private Callbacks mCallbacks = sDummyCallbacks; - // private Spinner spinnerAccounts; /** * A dummy implementation of the {@link Callbacks} interface that does nothing. Used only when this fragment is not attached to an activity. @@ -110,8 +104,9 @@ public class DialingFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { + Log.i(TAG,"Create History Fragment"); super.onCreate(savedInstanceState); - // mAdapter = new HistoryAdapter(getActivity(),new ArrayList<HashMap<String, String>>()); + } @Override @@ -132,6 +127,8 @@ public class DialingFragment extends Fragment { } }); + inflatedView.setOnTouchListener(this); + ((Button) inflatedView.findViewById(R.id.alphabetic_keyboard)).setOnClickListener(new OnClickListener() { @Override @@ -146,16 +143,14 @@ public class DialingFragment extends Fragment { @Override public void onClick(View v) { - textField.setInputType(EditorInfo.TYPE_CLASS_NUMBER); + textField.setInputType(EditorInfo.TYPE_CLASS_PHONE); InputMethodManager lManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); lManager.showSoftInput(textField.getEdit_text(), 0); } }); - return inflatedView; } - @Override public void onResume() { super.onResume(); @@ -164,7 +159,15 @@ public class DialingFragment extends Fragment { @Override public void onStart() { super.onStart(); + } + @Override + public boolean onTouch(View v, MotionEvent event) { + InputMethodManager lManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); + lManager.showSoftInput(textField.getEdit_text(), 0); + textField.setError(null); + lManager.hideSoftInputFromWindow(textField.getWindowToken(), 0); + return false; } } diff --git a/src/com/savoirfairelinux/sflphone/fragments/HistoryFragment.java b/src/com/savoirfairelinux/sflphone/fragments/HistoryFragment.java index 766e0672330d85b1532c8b4cde2bb7b4a96dd7d7..480b122999e37d3a2b812b238e60679c60a7a847 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/HistoryFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/HistoryFragment.java @@ -56,7 +56,7 @@ import android.widget.ListView; import android.widget.TextView; import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.adapters.ContactPictureLoader; +import com.savoirfairelinux.sflphone.adapters.ContactPictureTask; import com.savoirfairelinux.sflphone.loaders.HistoryLoader; import com.savoirfairelinux.sflphone.loaders.LoaderConstants; import com.savoirfairelinux.sflphone.model.HistoryEntry; @@ -65,7 +65,6 @@ import com.savoirfairelinux.sflphone.service.ISipService; public class HistoryFragment extends ListFragment implements LoaderCallbacks<ArrayList<HistoryEntry>> { private static final String TAG = HistoryFragment.class.getSimpleName(); - public static final String ARG_SECTION_NUMBER = "section_number"; HistoryAdapter mAdapter; private Callbacks mCallbacks = sDummyCallbacks; @@ -217,7 +216,7 @@ public class HistoryFragment extends ListFragment implements LoaderCallbacks<Arr // SipCall call = (SipCall) mCallList.values().toArray()[position]; entryView.displayName.setText(dataset.get(pos).getContact().getmDisplayName()); - infos_fetcher.execute(new ContactPictureLoader(mContext.getActivity(), entryView.photo, dataset.get(pos).getContact().getId())); + infos_fetcher.execute(new ContactPictureTask(mContext.getActivity(), entryView.photo, dataset.get(pos).getContact().getId())); entryView.missed.setText("Missed:" + dataset.get(pos).getMissed_sum()); entryView.incoming.setText("In:" + dataset.get(pos).getIncoming_sum()); diff --git a/src/com/savoirfairelinux/sflphone/fragments/HomeFragment.java b/src/com/savoirfairelinux/sflphone/fragments/HomeFragment.java index 33228ae0e0246b8b8e5741097bd63657cacfcecd..cb6cb0b292ed2d6336f65a917b055d2f0499d3ed 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/HomeFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/HomeFragment.java @@ -30,14 +30,10 @@ */ package com.savoirfairelinux.sflphone.fragments; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; -import java.util.Locale; import java.util.Observable; import java.util.Observer; -import java.util.TimeZone; import android.app.Activity; import android.app.Fragment; @@ -46,7 +42,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.RemoteException; import android.os.SystemClock; -import android.text.format.DateFormat; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -69,7 +64,6 @@ public class HomeFragment extends Fragment { private static final String TAG = HomeFragment.class.getSimpleName(); private Callbacks mCallbacks = sDummyCallbacks; - // Button access_calls; TextView nb_calls, nb_confs; CallListAdapter confs_adapter; CallTimer timer; @@ -149,6 +143,7 @@ public class HomeFragment extends Fragment { } + @SuppressWarnings("unchecked") // No proper solution with HashMap runtime cast public void updateLists() throws RemoteException { HashMap<String, SipCall> calls = (HashMap<String, SipCall>) mCallbacks.getService().getCallList(); HashMap<String, Conference> confs = (HashMap<String, Conference>) mCallbacks.getService().getConferenceList(); diff --git a/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java b/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java index 7339a91373493e1a48b593d1e4347431c9b5e040..14bee67b4479f97b814c502c710dd668894605ec 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java @@ -51,7 +51,6 @@ import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.RadioButton; import android.widget.Spinner; -import android.widget.Toast; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.adapters.AccountSelectionAdapter; diff --git a/src/com/savoirfairelinux/sflphone/fragments/TransferDFragment.java b/src/com/savoirfairelinux/sflphone/fragments/TransferDFragment.java index c77949a4bb5780ac6e5bb965003601f2dee79b8b..a90fe22a92117de4ee0803898af59dccadca94a1 100644 --- a/src/com/savoirfairelinux/sflphone/fragments/TransferDFragment.java +++ b/src/com/savoirfairelinux/sflphone/fragments/TransferDFragment.java @@ -36,7 +36,6 @@ import android.widget.Toast; import com.savoirfairelinux.sflphone.R; import com.savoirfairelinux.sflphone.loaders.ContactsLoader; -import com.savoirfairelinux.sflphone.model.CallContact; import com.savoirfairelinux.sflphone.model.Conference; import com.savoirfairelinux.sflphone.model.SipCall; @@ -151,7 +150,7 @@ public class TransferDFragment extends DialogFragment implements LoaderManager.L @Override public void onLoadFinished(Loader<Bundle> loader, Bundle data) { - ArrayList<CallContact> tmp = data.getParcelableArrayList("Contacts"); +// ArrayList<CallContact> tmp = data.getParcelableArrayList("Contacts"); } @@ -165,7 +164,7 @@ public class TransferDFragment extends DialogFragment implements LoaderManager.L private LayoutInflater mInflater; private Geocoder mGeocoder; - private StringBuilder mSb = new StringBuilder(); +// private StringBuilder mSb = new StringBuilder(); public AutoCompleteAdapter(final Context context) { super(context, -1); diff --git a/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java b/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java index 375a039b88bc3e0d8e929dcec86542ce29dab277..40af292798241ec386d24869e3fdef2539982b18 100644 --- a/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java +++ b/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java @@ -22,6 +22,7 @@ public class AccountsLoader extends AsyncTaskLoader<ArrayList<Account>> { service = ref; } + @SuppressWarnings("unchecked") // Hashmap runtime cast @Override public ArrayList<Account> loadInBackground() { diff --git a/src/com/savoirfairelinux/sflphone/loaders/HistoryLoader.java b/src/com/savoirfairelinux/sflphone/loaders/HistoryLoader.java index 719dcde8a0fdb1537693bf2bd046ea5ff6bd876c..f0b48d1ed2e19554bce731e25d5f622d9ed292c6 100644 --- a/src/com/savoirfairelinux/sflphone/loaders/HistoryLoader.java +++ b/src/com/savoirfairelinux/sflphone/loaders/HistoryLoader.java @@ -34,6 +34,7 @@ public class HistoryLoader extends AsyncTaskLoader<ArrayList<HistoryEntry>> { service = isip; } + @SuppressWarnings("unchecked") // Hashmap runtime cast @Override public ArrayList<HistoryEntry> loadInBackground() { diff --git a/src/com/savoirfairelinux/sflphone/model/Account.java b/src/com/savoirfairelinux/sflphone/model/Account.java index 0ed30fa31e745316b8855321c610f87d8e84999f..2f76d29ee14fdc5353f60a97143999022724e500 100644 --- a/src/com/savoirfairelinux/sflphone/model/Account.java +++ b/src/com/savoirfairelinux/sflphone/model/Account.java @@ -40,7 +40,6 @@ import com.savoirfairelinux.sflphone.account.AccountDetailAdvanced; import com.savoirfairelinux.sflphone.account.AccountDetailBasic; import com.savoirfairelinux.sflphone.account.AccountDetailSrtp; import com.savoirfairelinux.sflphone.account.AccountDetailTls; -import com.savoirfairelinux.sflphone.service.ServiceConstants; public class Account implements Parcelable { diff --git a/src/com/savoirfairelinux/sflphone/model/Bubble.java b/src/com/savoirfairelinux/sflphone/model/Bubble.java index db6133712b457682f43442dbb8e1f4c07ccecb53..f71a385d308645a7212b0b6b58230d4de9fd5d51 100644 --- a/src/com/savoirfairelinux/sflphone/model/Bubble.java +++ b/src/com/savoirfairelinux/sflphone/model/Bubble.java @@ -13,7 +13,7 @@ import android.graphics.RectF; import android.util.Log; import com.savoirfairelinux.sflphone.R; -import com.savoirfairelinux.sflphone.adapters.ContactPictureLoader; +import com.savoirfairelinux.sflphone.adapters.ContactPictureTask; public class Bubble { @@ -45,7 +45,7 @@ public class Bubble { Bitmap photo = null; if (call.getContact().getPhoto_id() > 0) { - photo = ContactPictureLoader.loadContactPhoto(context.getContentResolver(), call.getContact().getId()); + photo = ContactPictureTask.loadContactPhoto(context.getContentResolver(), call.getContact().getId()); } else { photo = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_contact_picture); } diff --git a/src/com/savoirfairelinux/sflphone/model/BubbleModel.java b/src/com/savoirfairelinux/sflphone/model/BubbleModel.java index 2032e6e05c7a0dd97b45b08dffbbf4ca83c695e0..b02b84fb858d1d48ccea9811ae46cd5ea5168168 100644 --- a/src/com/savoirfairelinux/sflphone/model/BubbleModel.java +++ b/src/com/savoirfairelinux/sflphone/model/BubbleModel.java @@ -36,6 +36,7 @@ public class BubbleModel private float density = 1.f; public BubbleModel(float screen_density) { + Log.d(TAG, "Creating BubbleModel"); this.density = screen_density; attractor_dist_suck = ATTRACTOR_DIST_SUCK*density; bubble_max_speed = BUBBLE_MAX_SPEED*density; diff --git a/src/com/savoirfairelinux/sflphone/model/CallContact.java b/src/com/savoirfairelinux/sflphone/model/CallContact.java index bc720a015819741a4f9041bd7b5a1fc2416e1a0b..6f7b834491bc0e4c17eb1251362a1b89c2fd9ae1 100644 --- a/src/com/savoirfairelinux/sflphone/model/CallContact.java +++ b/src/com/savoirfairelinux/sflphone/model/CallContact.java @@ -211,7 +211,7 @@ public class CallContact implements Parcelable { isUser = in.readByte() == 1 ? true : false; } - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + public static final Parcelable.Creator<CallContact> CREATOR = new Parcelable.Creator<CallContact>() { @Override public CallContact createFromParcel(Parcel in) { return new CallContact(in); diff --git a/src/com/savoirfairelinux/sflphone/model/Conference.java b/src/com/savoirfairelinux/sflphone/model/Conference.java index c242b4d7bc1edb5316a669aa12460ab9011f2a45..ef0a2c833837bbfef748245298d14cdf54c7f70c 100644 --- a/src/com/savoirfairelinux/sflphone/model/Conference.java +++ b/src/com/savoirfairelinux/sflphone/model/Conference.java @@ -1,9 +1,6 @@ package com.savoirfairelinux.sflphone.model; import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; import android.os.Parcel; import android.os.Parcelable; diff --git a/src/com/savoirfairelinux/sflphone/receivers/IncomingReceiver.java b/src/com/savoirfairelinux/sflphone/receivers/IncomingReceiver.java index 64769b884886c5525d8d78fd9a538d6c30e6792d..60b91f3b1484adda1eb71dd68bf96f98bc110e0d 100644 --- a/src/com/savoirfairelinux/sflphone/receivers/IncomingReceiver.java +++ b/src/com/savoirfairelinux/sflphone/receivers/IncomingReceiver.java @@ -12,16 +12,14 @@ import android.os.Bundle; import android.os.RemoteException; import android.util.Log; -import com.savoirfairelinux.sflphone.account.CallDetailsHandler; import com.savoirfairelinux.sflphone.model.CallContact; import com.savoirfairelinux.sflphone.model.Conference; import com.savoirfairelinux.sflphone.model.SipCall; import com.savoirfairelinux.sflphone.service.CallManagerCallBack; import com.savoirfairelinux.sflphone.service.ConfigurationManagerCallback; -import com.savoirfairelinux.sflphone.service.ServiceConstants; import com.savoirfairelinux.sflphone.service.ISipService.Stub; +import com.savoirfairelinux.sflphone.service.ServiceConstants; import com.savoirfairelinux.sflphone.service.SipService; -import com.savoirfairelinux.sflphone.service.StringMap; public class IncomingReceiver extends BroadcastReceiver { @@ -35,6 +33,7 @@ public class IncomingReceiver extends BroadcastReceiver { mBinder = bind; } + @SuppressWarnings("unchecked") // Hashmap runtime cast @Override public void onReceive(Context context, Intent intent) { diff --git a/src/com/savoirfairelinux/sflphone/service/ConfigurationManagerCallback.java b/src/com/savoirfairelinux/sflphone/service/ConfigurationManagerCallback.java index 48e1440b1cba613831870816b5a9ce6371ddb85c..4b96ae146046389aea6012267b88302c82cdb523 100644 --- a/src/com/savoirfairelinux/sflphone/service/ConfigurationManagerCallback.java +++ b/src/com/savoirfairelinux/sflphone/service/ConfigurationManagerCallback.java @@ -25,10 +25,9 @@ package com.savoirfairelinux.sflphone.service; import android.content.Context; import android.content.Intent; import android.support.v4.content.LocalBroadcastManager; -import android.util.Log; public class ConfigurationManagerCallback extends ConfigurationCallback { - private static final String TAG = "ConfigurationManagerCallback"; +// private static final String TAG = "ConfigurationManagerCallback"; private Context mContext; static public final String SIGNAL_NAME = "signal-name"; diff --git a/src/com/savoirfairelinux/sflphone/service/SipService.java b/src/com/savoirfairelinux/sflphone/service/SipService.java index fb78acb233b27a5482ffc136df500d189d8f7b00..217568d0e3fea02d34da3ec6b7e014322416607d 100644 --- a/src/com/savoirfairelinux/sflphone/service/SipService.java +++ b/src/com/savoirfairelinux/sflphone/service/SipService.java @@ -536,6 +536,7 @@ public class SipService extends Service { return nativemap; } + @SuppressWarnings("unchecked") // Hashmap runtime cast @Override public void setAccountDetails(final String accountId, final Map map) { HashMap<String, String> nativemap = (HashMap<String, String>) map; @@ -584,6 +585,7 @@ public class SipService extends Service { return nativemap; } + @SuppressWarnings("unchecked") // Hashmap runtime cast @Override public String addAccount(Map map) { class AddAccount extends SipRunnableWithReturn { diff --git a/src/com/savoirfairelinux/sflphone/views/CustomSlidingDrawer.java b/src/com/savoirfairelinux/sflphone/views/CustomSlidingDrawer.java index 78c1e9c19e807e8c03a871431d009c4905ad85f2..8a21b7ce0d8d3b0896f8c242cf19bbe8b8cb96c8 100644 --- a/src/com/savoirfairelinux/sflphone/views/CustomSlidingDrawer.java +++ b/src/com/savoirfairelinux/sflphone/views/CustomSlidingDrawer.java @@ -1,5 +1,7 @@ package com.savoirfairelinux.sflphone.views; +import java.lang.ref.WeakReference; + import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; @@ -10,7 +12,6 @@ import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.util.AttributeSet; -import android.util.Log; import android.util.TypedValue; import android.view.MotionEvent; import android.view.SoundEffectConstants; @@ -80,7 +81,7 @@ public class CustomSlidingDrawer extends ViewGroup { private static final int EXPANDED_FULL_OPEN = -10001; private static final int COLLAPSED_FULL_CLOSED = -10002; - private static final String TAG = CustomSlidingDrawer.class.getSimpleName(); +// private static final String TAG = CustomSlidingDrawer.class.getSimpleName(); private final int mHandleId; private final int mContentId; @@ -107,7 +108,7 @@ public class CustomSlidingDrawer extends ViewGroup { private OnDrawerCloseListener mOnDrawerCloseListener; private OnDrawerScrollListener mOnDrawerScrollListener; - private final Handler mHandler = new SlidingHandler(); + private SlidingHandler mHandler; private float mAnimatedAcceleration; private float mAnimatedVelocity; private float mAnimationPosition; @@ -186,7 +187,9 @@ public class CustomSlidingDrawer extends ViewGroup { public CustomSlidingDrawer(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomSlidingDrawer, defStyle, 0); - + + mHandler = new SlidingHandler(this); + int orientation = a.getInt(R.styleable.CustomSlidingDrawer_orientation, ORIENTATION_VERTICAL); mVertical = orientation == ORIENTATION_VERTICAL; mBottomOffset = (int) a.getDimension(R.styleable.CustomSlidingDrawer_bottomOffset, 0.0f); @@ -966,11 +969,19 @@ public class CustomSlidingDrawer extends ViewGroup { this.mTrackHandle = mTrackHandle; } - private class SlidingHandler extends Handler { + private static class SlidingHandler extends Handler { + + WeakReference<CustomSlidingDrawer> ref; + + public SlidingHandler(CustomSlidingDrawer r){ + ref = new WeakReference<CustomSlidingDrawer>(r); + } + public void handleMessage(Message m) { switch (m.what) { case MSG_ANIMATE: - doAnimation(); + if(ref.get() != null) + ref.get().doAnimation(); break; } } diff --git a/src/com/savoirfairelinux/sflphone/views/TACGridView.java b/src/com/savoirfairelinux/sflphone/views/TACGridView.java index 52987040e957256eca3beef0ce632f430abfd91d..85a1e3afd1be0a49c6d2d7eb54bd645cc4f9f217 100644 --- a/src/com/savoirfairelinux/sflphone/views/TACGridView.java +++ b/src/com/savoirfairelinux/sflphone/views/TACGridView.java @@ -2,7 +2,6 @@ package com.savoirfairelinux.sflphone.views; import android.content.Context; import android.util.AttributeSet; -import android.view.View.MeasureSpec; import android.widget.GridView;