#14917: example JNI functions with callback
#14650: change android configdir
#14741: function to get env variable
#14399: add debug in SIP
#14881: Playback fully implemented, fixed buffer size, add dump to disk
#14881: Fix audio thread for OpenSL
#14881: Add index increment
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
#14881: Put buffers in OpenSL playback queue only if filled
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
#14371: Update settings for playback buffers
#14371: Remove update OpenSL mixer settings
Merge branch 'master' of git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone into android
diff --git a/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java b/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
index fe9f178..901fe97 100644
--- a/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
+++ b/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
@@ -1,54 +1,48 @@
 package com.savoirfairelinux.sflphone.client;
 
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
+import android.os.Handler;
+import android.os.Bundle;
+import android.os.Message;
 import android.util.Log;
 
 public class ManagerImpl {
 	
 	private static final String TAG = "ManagerImpl";
 	private static String sipLogLevel;
+	static Handler h; 
+	
+	public ManagerImpl () {}
+	
+	public ManagerImpl(Handler h) {
+		this.h = h;
+	}
+	
+	public static void callBack(String s) {
+		Bundle b = new Bundle();
+		Log.i(TAG, "callBack: " + s);
+		b.putString("callback_string", s);
+		Message m = Message.obtain();
+		m.setData(b);
+		m.setTarget(h);
+		m.sendToTarget();
+	}
 
 	public static boolean outgoingCallJ(String account_id) {
 		Log.i(TAG, "account_id:" + account_id);
 		return true;
 	}
-	
-	/* native implementation */
-	static {
-		System.setProperty("SIPLOGLEVEL", "4");
-		sipLogLevel = System.getProperty("SIPLOGLEVEL");
-		Log.i(TAG, "SIPLOGLEVEL: " + sipLogLevel);
-
-		// FIXME
-		System.loadLibrary("gnustl_shared");
-		System.loadLibrary("expat");
-		System.loadLibrary("yaml");
-		System.loadLibrary("ccgnu2");
-		System.loadLibrary("crypto");
-		System.loadLibrary("ssl");
-		System.loadLibrary("ccrtp1");
-		System.loadLibrary("dbus");
-		System.loadLibrary("dbus-c++-1");
-		System.loadLibrary("samplerate");
-		System.loadLibrary("codec_ulaw");
-		System.loadLibrary("codec_alaw");
-		System.loadLibrary("speexresampler");
-		System.loadLibrary("sflphone");
-	}
 
 	public String getSipLogLevel() {
 		return sipLogLevel;
 	}
 
-	//public static native JNI_OnLoad(JavaVM* vm, void* reserved);
-
+	public static native void callVoid();
+	public static native Data getNewData(int i, String s);
+	public static native String getDataString(Data d);
+	public static native String getDataString2();
+	
 	public static native void setSipLogLevel(String level);
-
     public static native String getJniString();
-	
 	public static native boolean outgoingCallN(String account_id);
-	
 	public static native void initN(String config_file);
 }